{"_id":"@vuedx/analyze","_rev":"83-3f16257204756a5aacd7f8723f33704b","name":"@vuedx/analyze","dist-tags":{"pnpm-temp":"0.2.3","latest":"0.7.4","insiders":"0.7.5-insiders-1623402835.0"},"versions":{"0.1.4":{"name":"@vuedx/analyze","version":"0.1.4","description":"Extracts public API information from Vue component.","main":"dist/analyze.js","module":"dist/analyze.esm.js","bin":{"analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/parser":"^7.10.5","@babel/traverse":"^7.11.0","@babel/types":"^7.10.5","@vue/compiler-core":"^3.0.0-rc.5","@vue/compiler-sfc":"^3.0.0-rc.5"},"devDependencies":{"typescript":"^3.9.7"},"_id":"@vuedx/analyze@0.1.4","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-05ruFe4aCzBgNJ/2pyiLLNg6QkB1qwK5qNnnJ8a/h8lfNrYlfPu/OjV52kfvFMT8HIywJJm8B+j/XVJkWLsZ2w==","shasum":"6f9626f1bf7365ce264ce18399051704b29cae81","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.1.4.tgz","fileCount":8,"unpackedSize":68232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKA+OCRA9TVsSAnZWagAAtfsP/jnw5qIHobw7IpUcbfa+\n5Gs/tauxFCTVx21Ln+0/ZJXngGZz5cZFCHDjD531l2h6lJB43VDojNefL0Ak\nz7R6i66OOUmJkIOQDVnnqV4lSczF2YG1RiQEaqqML/BggCv0Y0v9/Sl228+G\nvgyuw10y03HwlRYLyu8MnJOuweAAsyqKhtYtD4jTblEKYGIMCArBEbxTLZJg\nFJDfzetkyM8Mad2Ecyd/9wHoMooY9uVdyA69UPu/0IOKcfSyENZB/Y8ieLHQ\n6rme4ZVVLSuNvGNSa2ajHHPdc7CGb3gUj9rLVfev3wc1xMfJaLgC9cNaEy5Y\nm7y60MggjFnTXxNmXQMD9AOT/TBH57YmcYLg6jZnFzKjN9dCHSH8GSuBOXWb\nXKsnpONgUmeWS5NXZ5PhUBHzHIphWdYX1QtPrTyW9Vgkk7WALimgG1g1Agmh\n6n6C/hvSXFy0JqpCqEvHiokcs5+UNP2/Uo6LDhIbNfnE6PPWm5PjQ8FGdDFb\n0UP4Uu7sIm3h+nQrb217+0EKZreCm7k7Dx849MHhJFPsI9VzKPUsqnla8U0e\nt++8IkJH8kqd6FqRVP3RkWHe5W5T/MmfrRpipFk/161+sjLaqh6qVwJwURmm\neLtMmJ/6sp2+oEESqwvqNcKKXiK5dPwH5zdXkM38k1WTQHE+rLxufnu8UTwh\nrr+v\r\n=llTH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpcq/Q5pmsTs75zl3+dh/H0dKBKzZtpvaEi5olfEBH7QIhANm4gIwVkuBIbzzl4noxWxwaGp1nc5y77ONfuwjdwSK6"}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.1.4_1596460941960_0.8770599992318042"},"_hasShrinkwrap":false},"0.1.5":{"name":"@vuedx/analyze","version":"0.1.5","description":"Extracts public API information from Vue component.","main":"dist/analyze.js","module":"dist/analyze.esm.js","bin":{"analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/parser":"^7.10.5","@babel/traverse":"^7.11.0","@babel/types":"^7.10.5","@vue/compiler-core":"^3.0.0-rc.5","@vue/compiler-sfc":"^3.0.0-rc.5","cli-highlight":"^2.1.4","commander":"^6.0.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0"},"devDependencies":{"typescript":"^3.9.7"},"_id":"@vuedx/analyze@0.1.5","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-hG6eqQW6cht+el1K4xtv3dXp7L68QLc5GxyoaiLp+qNsIwvZE79fZydWKUTwIxsDX4deCFQnmEZ8QLv67dIPdA==","shasum":"9760db46787ae4ed49db333d25a5b59b2eb41773","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.1.5.tgz","fileCount":8,"unpackedSize":98106,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKTHKCRA9TVsSAnZWagAAAYgQAJAoeeO02G09DtLRm2a5\n4PMlaxo+w/xGGb6ulj6pFivVY0r3k4GGeWWfphKfY2SekGlYjA8xv/N7rN5j\nka1h6OLnc7RhA1FRuk5gQu7E1MJGJQdCD45DqjdyM53Yo0wkTdQnFUxDBTfZ\ncXdDgMuykkCXY0/vwSNIm+IxIhnF7ljnWSaQQeeecSXyB/nCWA2Srhw3b45/\napkAnfpgzswBh7u779QTDAYGDZOeRkCV3YUGf3NLqX669fHj/OgVO6BKihYV\nAXdhyMF9YfM1yHIqUPyl8i6GpcGhzKqDkjAEfu18TRgq0NXmRsrEbpW/g8VD\n9oResuIbYi8510aVDmnVq7wTlLFU95M0jscL1iJMNSp8m+eWZURPZKN/PZiB\nz6gcMfNIugJMppZMFFJ0udsZRfe/HFON8VPDGWg1PwThc7LIW/pNE4nDbQe/\n5y7J3PgAtbiHTbZCuyBnw/+pFF2K+VhF1wrAmZ59Y0uab7GRg2ifvhWTdwtS\nmoagDyR8y6c6rNt+43VNQlHYJRyjnblPiZtqBjOilbCUkImMqwO/m4nk/UDa\n+cpX5AR4E3hnad1hA6ugdxn8dbhNZaJTr6QoDB1cCqeRvt2EedZfkx7eSNTN\nKdckTpb0gbiUl8hLZ8T5rtZUgMScJh1Z7kOxqCrT/nu+S3CwM1jUGj9+DHHc\nBM8M\r\n=x8SP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqhr6rapfURZNtOofRkBiqhsNW8kgcbkk8AChjEBoHYgIhAKCBdY8dwW4U+3cXtJ0lipvwr6I3VosqvldDoCQV+Lw5"}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.1.5_1596535242085_0.13885674339590492"},"_hasShrinkwrap":false},"0.2.0":{"name":"@vuedx/analyze","version":"0.2.0","description":"Extracts public API information from Vue component.","main":"dist/analyze.js","module":"dist/analyze.esm.js","bin":{"analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/parser":"^7.10.5","@babel/traverse":"^7.11.0","@babel/types":"^7.10.5","@vue/compiler-core":"^3.0.0-rc.5","@vue/compiler-sfc":"^3.0.0-rc.5","cli-highlight":"^2.1.4","commander":"^6.0.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0"},"devDependencies":{"typescript":"^3.9.7"},"_id":"@vuedx/analyze@0.2.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-zvaCyqqHM+8I1KQBJ+NFePJx0W7HuhUpKvdcwGjRLPlOPSqb38E/bfraVsySlpiKkVoiD08Gx6zeHosnkoS0rQ==","shasum":"b98ab234e079bfa3752d710d2c49b13af82904eb","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.2.0.tgz","fileCount":8,"unpackedSize":102428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLpopCRA9TVsSAnZWagAA+iUP/AsVFzSLKF3yH7pxFVeg\nVzEdLKI4yOjIVLLcKFGxC3Gxs6RhNGtssHCCbJNVw7vOxgB/UYMJjVkgd8Oy\nQmQa7qlM5rxbvZpEBROUPDixmef2jTzFYX/A/6A1OrFa0q793kxCesKji1Im\nEqDEnL4ZXE3FswnzkuHnQ58yytx1jvTY3vYiSQWcvkwBv1Pk+js3ccE30QA2\nm06LHnsUave6n95f0GBNh0f72qnyqSi6WFeVI6IqNSDo7POKkUcfc4lo12gf\nnr58Z6g8eip9Bszs+LvccbQoiAazMwPLHo6WR7XNZ9xRKcXePG8l66H3Kcxx\nsShqLqBsqWYPB1XMV78HsWnWIbEFC/277k90e28jfNiBoNPzEj+Y9mTItz7E\nSqzs1FdpOGgQDfQp4uZx9VxPdV7ks29Psees3Ch4hYsYm/IkW4HvvTkleAbt\noEGjxbXkB6daXAFnqA0xdHweBIv2T+pe2RJydCguNifNB7dIw4yKh07UaLsJ\n7chIjB1ogH2sxjeBqTnnf9ZB9iLAjpCs4Obmw7UviqQopQqoXePGGS2Kv+Yp\n2bKwcQPNesPVcK8d12HhLR9RwWO52dbPCEx6lIlN/nBmk1eg1XzcGaunGPtb\n1uMTKu5s+MZvS6yQKjV3x15CyduZeFm/vPjEAVuF3SBzCDr6r5SRDU0k/+Lg\nNPe+\r\n=vbN5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGHWM8aGyogtstFFydXql10kafmWAgT9TI1Nqxi3AQSfAiEAglEt9Me2jPeXbVdC5Okxzl14M09dxBB+aFAQB0iEyjQ="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.2.0_1596889640776_0.7188636219198257"},"_hasShrinkwrap":false},"0.2.1":{"name":"@vuedx/analyze","version":"0.2.1","description":"Extracts public API information from Vue component.","main":"dist/analyze.js","module":"dist/analyze.esm.js","bin":{"analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/parser":"^7.10.5","@babel/traverse":"^7.11.0","@babel/types":"^7.10.5","@vue/compiler-core":"^3.0.0-rc.5","@vue/compiler-sfc":"^3.0.0-rc.5","cli-highlight":"^2.1.4","commander":"^6.0.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0"},"devDependencies":{"typescript":"^3.9.7"},"_id":"@vuedx/analyze@0.2.1","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-ak8jm1MQHFEV0aUj0/drhOAtNDYQ/0uWY+d5vhkWpYQXHS2qfQ0tfySi624XMV2RLLbsr8s5S8erNH5cvYm5Yw==","shasum":"e28d6c08dae66f7b980a5209a7a8193198f4c0de","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.2.1.tgz","fileCount":8,"unpackedSize":102428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLrwVCRA9TVsSAnZWagAAwXgP/i5xpZ4S5YgNietjQ7SZ\nsD7GMg34jcPUKOJrXff74wRXBbOJbQtTYcmAO3lbHxZZ+gmyjZVtiRtrvwzG\nu2E1ypVZUaOhw6PhXnbohKvUJIsjNrXdq3GP+oqd4oi8U2YPA+4AR9J7OVO2\ndFTGdayEgd0bGKhLmyichBLN3LZ2Ll5cULifX3KZWHvZX+2rMleaOFmnJrDX\nCQjgF+q8IVgR3sJB01sEzW/rKFDNhrsdH0XfIEFgHppwwwLS1OBJkRdTdn6p\nVsCWdZr4nUgIxlkFrIumRvzskolw2ceblVdTfbayDrKKjXjHMZDXQqb58nmN\nS392aP1BfQCfrICuKkoRSryCbONPTGCt/qztqgIcCi6/7W72Kkt+UJglcTbU\nphDzzFyDamDhHGYcCKVckpiYi1s9WQJq8mdE1a7YaDitSk8JwsQQGtG5NNF2\nVsZBcqAB7+wFQcFAWXIaxtU+iobvoLptABjrYWrNWI3h+7YVsNGavxSc9yjc\nIp4D2+jiKFUf457mwX99riJnl3s/wS3SMs3YzRYhXzKW4rgwptsZagBVGkgo\nH/FEosfPCdVZGuXMsdjG6nLmQHMSNKhH1a+QfCNNz2nvYrK3Emwx0ePtxASw\nyiiVUyo9r5gML1f9421cqO/4b/ZWDkq0mNX3sG7y2eu4qVgFMAEck1JpsojG\nfcnb\r\n=aumD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAgDqLuoMLMBCwQUDisPuihOSeFP/NhRvcZc9zl8VWY6AiAJAzJuJUqyWa3H3wGWx5iz3L2ek64J0JKYGX0Hq8xsyw=="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.2.1_1596898324681_0.980669312161597"},"_hasShrinkwrap":false},"0.2.2":{"name":"@vuedx/analyze","version":"0.2.2","description":"Extracts public API information from Vue component.","main":"dist/analyze.js","module":"dist/analyze.esm.js","bin":{"analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/parser":"^7.10.5","@babel/traverse":"^7.11.0","@babel/types":"^7.10.5","@vue/compiler-core":"^3.0.0-rc.5","@vue/compiler-sfc":"^3.0.0-rc.5","cli-highlight":"^2.1.4","commander":"^6.0.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0"},"devDependencies":{"typescript":"^3.9.7"},"_id":"@vuedx/analyze@0.2.2","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-ncbhWqZWM70abAlAQPMTZ95q+3eYJ4Hd4HrbbTw+gTHIDVH4HFgOQbfj76eQ2n/BxbtGMqoGobgj0S+nRZGsog==","shasum":"851d3bf1bd03b1ed9a7bb4061db7c11986f6a835","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.2.2.tgz","fileCount":8,"unpackedSize":109046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfL1HmCRA9TVsSAnZWagAAaZAP/0e/Cy9sfY7EJ7F8wTQj\nEbQ0U7vfNekrDQJgV+kGfeQ9ut1fap2Xa4obTOC2SV8Ci1v0CsUzbu2UmjQn\n3WReqZkLs7ttnTHTzK6QgvzMSFzWC+jrK28sgL0zGWConwRGrjoZBH3olAJ8\n1kiVaSB8XU9jW7XCY5ebgRUQaNe/3ro3BoqKlzAr9x9c0H5YNUgpyqaapRf8\nm9bkpIZ2OYpt91GnjOEe55CZRp4LTlxOGUQKP+9i/Z0NCshoNZH+tXxtlT1i\nMkzf9cg0W0yZPlmNIGMuR/+nrzEqnMf69WM0FxZHFgup7MHN1+EPgGo/F1+E\ncgz2WVNFyX0t3YT4pwKhDlBy0kzbMZ94QKRAOdiWCzzXcF7vawE7mRtyKgxJ\nw9UPdTvfvH0raqvn35VRsIAvU5y84C9aiQp2PmQAoXvjKu8l+OTn7uCvN8t8\nSDJdNsXDOPaQcSTHuZB1f7OO19Bnw/ivBeK6N1cHs79mbSsID4G9DgIxzdX5\nhDW5yjk6llu0gjiL8UE7qw03HcHDlQHCdDUVlBTjcfzaPFboKKhdCLD8TUF0\nF3KrhgUrmkHccGgXoHP9atpPJXmr7Qd1tlsns3Y8XWx7eRE28ZSJkS7X9O1c\nR90fG2x/FnFcj0+ZmkucutbpIrpkcySA1a58rQifbmSRHLXy1OmaCTOHTmhO\noplu\r\n=cFok\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlPOkaOrcPaTrZ5LSGNNRppJrjaHvjTAAR9K6c3zrfaAIgYHkn9uVAwAPRPaPOHvGbKEQELWzlQoHUmoJSOiQXtLQ="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.2.2_1596936677891_0.07229935132820775"},"_hasShrinkwrap":false},"0.2.3":{"name":"@vuedx/analyze","version":"0.2.3","description":"Extracts public API information from Vue component.","main":"dist/analyze.js","module":"dist/analyze.esm.js","bin":{"analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/parser":"^7.10.5","@babel/traverse":"^7.11.0","@babel/types":"^7.10.5","@vue/compiler-core":"^3.0.0-rc.5","@vue/compiler-sfc":"^3.0.0-rc.5","cli-highlight":"^2.1.4","commander":"^6.0.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0"},"devDependencies":{"typescript":"^3.9.7"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.2.3","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-w9raivZhLD/VQpAI/TMGZTmlK6WJqOWOc3OQuy837fhciYyV32WuwjURAQuJrBqvEMxJMtiUIR3KSS61TGoEmw==","shasum":"b64ccf32072e291a8e676833dcce2b25f23cf02d","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.2.3.tgz","fileCount":8,"unpackedSize":109046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfL1bJCRA9TVsSAnZWagAAR/gP/3MXeR0+RBJR/vGXc3/R\nGkBRPVgqTSleQJDTzoGz1H6mu6HZdipnfCT+Kh4K7JBZRET63pG/fzXh1UXX\nvOkZJKKPmqVwvPm+oTuqu9J1wE0kaXoX2qtwDlJA0DCA/njp8QncGwXyTbQQ\nVBVK2LCV5LKddwVIibZfKJLJxh2w7qcSCLQi7cfcDim32qbA5ffzoBMygo7L\nP0ey2p25jvzb4mezJBNkh+bgLsvwbtLqm88/mYWSxNpIridf52g8R0qnTldH\nrzH/reNruQDBycsQDNZ4l6O1PBWnz/W/LgPcZlzT4rSaCuRDupb2Al4YYFBO\numRe2xzK+cVaNH2xyMk9W0kmwKkGg2G6PtCslObJ0MSFwgnS/dLZe1lSvPlP\nG8W4M9t13/agIw9bvxWWD+1sLt/m8RLoeRjNAZNsB3K3NcwLnkYzm1Ly3JYr\nMZBKs7xU5gJB4TyksU733yO4hTuy8F9+NnmPS85nW06cMLJvw7h3t3i8wgV6\njXzgX+xLiaADVMSe3hDT5gGnHHkpDcsDMk0yMBeoD+f6A0qBLTXGTXhhSroa\nwRmPl2jL0hLpqP8sj+q0VQOa/ua+k/tA99qE+b8NiY1bKEVUemCY4iPSnFSc\nHoHy/l/K0ytX8x/WQB1s3+F+q3EU9B8iDHGvq4h14eHPzIeqbQ/A+RR5fpCZ\nUSBv\r\n=2jgM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZQg/SfNDZbtVlWelVeIlq1HU0i8Em0r0URiVCX+w8wQIhALMtrCoHXMk/AERZR8FqO5UxPvrHJXckJU445OWNQdni"}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.2.3_1596937929601_0.5851778593466415"},"_hasShrinkwrap":false},"0.2.4-0":{"name":"@vuedx/analyze","version":"0.2.4-0","description":"Extracts public API information from Vue component.","main":"dist/analyze.js","module":"dist/analyze.esm.js","bin":{"analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/parser":"^7.10.5","@babel/traverse":"^7.11.0","@babel/types":"^7.10.5","@vue/compiler-core":"^3.0.0-rc.5","@vue/compiler-sfc":"^3.0.0-rc.5","cli-highlight":"^2.1.4","commander":"^6.0.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0"},"devDependencies":{"typescript":"^3.9.7"},"_id":"@vuedx/analyze@0.2.4-0","_nodeVersion":"14.10.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-GX5lqZPwyHLrJaL36L5qcBLBGcvTz/LiGwv1nwxuZ2HpO4rr2mH6CemA0mOKXiQ5aaqbAYqeAzMQf+i/AEViQg==","shasum":"52766a6dcd2867320409fe517540fd0bf0394d48","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.2.4-0.tgz","fileCount":8,"unpackedSize":111131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYXG3CRA9TVsSAnZWagAAAf0P/jg3u+O7woOCNuJ/zUKw\n7NMIAzZ8TVTO0tVtN37WMdrIGgmtsw6AdAlDaN/OZ8Cmw6Uiv/0IcV//Ffvb\nmyo0ZKaaPdOWnQ91wVInM6EpOer82TAE+qqxFKQWLKiZNwpStAtffxnXHJyU\nRJ4pAlVF5F48Hy1mNQgFCJLSVKnFrdcl0zbrZrGWvi1JnCZD1HxAJE1zCexQ\n23vl/r0E3lBlPH7SMLvMoGzEkcz0DK++c1Z3ZUeq1BQnK6mi2XizCk0jifbT\naBhuRo1lXJ3fjBygeZP/sfEbD1Rme734wLXWpjjQiBEsYZebHEcbc0WaZXbx\nda2QkOOdaYALDLZzGv2UJ9BVMs0/20GcDIV5s1tVrOps1fUD+4HoD88XHE30\nN3sQ2IOMWJuW9nqnC8xfLwQdcttBWynH0M6N8Ztbq4ssvreL0FHhhuUBEH95\nr006EqFo2ITP5GD3rcuOTGJ/KCfoqoLjhiS+HaeNGDlb+lau3YlL6wxmiN9e\nsbtXheaPiNnWodgBH1J4I4gIr+KNtgaKRjdiKf/ieKY1rWE+aX2+O0kuNu7Z\n38YWpTk86j0hFsX/eVSkMOA4XMFZimQ+iCMV2xvsNUlcLDLhrORfuHKFLZni\nAzXl9sVgkoTJ51xouyT9MaJ5KmsMaY8beHD7N88VPho53fjNfGnTVUItjUUl\n4dM3\r\n=Hiz1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFh+NIqG7X2nrndwapTzUmglnuxWsvL0FajW1y+RWxbiAiEAxZ+/OvBvJiIF8R0xtpFp0uXM416CC9uAwpbTSKrEyZ4="}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.2.4-0_1600221622506_0.022556430958289964"},"_hasShrinkwrap":false},"0.3.1-insiders-1604106530.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1604106530.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@vue/compiler-core":"^3.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1604106530.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0"},"devDependencies":{"@types/babel__traverse":"^7.0.15","typescript":"^4.0.3"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1604106530.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-8SCPHt1h+lAoLvchs8foxPmq3aQ8kPjV3BC16OqAgTy/t81aAIqpyAiXEuciijENOGtLvf12ifbEjc8nZXkwcA==","shasum":"20b59027b805f0957cb3b84a4591fb267b34bda4","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1604106530.0.tgz","fileCount":9,"unpackedSize":126132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnLmvCRA9TVsSAnZWagAAcCgQAKIGZbR+4beKxng7/0NY\nRKqY3XFHjVfLVd7Y7RxFEqkr+2GktQpTRIX06hLiyyyM8r5J6o5CzzF3h/Xi\nAej7DPvHfbr8ZJf3T1Ckt286hcqAVfqCdkrBJWoH2PXjWO8buCzzEOxaDiei\nqCvo7or00zWiKhheGQQ9syOs8SXhwSv/DrOhXo1jUI16uqha0ev75kEAGhxG\nSaGKnGfyWJztJa374MX0i35DNYceyuiwJr+xrnMYOScfX3/+53LDg48pgVb6\nAh4DEpDb8vWRzjsl/kR4KpcwFTo69oFMFgKQici3NT9psS0/Cpv7DrSf2HQO\nhpNUmjri7E/FbGglc+RhrGoVo+madIIm5E5TwejVCyxz/c8GKkQvD1hkhzti\nIa11vuBxLPuLdby6gI1jmZEjJBvQOf6PsnxHN3fp6oxS7lVa3O/zIJ7unuBt\npe14iCloTnTKI6HPh8QD0CmBw6TEn3aB/m6EKhO0Bpp4q+HmekPI11D5XxjR\nb0t/b/2k1ScpjPX74E426I7PKiZnigg85mnwCisQC82jU0nCjMDChO5A5pnv\nBOEjL8P8IEDCMs2MqLMK3nJz7ClW+r5S92ZbzQUSBTYu5WKwResy99Lx9JmW\n8dtcYH38wrvUyjwwDUGoSgXvn1Mr3sYbV/xy2Tq4jI80hVs+xFbfWiMHfxMd\nX9mq\r\n=3cAb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDm36vXfwYCaDmd8nw5CposCOCcxQ3g4fmIb3EO8r/qKAIhALUYKg+Z7qLxjmiZEZ4qTykyQCGeU2S/xqO2opgeTI1f"}]},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1604106530.0_1604106671315_0.0802799670364771"},"_hasShrinkwrap":false},"0.3.1-insiders-1604576237.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1604576237.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@vue/compiler-core":"^3.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1604576237.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0"},"devDependencies":{"@types/babel__traverse":"^7.0.15","typescript":"^4.0.3"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1604576237.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-rd9RhAB5yTDKBtaDJLQYoAnCYybaUmgdN6bePilDO9bUbz2stqElc83HFtkw1EA3VZ/VQ7/o9EiOdJbzZx4a7g==","shasum":"102b89f32bcee11ba55ebda2a4d0e6c99425c8ec","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1604576237.0.tgz","fileCount":9,"unpackedSize":126975,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfo+RfCRA9TVsSAnZWagAA39UQAIS+C3R2BrxZ3vDAq5Vx\neiD01wBsOMsyeJVeDwmDCThEuHmiSotPVaGXeR+lKGK18fm8SnIIE7NJmzFB\nOVAWQ9dMJB3k90Q4sjgQdrXJoZqm6kkOdQJYfl6zh1+0YNEqhF+1cmnJzsFJ\nO76YfpfIqWIkH75BbWhbzukRpachVxrS+DXOdLQhhGe28rkJYL5SW6RnlA0S\nF4vQZAYSN4j5kdUUdBKGS0C+YUg3FvD53CXLw0vECLf2d0pqSwlEg12myq6s\nNiU/+/7+ikd4vEMoZG2h30NAOnwllx0pUSwhDfaFG/2laxVXX+MRDgySz6fI\nWqazQs6YTvANwZgSaZd61pzebmj2QwIWHObqknWQ4yQ5ifn1buJ9OemaeYs8\nmUm1eUuOlnrVjzKpK2rR4xrkKlF2715WuiYR3hYOwA87+SbUWSoJ2Ij35QMs\n8YC59whTY4RzOtI9OOnnjQJqq6BPzH5YjtmOmdFFjetMvkOU2VuHraN1Uvrc\nGOYJKtqgt8h/1RYhZIM0WTasLD+aKD4AURyUf/aZuW4SrW/8iF8SFVsZgdkg\n5auEf4VEO7VKBHAVd+JpexUw3UOUH8sSTYNNijyyERye+ja+/2zRZlnyAKt7\nnoHmisfiAq26v9Cgva2VIcu6cHg4gO15zUDEvKvzxHwtVnP+UsIzkuYFc8Fr\nA+nZ\r\n=nrKW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG7JG4DsGddEl9aadW60eZLBaMvG5yZvFx5gl4h1pL8gAiEA/5oAGwLE/G/0Ig25Wlj/CcPSIyRn5QKro3fJW5S3pdE="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1604576237.0_1604576351326_0.3559163104305054"},"_hasShrinkwrap":false},"0.3.1-insiders-1604891675.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1604891675.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@vue/compiler-core":"^3.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1604891675.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0"},"devDependencies":{"@types/babel__traverse":"^7.0.15","typescript":"^4.0.3"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1604891675.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-rdxiODUoL1HJYtIFB8iAUEUSzpIG3yvCmSEkiZgmQxtAAk4qKN86vcmxSf/eoBqCwCFHXEKUfjttGETKKJzCpA==","shasum":"b1b58b956b83c98ecb5ad14ef6290346c63fb8e2","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1604891675.0.tgz","fileCount":9,"unpackedSize":126975,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqLQpCRA9TVsSAnZWagAA3UYP/RW5QJ4k+VwEpxtGKAXO\nR6h5g0qEp/JcDpRFXyXQ3eQoatlJLRIo1j3Akndb3VbW2ZOSI/ap5RB+43L7\nRRYhEHoHZ4L1USBVEExpTw3TYSDISITmdyQW7aZ/wM544kNn881NgRygwWsm\nw9lpXphfUzh19z0pNUUKOQwATC4jlloqQ+krSt08598SlUbmQal5f2PmBwxd\niD3/H1kSk+cTMPHAgJ7FxVU2dRsiarE5vW1V8BmqdedsvY+Ml+xmx2BGjwpO\naMOV6mrdRiQz42+4FM6polIq0JudUS5KVxtPxdKa1LjFY3yhMfMzLScflQnL\nYBlOB/6zyvlb4kn8hPYzlBXqRgDLZenKA6B4YTwog6XiPq+oDmFSXNKDc0AZ\ng1P3uHKo52uKiNqswEa/P462TG0LDZ71dj15ZUZKMwae16gIXCmN7XTug2Ba\n1ObqwiV8OpUUXI7ha05WbUjOzUNHuk70KgAQsmIq6iHX2lT3KcGFDSqCayXf\nVrHjvgJGMiCvoogRSyxpqv2UqbMyJA7Dfr8k7C/nfM1MZXhoAZv++5mGs07x\n8348Xw/7bHJRlVAolR3vuDd1GeHR68YlP9g78iWvX2rF8Go2V1vxvVEp521J\ntIKOe6OT19abmS15vUun1rALRTw0kWCOr0b+Yj8LKDHNjMoVAnTcuw3fmCv/\nCnaW\r\n=bL3f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLKZvUmFZA3S2jOP+3nsRDzos8kqiOAz4EqXDUVq8ypAIhAPrXKyc7McwVWZo36xflQYUyec16LcQ8FksMldw9sVlf"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1604891675.0_1604891688591_0.6402986372221253"},"_hasShrinkwrap":false},"0.3.1-insiders-1605496438.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1605496438.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@vue/compiler-core":"^3.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1605496438.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0"},"devDependencies":{"@types/babel__traverse":"^7.0.15","typescript":"^4.0.3"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1605496438.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-dfVsncLvzDd1mNT9f9R94RrxSmgUU+tSYonGtli2SiaDSMKOQbwemzPDnxxTRH1Ka+bqL6Aont1KBWAxDZ0EDg==","shasum":"251116a734f25bec1b599edab4af01bd295b936b","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1605496438.0.tgz","fileCount":9,"unpackedSize":126975,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfse6ECRA9TVsSAnZWagAANSEQAJaYSsNFLlkQ0+Ibg8ci\ne9I5iu8g6iUzKOuOOkuL0RKjQjOEvLK5OqQwQvdTnkgINNSHg0OxqRSgwkFS\nlzrSbgRQSX3i/jjyq7cxcmOJKYy7R1/QuIVFiLpC7UdBRXrZMeJ6onUPAb3k\n1jbienMOXeLlxVNalzzLSj3H9csgk8d50zM7qw+AdqRXmU/6zBC74bMWdAUP\n8YdRBlK+1DdnLwllY7vSIEOxhYqQ14e3KiBW4ScYqtU6dhZprGoQsO73v/y2\nHHP8gV3wKq1l79IZBMPF6NU+Yc1yWM+NcoRKTYWI+PKGwDSCVG5QFOO2fL5Q\ncEmGr78gvCde2YlJQcwfhsbt/aiFpVTLiWyiftrOFhNgFV+gcdgGWX1d8o1t\ngv2eh6lL45wzimPF+w2lszrS2+0JojRHr/kTklz9+Y3gvuHMOqun2ZzFJ2V6\nL+J9P/aeYf5i7FqhhVPaHPFmyjk9FfSHzZxPFSxX1+67EtotuGgbKGLZgpFt\nqlPP2yY/7uN926efW/msZvkIFsbOvxcfGH4pqlIiiE4Cbc1tUyTRnbF/grLn\nKvnw/CHHe8Mi3AWTB71z1Xgwk+I9Yuh7kDJbuQBFpeaw97889D8I7voxkD0K\nFDPj8ErU5sTyZnbagrrstvEO42cm8t3V737ceNruo7CLYqhokeEwz3s4W/xA\nX/F1\r\n=fyK4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMXpLnXlcONFwZOBDURfcvPD+HHkhQAFI+YuCCcbsnxAIhAIc8cilDReWU2uterZMi8VHjKTl7O34mfjsNYxl6zyzB"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1605496438.0_1605496451672_0.15120298388055287"},"_hasShrinkwrap":false},"0.3.1-insiders-1605961078.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1605961078.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vue/compiler-core":"^3.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1605961078.0","@vuedx/projectconfig":"link:../projectconfig","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","typescript":"^4.0.3"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1605961078.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-pCS9uJWWP8I5pyzIsBR6AokLZaeRilxEoZ6GPKeLJben6/pLEfVLsttCF4rGS2atvj+RvgOZdan4FFsH9KrjYg==","shasum":"7db83095c2610601ead96c5ccaa00fe638a96736","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1605961078.0.tgz","fileCount":9,"unpackedSize":205392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuQWHCRA9TVsSAnZWagAAmnUP/jh9fS8EgNWAfBvbPwDK\noHTjcReKxtrXHxUC1VISWPSY4KpC/EtuTkbFwSXBPwB5xx4eUrHtM9/s8h5b\nZVY6mGBrezp3XBAMVOViKxDbqJPsgCLTwdfGUWxtXEbBMt25I0T9SdnyQAdq\n1OwkxCK1xfHAhme8rvJFhVd6rRWzu6P2VQgNu+ppfe4gEWJHSw+6l1yzuUU/\nlNawfq8BkYiXZ8++CtZ0vlC16JsiLBuFhbx2xEWzz+W0BG8zFnzunITFxEZG\nLgRhERU4NlzxNk6u25VjLr94hfbpRDru+/9Ap88W5lkvNnYtWJyCSyQgyO02\nzLHfkvFnC6AfUuRB0aJypeS/8e6tydPcMXBZpc176ccYsjcYorKzbbpY6ySJ\ncgsXRGN9Tn90QfHgKytcS4Bk0WvM+XDotBt8WCmtHur6RQCerDhjwLQN4Fkz\nQMnSfF+vDG7gnUK4JmrDH2YHhwrYVHkpewV4Z+MZhOwJZoWA1zDGDzjj7qiD\n8lSRt7QttW3tQsJWsdmDhtxovKxjfmEuLb6NA55+cexG8hslQ4T5IvelI6eO\nV4kfh+ja5zHUG81f+Ij0Ql6wGIZmctDersd2Tlg1Yhli1JWxOUjmaQ+LjOzC\nnaR/TJlptg4IQcb2AlWz0HlvEX53NHZbQKFUym96GyxFvWi6v7ifw0EBiRRl\nN69L\r\n=BbcC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZM6D0sXmuT0Rx7zcxDpZ8kfd7AiEaKQOM0BDDf7E3IwIhAPbBQaUaabTsZw/GRl5DCHOT76Dwa6Hwnlg5g3lkMIcw"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1605961078.0_1605961094843_0.5014744654405525"},"_hasShrinkwrap":false},"0.3.1-insiders-1606047354.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1606047354.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vue/compiler-core":"^3.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1606047354.0","@vuedx/projectconfig":"0.3.3-insiders-1606047354.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","typescript":"^4.0.3"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1606047354.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-GAfxvQLUUNeit5DihEWHyNp786Ex0MQKpwXDyKIabbKL8lfvROJsEz0+w0FfC9RBDHgr+EOKj3TIgbTQTkrx/w==","shasum":"ea691f782a1c983907f5cbe56d39d7d762859083","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1606047354.0.tgz","fileCount":9,"unpackedSize":205398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfulaNCRA9TVsSAnZWagAAM9oP/iCInKry0THMK5dGfv2P\n+vtkvkgAGivac5vUpq70b4ULaDlytf9spQGxafoIXKw83iGplaD8FUGqhX05\nsg+BOaJUOfD56HsJUE6UFzs1CuYweG7jFSoHkJecZzaLD72YOsufkKUYWhu0\nP1r998E2aF3FutNRXrnPcib6KkAAMmzn2sZaoE/Ckdh2rujXKRDhVCXzwlAu\nDFgvAmDdOlvpX5GWefURSdl4uHlekqbRvqF/7ZicJM27SCQHFpXEwn+lbjWX\nvLfvXG3w4hjISshxR7nuzVTmS12VQo3NYPFC+MewPZ/lIvO9BP1PzLN5b7no\nUVyflPrpzQCAdGpGmgFZGyHky1bLUdbNNA+qNl8jgmcT4doPCsH2KdIY0eQX\n1YtJPUvVAG5VUuczfbh8YrsoVF394wy7S/DQbreOHcVjuYG1kn2PXe/x3Xne\nKH2b7GZ82WmKrheEOirRZx/4fkcEZ6mToufTSigocFugtvb66s0twd+Xph3R\naAEKNiFod1LsdCXyIpQnmpDKSQ57ADvKRa/UtnDKJwzjlaCbC775UwsU7iA3\nYVxdYpPaqqkexDdIK0JmWt2hfbt5Ah2ie55LlmdlFyB55PvTydl16d4G4RIw\nlB9OOvCovIuJ4DxYfIdHQt4uCL0NAwzD/bTVm+7xaPHDgPAhii47DqfWRVt9\n/nX4\r\n=mqzm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHsQiIvvMFFwIke+g6jcNVNCpg6S29yzn9zMwAxaQTlHAiEAtLR70Z1rqk7zRr1NK67uds4Uybg83qo2jfomHPVSVMA="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1606047354.0_1606047372631_0.9339446023917115"},"_hasShrinkwrap":false},"0.3.1-insiders-1606101276.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1606101276.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vue/compiler-core":"^3.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1606101276.0","@vuedx/projectconfig":"0.3.3-insiders-1606101276.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","typescript":"^4.0.3"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1606101276.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-xl3qRc/R1xadwDwJpFL+zRYDI2i6dwwwPFr0pKM3Oehe4YnX0PHDNYDqQTUE9fWaKCzzXEd4kyY6GF30MKP74w==","shasum":"353126cb0cd8769b65b1da56f524a49edb584d6b","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1606101276.0.tgz","fileCount":9,"unpackedSize":205398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuykxCRA9TVsSAnZWagAAzs4QAJyj/SXLor1McTwZKPQh\n3h+u1J1Q4V7BnW2QDM63MuWRoH5KWRDY2BShzqZDbVD2tqnOzpw6c6cOqKVU\naTDuAFE/uqiBsUCC2MGg2XIDSsipf2ncJF29PZNvgufpmHj6HOgHytItsMUk\nWrb3twWOfCgWNz5wUfmiGV8ZQ/SV6xxPIF7Hv/OUs9EH7qhx3rA7vXVoK9vR\nq1qd0AkFl9B+vkYtvNkUbL1BwvBePal7lvO19kZXPLfN6qmIVdlRxTA/SBQo\n9t250ENbo8dBncsRJHjHhn1gjl7YpDyP1rJYqX5O+S9D+eQYubnFV3jvy04q\nIJmTlAMZer0ZSjqNAcHe35ZaIA3pe+AyYOuHBHDNsimSnlCUhZjaMK4z8Phb\nbJBtZTO0UybXxUgkdmc6Sxulm8bScHDoOxbDpUyeCnyV/tyzX7t5I4pQhfKO\nDkxpulZmehw87aYUOX27GI1FdDuWFUaSy5ABjBkLK1pAfkFghNJ0000rptLl\n2NFXkcb78OIMino9HvclFNtGE7wy6DVwvTZQJYLCWG4eRWpXip0Z4nR/k6iG\nzSFx+C76oeEpi9jOQJnMyyJyXX3CuPdcXvSoh0Dkw0cUBo11JFZmiOsfJ/ul\ntvWfW5MV8ucECHbWKfrOU2WLGby57kpTxGCeTfLl37zUAV4mUcEUcF4XtuNC\n6lh+\r\n=vDQ6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQ+ykS4WrsG0//B9J9xyJbFIBGH9MadBLnTe2ABfGvjAIhANrGuW/uI2UkJ+wLvbnCx5PVJXF4UORhOecrjOKi/PJz"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1606101276.0_1606101297397_0.727248358858064"},"_hasShrinkwrap":false},"0.3.1-insiders-1606300525.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1606300525.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vue/compiler-core":"^3.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1606300525.0","@vuedx/projectconfig":"0.3.3-insiders-1606300525.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","typescript":"^4.0.3"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1606300525.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-QPdpehTSdKqtgTLxh8hRw8sBQNH9Ttk8NjockyrGG9K1ximP/KXmMPHCspCWjAB0uIM9UOVbpvJOQIRT+n+qpA==","shasum":"7158471652b288b5795b50e2c96d9adc843ffcad","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1606300525.0.tgz","fileCount":9,"unpackedSize":206550,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvjN+CRA9TVsSAnZWagAAWHAQAJyAzGQgnq6thkSwee10\nhjvEfuUYTceK6hCvYhZn4RiSgPWY4J7vdpJjJeHxhYc3FjKl3XENOXLUMotm\nms3kvEwo7W9ugVHbm1krPkr057Epwg5iASFSC9rk7c73qJ/g2SefGpdFeSl4\nAITHK8mOcspAkoqwYbkLP7jIKZ782xKb1gvlpBwLFwe8jtYUSfk4ok4xO11C\nKYIrE8AP6+/yDK+CrCcpSHyIUHVrbrmGd2Omm+tfXJVuvh6p3XgSrMbAZ0g1\nvPjfViMg1Xvnrn95y/uelmDjC3zyYjGzdljOkN0RQwoH/UB5jaJVeqlPZc0x\nweqE1R9LFDGM1VYZ9yLf9Y+tkbV2KN7bFv6dLFNaLhF+cpmnrg7ZD0j3ARNL\nyS4tV/0cKG0HsnC3aJX4XQk4l5dxU9baF0na+4J4Mx5O2j73FBGQrCiXr2kC\n/TqX6fvu487GV0TVgCAoyZthBjSYBn3GND4jTj8/QAebNVz1reZJGVFtV7d9\nXcbCSvo795pBHecGVrTLUmJEZBy3s68frW3Q+t9uDrX0imSlioMJ35fkyKDL\nWgqHiaWJwxtpGlgrkYvMU2PCKnfQCcI5UB1sVUb3YeB5SHRaDE+pIG3umsgC\nYiyQh56+fosGppu+IK9Js8mz6/eaEl39bF+psJNML8f9VQmkNXwGaAlCTqls\nk6i4\r\n=5x+U\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCoEluHLqyQ16my7MJfMxhiGkoU3BIi82v+YC8XkGLk7AIgJdOrVULzwCM/YxQ9xOb9aQaV6nVm2l4hVNtkSHj4JBQ="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1606300525.0_1606300541836_0.8110059322652337"},"_hasShrinkwrap":false},"0.3.1-insiders-1606311019.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1606311019.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vue/compiler-core":"^3.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1606311019.0","@vuedx/projectconfig":"0.3.3-insiders-1606311019.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","typescript":"^4.0.3"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1606311019.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-8XB92EWWc673dQl2i7fUeYL4nkiCZlHDkvroMwjlB5MYXnFG5j4NqBUnTbwuCl/B6jOyIe5+PAOxHYKhs1QPVA==","shasum":"4b1e739b683aa3379b17728272f105876591c227","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1606311019.0.tgz","fileCount":9,"unpackedSize":206574,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvlx9CRA9TVsSAnZWagAAhhsP/RE1XirBahNUInBDY2Lv\n6ORupY6ac1kz/Ph+X9uf4Z1X/m6jRCwqO4rf0TebfgnufTcVDo5kpCVvYTKl\nJlkuTdVv9gkflwfkPaHM3nmi40/s7dAYzzxKPhMJNquiDHkAWN0/GPM6X23L\nuJYJjt3FA/PWrytu8Xnezt2bpW/rQ5OKQSI5tJuv43hasNSXgiXssrKBUGYJ\n8/49FJiFhT0DgtDJoWTam903tqkrDUlVO8Irs2elvkWKXdC7zW8oPsEuW4ao\nouz2i7PO52XhXm3Jz3a0sEX8Idm8P6prqM+jkR+pqhjh7RHASJHhrAzde3t8\nv87ItRffE7qsCcaKDMxA+Cos3/KD+dSIvIOdAkfF0dhdaRcVr2r0sA6kcfZR\nQcln8TXTrG12lEc4aB+KeIHQRZLC1JNpQBwhT2X90zKvUQr51i0qdl89dvO3\nl2RHW2DqdaB4nMdZYMr5MxtmgFzp2laveCWOPiPQNwc7PYYRzu11jAhdso8Y\n7ihmaVA7K8cmIk6sSJ2PiA45NDGuO5ya+gx6Xtzwzbh4iB0Jk3Y+M5wQCgpw\nSTiYrk+38qhBDs0rGE1YyFzElGimSozsIF7Ktwyg0952S7nyfRorD4hS3Jvf\n8++8ztyQkcdR5gU5EDzKXwxBP+GCK+m0iCb3inBSnNrwZy+HddNMQtZ3yvkq\nGab4\r\n=/g4g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICdS0sasKcxp5mLAfAGb3WZEdQjnCqcnacYKs2UngSSrAiEAweaCVxsILHD507TQH9NKAYepjlsP9ySQVMVoh98hK2Q="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1606311019.0_1606311037352_0.06201398211159792"},"_hasShrinkwrap":false},"0.3.1-insiders-1606467106.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1606467106.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vue/compiler-core":"^3.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1606467106.0","@vuedx/projectconfig":"0.3.3-insiders-1606467106.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","typescript":"^4.0.3"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1606467106.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-JqA5OOKX6wekicYfNz3SFDCEJ/BcCFGni6PFz2L3/3NFjKn9SYCDEPQbdBBQ3jCYu5KFlxL3RHl94uZ+VoL0YA==","shasum":"024af6b1c2fc88e84df5742566fe04a79c452c96","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1606467106.0.tgz","fileCount":9,"unpackedSize":206630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwL42CRA9TVsSAnZWagAAyA8P+wdtRALHMbpAERcrg0Hc\nJ0AWWcuO/WPhvXzOsUSl+fqLXhuGm1CHQFvkP+6MgDeLBt05ogA91cVx/wy/\nkEXbEp5z5hEMR6IYD/nMe4PDmlzVQfNRFbsLNv4UPgx998V5nOTFpuYDSK9D\nIyNyRQHs2Qf2fnoyMxNEMyfn1j/FMC4C8sqO4MROWgB53X3vLJqAPWJ4P7tN\nDEd+AiyLjmhyFFJCTuYAItUWRKmkHaiypJrhI1hWqOufVvUrJ+RsOqoUcvC2\nBpHiggaj5tVtRckdpSSdMNJUtImitJTGOe54zDY/CK41OzaU0U1u3c+6M4jo\n8szJ9iS/tuCFM2Ijd8RAi7VNrK292PFEzMgKDtkvh0G+zVaNN3d/3/bBadFx\nBGP6BQ9WzNGQrgDeB72EdsofFsolv2hHt69rwJhyIzEmCFP379QJ5jqAgvfB\n5TRK5Hah4GgwpFdnJObbl4CQ+bHXGnjU2CmJ5lU+SuQqNUpzC9oku6N4SHeh\naZFAkYGekjcfhyL6XOxpJnNEPY8amnEsYl61Y/LymOdcCjGHotZ6l6JAuXDr\nawhjh/ohpZtM1pv39CDM6SyiU8uJAo2VruVz6oyl9uANI/7pP0cUHQU1XANh\nWjKeUMKDiXMsuLzDRaD4jEk1XfObcxT8l3QbLUUMFD8qUkYf+AHYF0829JBk\n2MG0\r\n=HF7k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFCoK1i+t0coUu0SyNL9OrWuF6nKl8A/0WudrEu5N7RqAiBHrdAiQZwsJmTHaVYHy9YcmIGmxXDCcgbEEjRvI5pJTg=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1606467106.0_1606467125658_0.14306817504620173"},"_hasShrinkwrap":false},"0.3.1-insiders-1606884529.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1606884529.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vue/compiler-core":"^3.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1606884529.0","@vuedx/projectconfig":"0.3.3-insiders-1606884529.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","typescript":"^4.0.3"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1606884529.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-JgQAbSeZQpQHONwHsDA83uacOFX1+CpEjkIAaWu8KKkH1HahwEZhv4e4Ju5VcWfQrBo6X03DLnFay20KK7i9cw==","shasum":"7e3f3cb9b1ae6745a72bfac658e9dc41335b1910","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1606884529.0.tgz","fileCount":9,"unpackedSize":213251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxxzDCRA9TVsSAnZWagAAIVwP/AyHmpZZhfCdgtPwYF9i\n0Ho3wxc/FqtHAL7j9xKH4J+Sp7rmP7JUkixXtvYEn18jX7rlWEz9vZEZvdGI\nC9cKL0RwI9+nMxJxHXb0rBZLXdqyPNxdx97To4Me7IKR5UgGcneE5DiSkgsd\nPWOA5mrTQatOjQk9O+5i7oW2HmCWoa4QOboeuh+3hX3Ha38kk5iurZ4gDtlS\nvhqtFnE2b9vzco96hLivjrHSy+Vz8zakvxD0mNR0jyYVnh363Y1PiuRPWgtd\nXeU3i93EgaM1KXG+qD229BQQ7rWaeJMiE3ZWO/q4PYFtoCUp4t6lOs6winxV\nIHmY4nMW0SmgRDdzIIFLbEeiwx3HMeI5h15Fy5gk5K9Ow3Q+QtC+EVCdXWBq\n/zwlPGZNeskdGLkcFG09x54e0nlPydLiCtEw+g6Jjadm0y1d5XSG/eRYSI19\nRWt4dJV4DPBPoovnAosXBhg2HjkoteHSEaxh6uEitCj1ci2a0QBDCiVD2LFb\n8Z6/e7XT8kBwSTHRXeBxMPx7ZD5yau2j4zCxc851TwGWAurIB0HnZH/U1uf2\nPXug5HmejOvNeCevv8a7KFQDEdriy3Qj1Z0twQDaWONzovvmr2dhmmY/GYsM\nCl+3gYm4Q0epUoel67pvKIyYadyI92gGYeRKJjiY7e8w8W+SaXTRW/ZasHjl\nwAyj\r\n=fVza\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDn0oxKtTz6k2+g5/4jMQs/Ck1kA+5DLPydR2ji4gzKvgIgA4n1EPb1NCOM6S5iqMxag+6OFXhw5MlwTbysPGovplU="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1606884529.0_1606884546654_0.33418153571262676"},"_hasShrinkwrap":false},"0.3.1-insiders-1607121235.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1607121235.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vue/compiler-core":"^3.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1607121235.0","@vuedx/projectconfig":"0.3.3-insiders-1607121235.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","typescript":"^4.0.3"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1607121235.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-vkCxuxCFhcFYQ5FoYqa+guA3Tl+7W5bn5rO/PERUwyA9p4oXztRMRhCGyIEYNICOA7k2Nv/swRDDyJlF43y2oQ==","shasum":"9a5235eb2d97491c56fc40cf8eaa2c4b42dd5b7a","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1607121235.0.tgz","fileCount":9,"unpackedSize":213251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyrllCRA9TVsSAnZWagAATqcP/0Wojo7O1J+/meHAETTp\nhyurM4YS8kuT09rBox0JVJTOtee/LYbJ2zzA6eGuRNe5qWTWuhzFQxzXJXOz\nrIzRGMNbN5UDV7N9uKOCuWC/Oh/kGA17i9yjE/mm9VZ9pvx9FOnZtdPc1hI6\n7YgIhlC93DEI5mb0EnBsz2oyBqdLkHpGgP4mqEIcs1iWzlkYzRoHB1biS7N1\nVSWVC5pl3trVlJrn7TcPsucJCN9SyFl+iDTHInqnpRIg3DgyvVmsRMJwZdGd\nA8N4SqupIcRkNUUMhqPGqwOLXGEIS68+yPMQLVoChU7wnnfqBVc1PJBTLDyV\n++fgkMa8BB7kStgavaGLtnqsBT6Daa4tzdjaxeoNVLoqrAayNCRVvHdE119Q\n9YBopyKnHMBna1J9xjw2Utw+DbEWD1dnLiLnsLTPBTLzxYwX2O7QHvc13MZS\nHksv24aqggPaIL/j7biXhKHu6NOKcdti5z50pEx2FsawCAimPIkWPUR3rVwG\n4Qr4nrH7HOKO+cPzCqiwNVXCl1iz44h5Y0mdHBIWP3ge9vfJ160YviOUoNBZ\nx9oX0RUKV7w+/K2erPNdDBbZze09AN9ACWNfp+QB4kLmrC488Vus3Xacbc46\nFELXqgBGRvI5dNRLcy6ERZM8KHagSD/u5apYqvoqOGlcsoQKSFJYJAnARW6i\njsWh\r\n=NOUm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRBGSXElUesXnaGBLoYZgYLwZ0AebwbGJ9iEcwiwHf9AIhAIN9mUinsg4GgLxGtwmF7tuV4GS/Y/bx5rjHD0ehnvex"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1607121235.0_1607121253528_0.29763553893518124"},"_hasShrinkwrap":false},"0.3.1-insiders-1607543873.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1607543873.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vue/compiler-core":"^3.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1607543873.0","@vuedx/projectconfig":"0.3.3-insiders-1607543873.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","typescript":"^4.0.3"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1607543873.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-vnDAGw6jLFopUd9/+W0s1cXPT7Ae3ghRC+E9GXkqM89+2rm422O7m8PF5rz1pGsuXep8Z6U2axmgZp8Gk+MKug==","shasum":"2f5492f363b875a9eed95198b05c94946cf5dadb","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1607543873.0.tgz","fileCount":9,"unpackedSize":213251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0SxTCRA9TVsSAnZWagAAEXIQAJcjAdJF2fCS42A345ea\nJgyLOUlNPiV17UZIsWpTbbnmp4+6JWksrr3hNmQMpBroJ+ZOreDDRQwT9m/i\ntnDj0q+Z56MPIENzUbOGgJtY2bfgr9znGmNCr84f8FSXadT4qbEhGhLw/l7g\nkIFUPNJ1sxuU2IB99PkJs5Szxlq+Aqe/ZL7uRb8MsJB6nNN2z9RXJPdU5HJx\n3qZxmCzSmrvxLCaXF539GY4tJYQRUV+UZMmaYjJs3hpeY6+9RmoDxAKEQWpU\n6dyvWBFRMD5wuDKH3H03saenZCrmhfGtsBZrccS67byTzeTn1bbLhndA06q7\nv3NDts+AHGiHk/XJpw6HEWqsCB4aI0gR1sOWwBNgtw73Kk/PDgH4XWPkeqAt\nvm+kX9ui7QVP7zcaYrRIdvdBKyub2OdokqWqSlwrrr8msB6dZXM0sAK5xJq4\nN+RTx1jeEBoJcFntNZQeqBwSpsEL8eP+rObYmo7sgshCIA+I3m1ePBQrIhRi\nODS+squihfGOsgP1w5NYUaQGhjckyHzrZiCjag32NROMCaNiuuX5wLN54L+0\nWVZO8xrXcgR0dN3KVS4XEb0N4Qp0FRy8At5F/8P+CEruchI6lzx8vqqyVAsw\nITOhibD2S9D6J9JcvlhFIX2kEIDpCa4vunt37eP8erPeBtcKdRnf9HRk1xV5\nTEH7\r\n=vEPS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEEktK7bDy4wLweWLOs+3MhHRqW807xihOCoub+kGySRAiEA9HyKk2PyApv/AEC+ehOom4dpZRrSGZpmbaBvh7oOrLc="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1607543873.0_1607543891422_0.9193429831834625"},"_hasShrinkwrap":false},"0.3.1-insiders-1607576406.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1607576406.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vue/compiler-core":"^3.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1607576406.0","@vuedx/projectconfig":"0.3.3-insiders-1607576406.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","typescript":"^4.0.3"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1607576406.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ngUP9Svs1fa/qqwqRleJVBo/fTR7Hj76Uj8bDPbM1r6GUeAMpQId+f9zJpxHTfe/H6PeBUtVsqN6EgHAzPyzng==","shasum":"aeaa60c3b7a0478773657b84f303a1f63f8a0042","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1607576406.0.tgz","fileCount":9,"unpackedSize":213251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0atqCRA9TVsSAnZWagAA4OUQAJIB7/Zmf3v9FWsleX5x\nWfEYdxoGVEaAKTrUTedimJHkUkxGzK84xxG4aGRp5ZI6RQjeh/1o/ga1H7i+\ndzCL3XRY3R9WtM0C9UWClKYJ/KNGkazqQwseiLieJur9FwMg2k6otKlwprIr\nvIdmLALKicf6U/VfYRUkyD74YWCNjt45OfW/ZGwA5RygnYKedO1F4MqyXnmx\n554b9bjgk3oelMM+C0qu0cnC5ISA5yS9RyC++S2q2moxxL0osYslJhtc5frH\ntL3R2+BV3Qe1JL2powIcSr46DUhBeBLkHocz26e4k7jTzA6amHGsougDeCsE\nDM1zyl6GpD/hKUtENJeSYkC+tEMNTcAE7dj/n0Rk42InWYsUIbHA98EwBvth\njhCGJmBginDH4t0VVDi/frIeAtzM+IdWii5n+JFZeV5C+nR7CH7QdmVva6KO\n4P82vgJobzOLS/0/DUH5aFdWyEYFUTmSbm40qWS/rEcaVDMYbbQbyVQygaV8\nqBZ5g64tespPuajJDvVEjSWJZpSESPhQ/3pVfHLw4zzO3fhnVmC2vn10rqsX\nJsH+WquPCL/bx0Q9YzQUHwsy2jiopfdI1USwz17Fswo6yLBgbi8i0G5ntAEj\na1ialSv5YnESozSCRliLGmT/WOUXTIDDd61tlZ7j90olHx8LVKCiVXPRJBpb\n+TKe\r\n=GZGu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICRTbgJCMKaWpwnfqfWZtkCLDIZXH3eDt5wYqYDkZCUJAiEAszyTpoJ+HmiCcn/kiiR8ZC7zyvt9q4t1Tt69MYhwMmc="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1607576406.0_1607576425911_0.3671762354764636"},"_hasShrinkwrap":false},"0.3.1-insiders-1607576746.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1607576746.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vue/compiler-core":"^3.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1607576746.0","@vuedx/projectconfig":"0.3.3-insiders-1607576746.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","typescript":"^4.0.3"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1607576746.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-BmN1lPoC6AMPRO0jeHkxQPUiYsy1eQXoEInLOqj215G6Q8/scnJk+QEu1Z35valZujR2CkWc1Uqp3YADHoltUA==","shasum":"550a65e20dc70cf1c861145a50e406c6264d2811","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1607576746.0.tgz","fileCount":9,"unpackedSize":213251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0ay9CRA9TVsSAnZWagAAJugP/38NtBfaXarCHolDJGEO\nwP8bv6BrX6O1snVsTSMM4yDfw/GA4rd7x+Nj1tZptyBLZZMpPIUzkLrMDxAy\n6Ml51LO469gDd8PNmsZtCki/sQScoBUNqEMxHczNv5MjJ7Nad1NzvUKLOnSP\nMIJc+D1XkHQozYR1yjOwekZYZASfBoCErtcBuY/1xADcOrU9V/xjaolEUHUP\nEkkLry7cpPE7jWoNbRRnFP4zdQFJHsLa3yqdRhbZ65sdw7SX33SL9Sl0Kn4p\n4KrmaOGpyF18L16EM2Oi/1O6MAZozwF6d1D5Wqb3prjh3ejWbsrHtdPOw25L\nSCwWsBe8jpvlOZe8EGNVkpWy/vK+9BJW/yAn+96xpuEqVq42krd37rUPK+JW\nD+r+cHgLWY3bbnk22ICL6Kgpe5qFN/uvxahs0pIAIMn0PvRSRJ3gxaUjqgyu\nrvKo+axRPa3dGs5NmsVoPiDVg9hXxO1mGCtMwASmFO+dOKsDocS7rIuJ2KhJ\nK6V01a9u8QvruVwzYkHQOyCLtyeLoYUyqq3HSo8or0JDDPeIa6lTRPZ4EhSj\noGINQ1KhGInnPFETS4vRWrCo2Q1i6F57G/+e+dH31bMc3lgFh4XHwnxaZK+C\n7E1RQ6eU9qb3QXmaYuiHcxQDx+lnLv5CqePz2/PLzJl5u1cpq4CfNGNKjDpG\ngkP8\r\n=v0GS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZI9DX9nLUePwLhV9cPcZS41Ls8CIfvnC2hnHxwnxsfAIgbbwN0ZaiaJHqdO0c+ieVQpSAI9d+jKH/f2q1RY2TtfE="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1607576746.0_1607576764845_0.3802644417794543"},"_hasShrinkwrap":false},"0.3.1-insiders-1607577772.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1607577772.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"keywords":["vue","static analyzer","docgen","documentation"],"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1607577772.0","@vuedx/compiler-tsx":"0.3.1-insiders-1607577772.0","@vuedx/projectconfig":"0.3.3-insiders-1607577772.0","@vuedx/template-ast-types":"0.3.1-insiders-1607577772.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@vuedx/shared":"0.0.1-insiders-1607577772.0","typescript":"^4.0.3"},"readme":"# SFC Inspector\n\nA static component API extractor for Vue.\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1607577772.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-8kLcEwigVLplwqmb+LkjcK+DokDQ0SQke6Ib2/rQUXpCnr2uI8GvvMPRd4z1Bo9HqVMae1JQk84pSD7MjCHdrQ==","shasum":"8054f1504222c97c85600c321c55262944e1d4c6","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1607577772.0.tgz","fileCount":9,"unpackedSize":413746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0bDCCRA9TVsSAnZWagAAuVsQAIxaNXlIfHieweS8TjbQ\nyhCUibL5LULxfT3ufGlCF0a6sq/vogCL0sdVaVQja0q71xGaWRnF4HHLA3x8\nDq2T/693hCcfGD1BRiF4x6rhyBw7kBD8FA5TPnRagPzO+F4JamjuE1mvhWLF\nVhsWLsDM3q11qg6G87oE4mUKll1girrHa7GK3UinOCnleSr/xI737T9kZTU2\nYLoV2zau74/7THLlvIFz9LkcD2znhKkcrRkld0AC7prhp8ltM/jJHo2aJHiY\nhERDEaJE8t7jZMqhWINgAf80TEavQi4Lv1WxW2k0Z4ub8Ameci60Qi+Ptu7R\nmXuSlfBIlOqxxPZQ3lAev7dE1mBhvrler43RefJNvbZpPruDoJgKoyQkZAuC\nbk0+yrszLTA+gyGaxYa6w1/PgP37fiZz+sWqsRoa5leCKHDVnDgGh+MGbaHI\nZHdo49KFbJPgQ97X+KGi8nIkL5XD+zZ8UTwFFEFwpNevVG+8DR/RfnLuDTkm\nzKkJe5byYoyoA+zK0OGt+kxJMfihWBBCI3RakCJFTGwGpItLjiIf2sd1zQRo\nXMldbl9MN4WGGQvEuhOA3Nlq/LcIUeJFVmj9WUj0OH2UmaELs2Lefvd1DsrH\nb3LIb28gGfXbcpOXz6952IalRNILSscAETySZYjW5VcUjQfQliQUJySksGaq\nzvyk\r\n=KFr4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCHzpOniCgEjp3vBL+C88pK6Fh8M6sldNuFRzN/48V970CID/k/n3TEMiFCeRlY7BXQY6OejxRrWtYXi0scAGQaDoJ"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1607577772.0_1607577793932_0.29289623391734776"},"_hasShrinkwrap":false},"0.3.1-insiders-1607631204.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1607631204.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1607631204.0","@vuedx/compiler-tsx":"0.3.1-insiders-1607631204.0","@vuedx/projectconfig":"0.3.3-insiders-1607631204.0","@vuedx/template-ast-types":"0.3.1-insiders-1607631204.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@vuedx/shared":"0.0.1-insiders-1607631204.0","typescript":"^4.0.3"},"readme":"# Analyze\n\nA tool to statically analyze Vue single file components.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze: (content: string, fileName?: string) => ComponentInfo;\n  analyzeScript: (content: string, fileName?: string, mode?: 'script' | 'scriptSetup') => ComponentInfo;\n  analyzeTemplate: (content: string, fileName?: string) => ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo {\n  components: LocalComponentRegistrationInfo[];\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1607631204.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Q42bi8sNWSYrcUMsA8aDJwgR0ctARLkVxfjZ/bReMjkAII22NwLhnU1zEsRBF63i+GeUEoZSZ3DS6Mh/bpr0sQ==","shasum":"5998fff64254edc3f88abc29cd6cf1c23100f974","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1607631204.0.tgz","fileCount":9,"unpackedSize":433413,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0oF7CRA9TVsSAnZWagAAetIP/ihR0I2/r+UHINe2450y\nvcP/5qEkmyG3b8Ivg1wyq+wsOA6sdZnDz5siGWRoJsexuGSKDaVy4+l4LVBG\nrDi3/Hwnb6Be+b8RIEs5Zwj37XUHR7eOU6JAyRavQvNbbDOfMX73jQiR2wVS\nL8OP3k+cWA4KDUzgdh5NMvXoPemCiIPzgDpqPMqnIBs+Ar5aPalmrdNsLQLK\nh1qbpfweybCedbjqqjxcbUPovZrUWE0aLxD0/3AXoXTGXTrRAVOR4FTKus4d\n++Rs3xczjBZOjykNOcsWiXN4QqkuAno/h21L97D6CzJEjz8hVS2A5mtCkjml\nRMPKrnbcJkYa+wXfmd2I0XSk+O+03vIWRfjU2x7iPpmM2BX12/F9Y3I2gbhk\nWmRZzFV3bo5FWgHOoJ6852cYSn+xIqGeBfzOMo173y2KCRkpGbwOl08kVuT0\nRfuvcCmOg1uC3fuedBavF6Q2fHPRBMTMTh5HFleJoXU05iV1MC8jOMqM5P4n\nEI0RHAkvNdqJjb98IrlmVEz7PO6XMsIs3svDIUEgc0phx4uhxZL8fFpZDPXH\ndxuhqZYvP7TOdgDHFN8xVc3CF6y7pQM9gH7cb0eKXmQpkiGgJje9o0i2glfB\nC0MRdVXDO1PJdHjEG603rFXSXYNo2fGKK6eQ7JtrivNVzvp9519t6tSob7s6\nXxMo\r\n=pQLn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBHAJwFW4hVmHGMdW+WgI5fr+jsM3mzd1bdsEEhY1jweAiEAko8SlygTTtZwAd/+EwY6h/L1RAl19KGXmRGAuADTOQA="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1607631204.0_1607631227062_0.848304291846824"},"_hasShrinkwrap":false},"0.3.1-insiders-1607632537.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1607632537.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1607632537.0","@vuedx/compiler-tsx":"0.3.1-insiders-1607632537.0","@vuedx/projectconfig":"0.3.3-insiders-1607632537.0","@vuedx/template-ast-types":"0.3.1-insiders-1607632537.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@vuedx/shared":"0.0.1-insiders-1607632537.0","typescript":"^4.0.3"},"readme":"# Analyze\n\nA tool to statically analyze Vue single file components.\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze: (content: string, fileName?: string) => ComponentInfo;\n  analyzeScript: (content: string, fileName?: string, mode?: 'script' | 'scriptSetup') => ComponentInfo;\n  analyzeTemplate: (content: string, fileName?: string) => ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo {\n  components: LocalComponentRegistrationInfo[];\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1607632537.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-P0LwPEx7R6YR1W9O5jFy1VxmX88jBVDTn7jYj8Lg+nPBv8ZYrghKYtPYkVQPBAGzVDwSqSZ11AJuRkfRfHmxWg==","shasum":"b36deb7d0e6b1b4d5d49b311219071dd1ac6d863","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1607632537.0.tgz","fileCount":9,"unpackedSize":433413,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0oaxCRA9TVsSAnZWagAA9pcP/2K9mHZuzokBC/xIdCTG\nszUsPkeZ1NfvFl4LJ2EX656QSqT1z8FxedzHEFlp1M8JmLrAkCV7+GBcmLSZ\nyYK4isOa2pNwsTucLTfMg2m0W4pQr6/meoy416JXqRMIlY+KJD1riv/1+O+4\nFNU9LobQKTPegxv8vFQue0uBLgYBN2mZYgHpLn7WA9Vy0Yovi1As8rZJY0mM\ncNXwauU9nUEz9zEG1mNzQJs5f84ia/aFnWsbeAtdI2Io4Qv5JiZuo10u+sUq\nI06wGwdury1mJB8pXQLeAXQSFi91bqZHPYL0XtHMXLQhOJ/Yh8AXhRfZCTGJ\neIzDzKfn1P0JfoauWn2RhHKliPmCNHqEZ2v5n96WmCE4fd39ESKOxg6Wi9NN\nuLnO85rjA+1KkCPhZzzl6eHu/eKd1FLTWE496ECNm9GqBIHWD+NcUxWwvznE\ndc32NLL4zmrU0yhThCbBaW7uIna4Ax4Jw5AV9fkWeRKvb5x2j0XEVXzh248g\ngvjCWxNDFXITOGtVokk4U/wri74fcDM5pmDTrE8cciSSL7uJS5P2NAPTDHe/\niRyqPKJJhixlhhcQdFHgfWPWoGgxdabeJEWqvJBH1u8gxgpkRW2/tfHI1Jj8\nzcLybP/bqMsjMZT6zaNuDlmc87xK8KY8JtI6wLOxRf9+G8uZnrSKGEwGeDBM\n1wy7\r\n=m17K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCr77O8oK+DwKx0aBVZKHAEIRsS7WuVapEvXGwte8wUPQIhAMFFJvfIeIWfPqXfFdFQ00gPOU7vV6RPuEIwlMlHyA7m"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1607632537.0_1607632560733_0.5611903351379157"},"_hasShrinkwrap":false},"0.3.1-insiders-1608185511.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1608185511.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1608185511.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608185511.0","@vuedx/projectconfig":"0.3.3-insiders-1608185511.0","@vuedx/template-ast-types":"0.3.1-insiders-1608185511.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@vuedx/shared":"0.0.1-insiders-1608185511.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    configFile: string,\n    config: Readonly<ProjectConfig>,\n    requireModule?: NodeJS.Require,\n  )\n  readonly configFile: string\n  kind: 'configured'\n  protected refresh(): void\n  setFileNames(fileNames: string[]): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: 'inferred'\n  protected refresh(): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>\n  protected _externalComponents: ComponentRegistrationInfo[]\n  protected _fileNames: string[]\n  protected _globalComponents: ComponentRegistrationInfo[]\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>\n  protected _version: string\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    requireModule?: NodeJS.Require,\n  )\n  get components(): ComponentRegistrationInfo[]\n  get config(): Readonly<ProjectConfigNormalized>\n  get fileNames(): string[]\n  get globalComponents(): ComponentRegistrationInfo[]\n  protected isDirty: boolean\n  abstract kind: 'inferred' | 'configured'\n  protected loadGlobalComponents(): void\n  markDirty(): void\n  readonly packageFile: string | undefined\n  packageJSON: PackageJSON\n  protected abstract refresh(): void\n  protected reloadIfNeeded(): void\n  protected readonly requireModule: NodeJS.Require\n  readonly rootDir: string\n  setConfig(config: ProjectConfig): void\n  setFileNames(fileNames: string[]): void\n  get version(): string\n  get vueFileNames(): string[]\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n**Signature:**\n\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n**Signature:**\n\n```ts\nmarkDirty(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected abstract refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n**Signature:**\n\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n**Signature:**\n\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type                                                                                    | Description |\n| --------- | --------------------------------------------------------------------------------------- | ----------- |\n| config    | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | -           |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createAnalyzer(\n  plugins: Plugin[],\n  options?: Partial<Context['parsers']>,\n): Analyzer\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createFullAnalyzer(\n  plugins?: Plugin[],\n  options?: Partial<Context['parsers']>,\n): ReturnType<typeof createAnalyzer>\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createSourceRange(\n  context: Context | ScriptAnalyzerContext,\n  node: Node,\n): SourceRange\n```\n\n| Parameter | Type                                                                                                                                                              | Description |\n| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| context   | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | -           |\n| node      | <code><a href=\"#-babel-types-Node-type\">Node</a></code>                                                                                                           | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function transformToFunction(\n  content: string,\n  options?: FunctionTransformOptions,\n): string\n```\n\n| Parameter | Type                                                                                                    | Description |\n| --------- | ------------------------------------------------------------------------------------------------------- | ----------- |\n| content   | <code>string</code>                                                                                     | -           |\n| options   | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | -           |\n\n</details>\n<br>\n\n## Types\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n```ts\ninterface Analyzer {\n  analyze: (content: string, fileName?: string) => ComponentInfo\n  analyzeScript: (\n    content: string,\n    fileName?: string,\n    mode?: 'script' | 'scriptSetup',\n  ) => ComponentInfo\n  analyzeTemplate: (content: string, fileName?: string) => ComponentInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n```ts\ninterface ComponentInfo {\n  components: LocalComponentRegistrationInfo[]\n  emits: EmitInfo[]\n  errors: SyntaxError[]\n  fnSetupOption?: SetupInfo\n  identifierSource: Record<string, IdentifierSource>\n  options?: ComponentOptionsInfo\n  props: PropInfo[]\n  scriptSetup?: ScriptSetupInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[]\n  name: string\n  source: ImportSource\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string\n  isDynamic: boolean\n  isInferred: boolean\n  name: string\n  references: SourceRange[]\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n```ts\ninterface ImportSource {\n  exportName?: string\n  localName: string\n  moduleName: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n```ts\ninterface LocalComponentRegistrationInfo\n  extends ComponentRegistrationInfo,\n    Addressable {\n  kind: 'script' | 'scriptSetup'\n  source: ImportSourceWithLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler\n  blocks?: Partial<{\n    script: BlockAnalyzer<SFCScriptBlock>\n    template: BlockAnalyzer<SFCTemplateBlock>\n    style: BlockAnalyzer<SFCStyleBlock>\n  }> &\n    Record<string, BlockAnalyzer<any>>\n  declaration?: ComponentDeclarationAnalyzer[]\n  options?:\n    | ComponentOptionsAnalyzer[]\n    | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>\n  setup?: ComponentSetupFnAnalyzer[]\n  templateExpression?: (node: File, context: Context) => void\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null\n  description: string\n  name: string\n  required: boolean\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable\n  defineProps?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n    identifiers: Partial<{\n      attrs: string\n      slots: string\n      emit: string\n    }>\n    rest?: string\n  } & Addressable\n  props?: {\n    identifiers: string[]\n    rest?: string\n  } & Addressable\n  return?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n```ts\ninterface SourceRange {\n  end: SourceLocation\n  source: string\n  start: SourceLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation\n  message: string\n}\n```\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1608185511.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Z3px3eLY4hWeYMXAVy3NQ4w33lKHjYvCFUYNiCeVsBoIcbxAzilM23pEsMoFFk+NKT7PfPaQjL9LsLglXBhVSw==","shasum":"30af55662745a3b89c830a022e55a00ab6f7eeb4","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1608185511.0.tgz","fileCount":9,"unpackedSize":435364,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2va+CRA9TVsSAnZWagAAfGcP/2STZk0YQ24CmXNnXGHg\nJ56tmJcn3aCTGsR6OVLtetX648+YnTZY6FQs2yKx6YvE7yHMzDAMQf8os7kT\nhYjlNBOfhrivGOlteVyc87HIxWmnWyxofPP9SnPI/44o0qjOm8+woKSRcRux\nBApK4bXWoTFfhD7x8qjl1mjQU9Pe4fqpHDhbVDUn/x8i0c6RwLVErb3CRfcL\nuLSsre2D4p8dxRvL1/t36U+tJfP8IeXoqOCVjFGZ11WSt64wPo0SkA+m68Wd\nR9oKT0n0/3a9ar+U29unlA5bTQm7uxYAnKroF/MTm259wz1xnnbku4RHJ2gJ\nbUVi4jQd88KLBZ1K/iUcCzemXAAlcAD8E2ZJw/d5C8Zh4x6+9BZm8I5RdB9H\nR/CFC6u5HUs8WQS1ME0dRt8kB03wxGYCKPrkq+ebx22nSu4Gy0GJNyqXUHON\nJj+IUDFmx8/psQStbGzaUO/3RdFSHUE5Lmcw6UbCsx12U5Y04URXpnCAgFxD\np36o+JGwix/4z76eXON/7Bd2alb68Z8a/hpAdyl7me6yZciJ3TP0ONkHLG1X\nt1NCgO+98LUjauEL81Wx0FR55DxzJYkZEbhlMM9fVLwafZzWNOQv3C3jJc1V\nmK6pG1hIsUKX4taZl8rTy7CspYzy5rcZ9aAtxW5xTTqCoF/emxBOQUz6vptF\nQRGv\r\n=XzOo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbLEjSWiUKp0inQSSAq0iDmtN8PJtbJZ9LX8+cI8wquQIgWLW3IVTA9kUpLWZel+tZ8chhLfIZvpgfGmoKiLeQEyI="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1608185511.0_1608185533896_0.9583789517931232"},"_hasShrinkwrap":false},"0.3.1-insiders-1608281809.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1608281809.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1608281809.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608281809.0","@vuedx/projectconfig":"0.3.3-insiders-1608281809.0","@vuedx/template-ast-types":"0.3.1-insiders-1608281809.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@vuedx/shared":"0.0.1-insiders-1608281809.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    configFile: string,\n    config: Readonly<ProjectConfig>,\n    requireModule?: NodeJS.Require,\n  )\n  readonly configFile: string\n  kind: 'configured'\n  protected refresh(): void\n  setFileNames(fileNames: string[]): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: 'inferred'\n  protected refresh(): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>\n  protected _externalComponents: ComponentRegistrationInfo[]\n  protected _fileNames: string[]\n  protected _globalComponents: ComponentRegistrationInfo[]\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>\n  protected _version: string\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    requireModule?: NodeJS.Require,\n  )\n  get components(): ComponentRegistrationInfo[]\n  get config(): Readonly<ProjectConfigNormalized>\n  get fileNames(): string[]\n  get globalComponents(): ComponentRegistrationInfo[]\n  protected isDirty: boolean\n  abstract kind: 'inferred' | 'configured'\n  protected loadGlobalComponents(): void\n  markDirty(): void\n  readonly packageFile: string | undefined\n  packageJSON: PackageJSON\n  protected abstract refresh(): void\n  protected reloadIfNeeded(): void\n  protected readonly requireModule: NodeJS.Require\n  readonly rootDir: string\n  setConfig(config: ProjectConfig): void\n  setFileNames(fileNames: string[]): void\n  get version(): string\n  get vueFileNames(): string[]\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n**Signature:**\n\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n**Signature:**\n\n```ts\nmarkDirty(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected abstract refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n**Signature:**\n\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n**Signature:**\n\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type                                                                                    | Description |\n| --------- | --------------------------------------------------------------------------------------- | ----------- |\n| config    | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | -           |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createAnalyzer(\n  plugins: Plugin[],\n  options?: Partial<Context['parsers']>,\n): Analyzer\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createFullAnalyzer(\n  plugins?: Plugin[],\n  options?: Partial<Context['parsers']>,\n): ReturnType<typeof createAnalyzer>\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createSourceRange(\n  context: Context | ScriptAnalyzerContext,\n  node: Node,\n): SourceRange\n```\n\n| Parameter | Type                                                                                                                                                              | Description |\n| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| context   | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | -           |\n| node      | <code><a href=\"#-babel-types-Node-type\">Node</a></code>                                                                                                           | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function transformToFunction(\n  content: string,\n  options?: FunctionTransformOptions,\n): string\n```\n\n| Parameter | Type                                                                                                    | Description |\n| --------- | ------------------------------------------------------------------------------------------------------- | ----------- |\n| content   | <code>string</code>                                                                                     | -           |\n| options   | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | -           |\n\n</details>\n<br>\n\n## Types\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n```ts\ninterface Analyzer {\n  analyze: (content: string, fileName?: string) => ComponentInfo\n  analyzeScript: (\n    content: string,\n    fileName?: string,\n    mode?: 'script' | 'scriptSetup',\n  ) => ComponentInfo\n  analyzeTemplate: (content: string, fileName?: string) => ComponentInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n```ts\ninterface ComponentInfo {\n  components: LocalComponentRegistrationInfo[]\n  emits: EmitInfo[]\n  errors: SyntaxError[]\n  fnSetupOption?: SetupInfo\n  identifierSource: Record<string, IdentifierSource>\n  options?: ComponentOptionsInfo\n  props: PropInfo[]\n  scriptSetup?: ScriptSetupInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[]\n  name: string\n  source: ImportSource\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string\n  isDynamic: boolean\n  isInferred: boolean\n  name: string\n  references: SourceRange[]\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n```ts\ninterface ImportSource {\n  exportName?: string\n  localName: string\n  moduleName: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n```ts\ninterface LocalComponentRegistrationInfo\n  extends ComponentRegistrationInfo,\n    Addressable {\n  kind: 'script' | 'scriptSetup'\n  source: ImportSourceWithLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler\n  blocks?: Partial<{\n    script: BlockAnalyzer<SFCScriptBlock>\n    template: BlockAnalyzer<SFCTemplateBlock>\n    style: BlockAnalyzer<SFCStyleBlock>\n  }> &\n    Record<string, BlockAnalyzer<any>>\n  declaration?: ComponentDeclarationAnalyzer[]\n  options?:\n    | ComponentOptionsAnalyzer[]\n    | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>\n  setup?: ComponentSetupFnAnalyzer[]\n  templateExpression?: (node: File, context: Context) => void\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null\n  description: string\n  name: string\n  required: boolean\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable\n  defineProps?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n    identifiers: Partial<{\n      attrs: string\n      slots: string\n      emit: string\n    }>\n    rest?: string\n  } & Addressable\n  props?: {\n    identifiers: string[]\n    rest?: string\n  } & Addressable\n  return?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n```ts\ninterface SourceRange {\n  end: SourceLocation\n  source: string\n  start: SourceLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation\n  message: string\n}\n```\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1608281809.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-kAfNe6i0+/YdilKtl3eG/MjMa4Q3GAaZGh+74fL+LrIdCkD3r3mneLg5ETTeTuZ6oNUaM6FN06D0JKY+aUuTRQ==","shasum":"a24ed97fec41811089754e420b391ba5aaa55b19","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1608281809.0.tgz","fileCount":9,"unpackedSize":435364,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3G7nCRA9TVsSAnZWagAAjvwP/Avamfbmx6qyBYw1mMkJ\nHoTfhsaZ1cACaYy31k37i0EUr2YoX/tX4jGGs8uTkvq2CAjAiycAPo4IxW31\nvESE6DhW9xbF0Dq3gMAQ8FK+gH52jugO9MS5DKsmBWcJLZ8Oa0e7IZ4YctPE\njARYilmCrf4klSeOJ5pIG9OZvfyRx8cSGDMdU1gpw5zeuxGhAUyb/QnXlPwz\nfA+H0AXKKpEYxCUmDdnUKZWUbM6pozna6fqeWuP/tgMBgBTMXNasZYJUWbMj\nFKPFfIJKTux8CX01RbZOjtUg4h42Vd/MzCnFJvItxXbQ/NXLdDBdO2Yk4QnP\nY8yuQKPtlDK4obJWJtGhw0muDNYFRyg0C18gouH7cf9jRB6oI6EuIoCWKdDR\na5tHXdwzz3PMLcSaHo6eTPKEH5+fXS589FlfUhQ1CSUb0VZhyHXFvpK0QpL6\nzjFJkmOyY31CVKeQG7Ht4BtnxGFnzd4owiq8NrOZd/fZ2c/j3YUMwTBw59Im\nogCeDgcMpSP2V3vSrJSTGa9uwEkEadsJzFrlI5/c+aVlbGuex5UrGqHad1pP\n9Og4NjPobRaV7hepk03clen7QL7s5jf3wq7lsxa51MX/74MJtqVZPvr+YhV2\nZObYU1RIySOiuxBKZaUpYDOVaxH4KpjdCvjRHvZ5Sg5KaithnewO0bPNr4RW\nJNJn\r\n=0HuU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID2dLvnIhULYtnij2t24o9eMGQ6FWG2+vs+nwHSRzEf8AiEAhYJ+s2OEOpe72K7JUQUy1wfNZXFYRO3unnbo+ezgmF8="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1608281809.0_1608281830984_0.5838182826866858"},"_hasShrinkwrap":false},"0.3.1-insiders-1608285835.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1608285835.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1608285835.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608285835.0","@vuedx/projectconfig":"0.3.3-insiders-1608285835.0","@vuedx/template-ast-types":"0.3.1-insiders-1608285835.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@vuedx/shared":"0.0.1-insiders-1608285835.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    configFile: string,\n    config: Readonly<ProjectConfig>,\n    requireModule?: NodeJS.Require,\n  )\n  readonly configFile: string\n  kind: 'configured'\n  protected refresh(): void\n  setFileNames(fileNames: string[]): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: 'inferred'\n  protected refresh(): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>\n  protected _externalComponents: ComponentRegistrationInfo[]\n  protected _fileNames: string[]\n  protected _globalComponents: ComponentRegistrationInfo[]\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>\n  protected _version: string\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    requireModule?: NodeJS.Require,\n  )\n  get components(): ComponentRegistrationInfo[]\n  get config(): Readonly<ProjectConfigNormalized>\n  get fileNames(): string[]\n  get globalComponents(): ComponentRegistrationInfo[]\n  protected isDirty: boolean\n  abstract kind: 'inferred' | 'configured'\n  protected loadGlobalComponents(): void\n  markDirty(): void\n  readonly packageFile: string | undefined\n  packageJSON: PackageJSON\n  protected abstract refresh(): void\n  protected reloadIfNeeded(): void\n  protected readonly requireModule: NodeJS.Require\n  readonly rootDir: string\n  setConfig(config: ProjectConfig): void\n  setFileNames(fileNames: string[]): void\n  get version(): string\n  get vueFileNames(): string[]\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n**Signature:**\n\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n**Signature:**\n\n```ts\nmarkDirty(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected abstract refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n**Signature:**\n\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n**Signature:**\n\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type                                                                                    | Description |\n| --------- | --------------------------------------------------------------------------------------- | ----------- |\n| config    | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | -           |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createAnalyzer(\n  plugins: Plugin[],\n  options?: Partial<Context['parsers']>,\n): Analyzer\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createFullAnalyzer(\n  plugins?: Plugin[],\n  options?: Partial<Context['parsers']>,\n): ReturnType<typeof createAnalyzer>\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createSourceRange(\n  context: Context | ScriptAnalyzerContext,\n  node: Node,\n): SourceRange\n```\n\n| Parameter | Type                                                                                                                                                              | Description |\n| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| context   | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | -           |\n| node      | <code><a href=\"#-babel-types-Node-type\">Node</a></code>                                                                                                           | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function transformToFunction(\n  content: string,\n  options?: FunctionTransformOptions,\n): string\n```\n\n| Parameter | Type                                                                                                    | Description |\n| --------- | ------------------------------------------------------------------------------------------------------- | ----------- |\n| content   | <code>string</code>                                                                                     | -           |\n| options   | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | -           |\n\n</details>\n<br>\n\n## Types\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n```ts\ninterface Analyzer {\n  analyze: (content: string, fileName?: string) => ComponentInfo\n  analyzeScript: (\n    content: string,\n    fileName?: string,\n    mode?: 'script' | 'scriptSetup',\n  ) => ComponentInfo\n  analyzeTemplate: (content: string, fileName?: string) => ComponentInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n```ts\ninterface ComponentInfo {\n  components: LocalComponentRegistrationInfo[]\n  emits: EmitInfo[]\n  errors: SyntaxError[]\n  fnSetupOption?: SetupInfo\n  identifierSource: Record<string, IdentifierSource>\n  options?: ComponentOptionsInfo\n  props: PropInfo[]\n  scriptSetup?: ScriptSetupInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[]\n  name: string\n  source: ImportSource\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string\n  isDynamic: boolean\n  isInferred: boolean\n  name: string\n  references: SourceRange[]\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n```ts\ninterface ImportSource {\n  exportName?: string\n  localName: string\n  moduleName: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n```ts\ninterface LocalComponentRegistrationInfo\n  extends ComponentRegistrationInfo,\n    Addressable {\n  kind: 'script' | 'scriptSetup'\n  source: ImportSourceWithLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler\n  blocks?: Partial<{\n    script: BlockAnalyzer<SFCScriptBlock>\n    template: BlockAnalyzer<SFCTemplateBlock>\n    style: BlockAnalyzer<SFCStyleBlock>\n  }> &\n    Record<string, BlockAnalyzer<any>>\n  declaration?: ComponentDeclarationAnalyzer[]\n  options?:\n    | ComponentOptionsAnalyzer[]\n    | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>\n  setup?: ComponentSetupFnAnalyzer[]\n  templateExpression?: (node: File, context: Context) => void\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null\n  description: string\n  name: string\n  required: boolean\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable\n  defineProps?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n    identifiers: Partial<{\n      attrs: string\n      slots: string\n      emit: string\n    }>\n    rest?: string\n  } & Addressable\n  props?: {\n    identifiers: string[]\n    rest?: string\n  } & Addressable\n  return?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n```ts\ninterface SourceRange {\n  end: SourceLocation\n  source: string\n  start: SourceLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation\n  message: string\n}\n```\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1608285835.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-wXmRu2nH7FHjYvUUuOAmc4Y4gYaXsnoM1iMgNmZ/lM5DeoZ/0LuJYgZVijWNv8DnsWgfCMPMjdyP+ksJ8+am0A==","shasum":"0473199551282724667687f1c83c6b3d14d1ccf9","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1608285835.0.tgz","fileCount":9,"unpackedSize":436592,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3H6jCRA9TVsSAnZWagAAdAMP/jdhhHL1AxnQKai6gm4d\nRZOCInRBD0nj0GiLGFiuK3NEBJT7abm7A8MN/Zjbhn4GlP4ygRqnz0UVOnnd\nK26Rgab1WE6J+QaNKejeAnpGWG/lPZSgx6035HRPUeryTqeNpmpjYH81N4gW\n13lLA+dqMwwrXLO/afUvj+BTGt6BPCJo29BPghPcdTS8G9j+h3QcEp285Spb\naMpiVAfKMzXUXONmaIVZAptqVJGrITJfm256b+w9mkT1QaeSKSloz8B5OZ06\nZ8ZT6D7KnRscWh8k1b8yZzfkr9zuHaZDmDJmVfhw0RhVqycIxW/Sq7Y4E6an\njKQQ5KVhYN1LQu65toAJIbZ0xCUIaiHzIGuRArBJO4rGm32pJBi5hlJBy8WR\notoxC6guCPcO7/YR8e+mqtMrZri7HXeUhhe0bhvVhAD7iUWaOzmeDIBbuhsv\nY5zMka2vyhE82PijD5jl+vMOzGYowniOE3z9ZaMSsEnLOdtIF1Yrp4bekIQ1\nvnzyWhwZGwcR9ZFZgwcmlVNKSg7M6R3OEExXQNLPZAssqPhENF/VTSHpcDgE\nbHli4IxhO97DeMPMPUs0E/kKW7XXrTCKEVZfVINZC+BZDGrGIdkgta1yPw2+\nw+ZqEDUrkxxDQFuHkxDcRZY9tEwG8QGzM7aAWyvNg7ZjpiUJCkVHBj2H7d4y\nVpOz\r\n=wRfG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBYp0FY+OBb3gl+MWQA6f+o83VPeIpNS0hKvaiJz7GIUAiBg/h0YNi56DvN9GW2hof1tkq48fiAC2TmNoMmW9n0Etw=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1608285835.0_1608285858871_0.007442886314257491"},"_hasShrinkwrap":false},"0.3.1-insiders-1608294809.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1608294809.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1608294809.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608294809.0","@vuedx/projectconfig":"0.3.3-insiders-1608294809.0","@vuedx/template-ast-types":"0.3.1-insiders-1608294809.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.0.1-insiders-1608294809.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    configFile: string,\n    config: Readonly<ProjectConfig>,\n    requireModule?: NodeJS.Require,\n  )\n  readonly configFile: string\n  kind: 'configured'\n  protected refresh(): void\n  setFileNames(fileNames: string[]): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: 'inferred'\n  protected refresh(): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>\n  protected _externalComponents: ComponentRegistrationInfo[]\n  protected _fileNames: string[]\n  protected _globalComponents: ComponentRegistrationInfo[]\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>\n  protected _version: string\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    requireModule?: NodeJS.Require,\n  )\n  get components(): ComponentRegistrationInfo[]\n  get config(): Readonly<ProjectConfigNormalized>\n  get fileNames(): string[]\n  get globalComponents(): ComponentRegistrationInfo[]\n  protected isDirty: boolean\n  abstract kind: 'inferred' | 'configured'\n  protected loadGlobalComponents(): void\n  markDirty(): void\n  readonly packageFile: string | undefined\n  packageJSON: PackageJSON\n  protected abstract refresh(): void\n  protected reloadIfNeeded(): void\n  protected readonly requireModule: NodeJS.Require\n  readonly rootDir: string\n  setConfig(config: ProjectConfig): void\n  setFileNames(fileNames: string[]): void\n  get version(): string\n  get vueFileNames(): string[]\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n**Signature:**\n\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n**Signature:**\n\n```ts\nmarkDirty(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected abstract refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n**Signature:**\n\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n**Signature:**\n\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type                                                                                    | Description |\n| --------- | --------------------------------------------------------------------------------------- | ----------- |\n| config    | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | -           |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createAnalyzer(\n  plugins: Plugin[],\n  options?: Partial<Context['parsers']>,\n): Analyzer\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createFullAnalyzer(\n  plugins?: Plugin[],\n  options?: Partial<Context['parsers']>,\n): ReturnType<typeof createAnalyzer>\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createSourceRange(\n  context: Context | ScriptAnalyzerContext,\n  node: Node,\n): SourceRange\n```\n\n| Parameter | Type                                                                                                                                                              | Description |\n| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| context   | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | -           |\n| node      | <code><a href=\"#-babel-types-Node-type\">Node</a></code>                                                                                                           | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function transformToFunction(\n  content: string,\n  options?: FunctionTransformOptions,\n): string\n```\n\n| Parameter | Type                                                                                                    | Description |\n| --------- | ------------------------------------------------------------------------------------------------------- | ----------- |\n| content   | <code>string</code>                                                                                     | -           |\n| options   | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | -           |\n\n</details>\n<br>\n\n## Types\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n```ts\ninterface Analyzer {\n  analyze: (content: string, fileName?: string) => ComponentInfo\n  analyzeScript: (\n    content: string,\n    fileName?: string,\n    mode?: 'script' | 'scriptSetup',\n  ) => ComponentInfo\n  analyzeTemplate: (content: string, fileName?: string) => ComponentInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n```ts\ninterface ComponentInfo {\n  components: LocalComponentRegistrationInfo[]\n  emits: EmitInfo[]\n  errors: SyntaxError[]\n  fnSetupOption?: SetupInfo\n  identifierSource: Record<string, IdentifierSource>\n  options?: ComponentOptionsInfo\n  props: PropInfo[]\n  scriptSetup?: ScriptSetupInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[]\n  name: string\n  source: ImportSource\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string\n  isDynamic: boolean\n  isInferred: boolean\n  name: string\n  references: SourceRange[]\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n```ts\ninterface ImportSource {\n  exportName?: string\n  localName: string\n  moduleName: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n```ts\ninterface LocalComponentRegistrationInfo\n  extends ComponentRegistrationInfo,\n    Addressable {\n  kind: 'script' | 'scriptSetup'\n  source: ImportSourceWithLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler\n  blocks?: Partial<{\n    script: BlockAnalyzer<SFCScriptBlock>\n    template: BlockAnalyzer<SFCTemplateBlock>\n    style: BlockAnalyzer<SFCStyleBlock>\n  }> &\n    Record<string, BlockAnalyzer<any>>\n  declaration?: ComponentDeclarationAnalyzer[]\n  options?:\n    | ComponentOptionsAnalyzer[]\n    | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>\n  setup?: ComponentSetupFnAnalyzer[]\n  templateExpression?: (node: File, context: Context) => void\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null\n  description: string\n  name: string\n  required: boolean\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable\n  defineProps?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n    identifiers: Partial<{\n      attrs: string\n      slots: string\n      emit: string\n    }>\n    rest?: string\n  } & Addressable\n  props?: {\n    identifiers: string[]\n    rest?: string\n  } & Addressable\n  return?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n```ts\ninterface SourceRange {\n  end: SourceLocation\n  source: string\n  start: SourceLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation\n  message: string\n}\n```\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1608294809.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-m37sLhZ9QB91IzPMx9GBANk90QgEcjbNYjdlSRco1k9CI/I3dRytgX9Cf3tUSu3APFXkwBZwo/yryAnYAZU34g==","shasum":"cbe54f8bbff11349e97f3aece6dab8b4ec67d92d","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1608294809.0.tgz","fileCount":9,"unpackedSize":474862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3KGvCRA9TVsSAnZWagAAytkP/AuzqLv7IdReqQpzCe91\nV2AnPvUOp/eTA9J4T+jt2L/IzT2qJxETLeh3w4Vr8cxQgle+z5ca9FMejuoo\nW8WdgVGLG9tkecD+Su4mL6I7WjyJcIn6TyJ5bJ2h57LHKn81VKs/ic6cBmWK\nqcRV9zFVQInJ9ZoTwsITJn6/W7u4F7jQH/nbJ5uz6qu7Zd9SykIZsiGoQT3h\nj/jwfc5mvk6ZD6h5daprMoo7/6bSywQJjIuNafA28jvbx1Xq39Cy11t0kYl8\nHUQD8gve3sIKbY/6cVKkSmYrqs87+gMb4vWf12XU0Ts/9H3/TpAVU+B6leoM\nbtPm3zDODgPCBobhEaZDSCB46V5vBHwdL9RGliFNiMZ9hao0BEhrt+xtNMvX\nKjr8IUzv7OwbmTC5JS55CUIYr+nx4ZReIAUnP+Ucf4EvKuxAGESg+QwZI61y\nNwyuhdWvOR/8TGRPANy/JCDG1btBSrfH05VvRSCCUSck8bz81BH8oMSZQthX\n2f/rpANBuiWglt7oCi89uzzF/gcDW6JkmzHiYFWCcrDGAkxyI2kIVkVT7vz6\ntGoqJPGmCe0sy+5qBesVq7phWyRISD7xTpk2wMPMxaH2pnOt8NUriVoBipFl\nvLp3qZmfyS1Wap9xr6Qm+FJQEglFIJAZGrkfa6FxzXDf6C61u/pvpWzxdL3q\n8OZH\r\n=y87i\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFwChCirsVjZqp2jYPJf39MmmKVA1RRtxEGdJ9F5C5XQIhAM9/n5zZvAOk5sZzBQWy9Mxp1lekoWXOX0BEEGKvQ+a2"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1608294809.0_1608294830545_0.39262370858708073"},"_hasShrinkwrap":false},"0.3.1-insiders-1608632613.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1608632613.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1608632613.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608632613.0","@vuedx/projectconfig":"0.3.3-insiders-1608632613.0","@vuedx/template-ast-types":"0.3.1-insiders-1608632613.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.0.1-insiders-1608632613.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    configFile: string,\n    config: Readonly<ProjectConfig>,\n    requireModule?: NodeJS.Require,\n  )\n  readonly configFile: string\n  kind: 'configured'\n  protected refresh(): void\n  setFileNames(fileNames: string[]): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: 'inferred'\n  protected refresh(): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>\n  protected _externalComponents: ComponentRegistrationInfo[]\n  protected _fileNames: string[]\n  protected _globalComponents: ComponentRegistrationInfo[]\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>\n  protected _version: string\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    requireModule?: NodeJS.Require,\n  )\n  get components(): ComponentRegistrationInfo[]\n  get config(): Readonly<ProjectConfigNormalized>\n  get fileNames(): string[]\n  get globalComponents(): ComponentRegistrationInfo[]\n  protected isDirty: boolean\n  abstract kind: 'inferred' | 'configured'\n  protected loadGlobalComponents(): void\n  markDirty(): void\n  readonly packageFile: string | undefined\n  packageJSON: PackageJSON\n  protected abstract refresh(): void\n  protected reloadIfNeeded(): void\n  protected readonly requireModule: NodeJS.Require\n  readonly rootDir: string\n  setConfig(config: ProjectConfig): void\n  setFileNames(fileNames: string[]): void\n  get version(): string\n  get vueFileNames(): string[]\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n**Signature:**\n\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n**Signature:**\n\n```ts\nmarkDirty(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected abstract refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n**Signature:**\n\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n**Signature:**\n\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type                                                                                    | Description |\n| --------- | --------------------------------------------------------------------------------------- | ----------- |\n| config    | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | -           |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createAnalyzer(\n  plugins: Plugin[],\n  options?: Partial<Context['parsers']>,\n): Analyzer\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createFullAnalyzer(\n  plugins?: Plugin[],\n  options?: Partial<Context['parsers']>,\n): ReturnType<typeof createAnalyzer>\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createSourceRange(\n  context: Context | ScriptAnalyzerContext,\n  node: Node,\n): SourceRange\n```\n\n| Parameter | Type                                                                                                                                                              | Description |\n| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| context   | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | -           |\n| node      | <code><a href=\"#-babel-types-Node-type\">Node</a></code>                                                                                                           | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function transformToFunction(\n  content: string,\n  options?: FunctionTransformOptions,\n): string\n```\n\n| Parameter | Type                                                                                                    | Description |\n| --------- | ------------------------------------------------------------------------------------------------------- | ----------- |\n| content   | <code>string</code>                                                                                     | -           |\n| options   | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | -           |\n\n</details>\n<br>\n\n## Types\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n```ts\ninterface Analyzer {\n  analyze: (content: string, fileName?: string) => ComponentInfo\n  analyzeScript: (\n    content: string,\n    fileName?: string,\n    mode?: 'script' | 'scriptSetup',\n  ) => ComponentInfo\n  analyzeTemplate: (content: string, fileName?: string) => ComponentInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n```ts\ninterface ComponentInfo {\n  components: LocalComponentRegistrationInfo[]\n  emits: EmitInfo[]\n  errors: SyntaxError[]\n  fnSetupOption?: SetupInfo\n  identifierSource: Record<string, IdentifierSource>\n  options?: ComponentOptionsInfo\n  props: PropInfo[]\n  scriptSetup?: ScriptSetupInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[]\n  name: string\n  source: ImportSource\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string\n  isDynamic: boolean\n  isInferred: boolean\n  name: string\n  references: SourceRange[]\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n```ts\ninterface ImportSource {\n  exportName?: string\n  localName: string\n  moduleName: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n```ts\ninterface LocalComponentRegistrationInfo\n  extends ComponentRegistrationInfo,\n    Addressable {\n  kind: 'script' | 'scriptSetup'\n  source: ImportSourceWithLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler\n  blocks?: Partial<{\n    script: BlockAnalyzer<SFCScriptBlock>\n    template: BlockAnalyzer<SFCTemplateBlock>\n    style: BlockAnalyzer<SFCStyleBlock>\n  }> &\n    Record<string, BlockAnalyzer<any>>\n  declaration?: ComponentDeclarationAnalyzer[]\n  options?:\n    | ComponentOptionsAnalyzer[]\n    | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>\n  setup?: ComponentSetupFnAnalyzer[]\n  templateExpression?: (node: File, context: Context) => void\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null\n  description: string\n  name: string\n  required: boolean\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable\n  defineProps?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n    identifiers: Partial<{\n      attrs: string\n      slots: string\n      emit: string\n    }>\n    rest?: string\n  } & Addressable\n  props?: {\n    identifiers: string[]\n    rest?: string\n  } & Addressable\n  return?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n```ts\ninterface SourceRange {\n  end: SourceLocation\n  source: string\n  start: SourceLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation\n  message: string\n}\n```\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1608632613.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-D0okGTV7xXfigATtA1EJmvlxszAat7vz+00a1GwaLefAuBShd7oMv2PZt8rqFIV4f2NITjSqJYr0uhM6NGbJ3g==","shasum":"8b371b922c381533d56286d9aeabdd35b7b60947","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1608632613.0.tgz","fileCount":9,"unpackedSize":474862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4ck8CRA9TVsSAnZWagAA+W4P/06AedG6RCb/vv5+B3Dj\nE4R1g4Z2R/DdrylNubpQtGsq9at1w6C8BrafJgMZi5ebxfxPQ/7Bm1t9n/ge\nKRrvTJZUpMwt35JeNYE+VtDCXej0/h0gPVAsvCcUJGQgCJovTFON6QLy8iqk\nDkjMASp7xMzbgFKtrUDyRnquKTkGGSW/p8ZtUxbjsFuY/qbQq9vax3/6GQJH\nAInLZ+nTByHJ7lHAOSc9iW5Nj2RUOsKFQr6pCMQgRgEEyMwYBU0ezNrFuIyU\ndshFZEH6joxKXQ1w+02wKXAkdc1od1wns7M2tCNSboNBqtT9Zo2NKteHy8RA\nQl1Ajc4P7HHJ7vVOplugPXVw67P/EWkdGuzCru0d5F0Z/s7LnINv2Scn6MHw\n4LlvEgH0x+2M9LFgbTARyuep3JQc0ehxReRKTNaP8V2sZ0yEMdJ6zSfoffob\ntgvQV24gBcD44fb6XMIRtPbWhoQukEAP/dd5YKJM/Z8H9XdYD7ucrRa1Gt6P\nFt6nGRB0pQ7g2w7zHzFxiKLy1T4S3hqzBH4pVXlz06GLoacg6pDtv5E90cpw\nd3PezDiwV4BtUHqlwPk+Mlm4KVrQnGCMhgTpco+81oH0wjRZwu3aSsTiTUnp\ncoNqSUTHVrxBEw0KydGfZBC6S0WWY0bPBMxBlVcR4+UlOkx7GJEq+Pcejg53\nsDMI\r\n=cWBf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHL9j7DDvu6EzsF3XKko0n1QxDV2kJz8S0K4IctxZBVrAiEAly9jWZ4EgSdmPuS+HRqS4i36Gu9iKBbSDqlGk2SYrgI="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1608632613.0_1608632635709_0.06831881097975279"},"_hasShrinkwrap":false},"0.3.1-insiders-1608642006.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1608642006.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1608642006.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608642006.0","@vuedx/projectconfig":"0.3.3-insiders-1608642006.0","@vuedx/template-ast-types":"0.3.1-insiders-1608642006.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.0.1-insiders-1608642006.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    configFile: string,\n    config: Readonly<ProjectConfig>,\n    requireModule?: NodeJS.Require,\n  )\n  readonly configFile: string\n  kind: 'configured'\n  protected refresh(): void\n  setFileNames(fileNames: string[]): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: 'inferred'\n  protected refresh(): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>\n  protected _externalComponents: ComponentRegistrationInfo[]\n  protected _fileNames: string[]\n  protected _globalComponents: ComponentRegistrationInfo[]\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>\n  protected _version: string\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    requireModule?: NodeJS.Require,\n  )\n  get components(): ComponentRegistrationInfo[]\n  get config(): Readonly<ProjectConfigNormalized>\n  get fileNames(): string[]\n  get globalComponents(): ComponentRegistrationInfo[]\n  protected isDirty: boolean\n  abstract kind: 'inferred' | 'configured'\n  protected loadGlobalComponents(): void\n  markDirty(): void\n  readonly packageFile: string | undefined\n  packageJSON: PackageJSON\n  protected abstract refresh(): void\n  protected reloadIfNeeded(): void\n  protected readonly requireModule: NodeJS.Require\n  readonly rootDir: string\n  setConfig(config: ProjectConfig): void\n  setFileNames(fileNames: string[]): void\n  get version(): string\n  get vueFileNames(): string[]\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n**Signature:**\n\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n**Signature:**\n\n```ts\nmarkDirty(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected abstract refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n**Signature:**\n\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n**Signature:**\n\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type                                                                                    | Description |\n| --------- | --------------------------------------------------------------------------------------- | ----------- |\n| config    | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | -           |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createAnalyzer(\n  plugins: Plugin[],\n  options?: Partial<Context['parsers']>,\n): Analyzer\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createFullAnalyzer(\n  plugins?: Plugin[],\n  options?: Partial<Context['parsers']>,\n): ReturnType<typeof createAnalyzer>\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createSourceRange(\n  context: Context | ScriptAnalyzerContext,\n  node: Node,\n): SourceRange\n```\n\n| Parameter | Type                                                                                                                                                              | Description |\n| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| context   | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | -           |\n| node      | <code><a href=\"#-babel-types-Node-type\">Node</a></code>                                                                                                           | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function transformToFunction(\n  content: string,\n  options?: FunctionTransformOptions,\n): string\n```\n\n| Parameter | Type                                                                                                    | Description |\n| --------- | ------------------------------------------------------------------------------------------------------- | ----------- |\n| content   | <code>string</code>                                                                                     | -           |\n| options   | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | -           |\n\n</details>\n<br>\n\n## Types\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n```ts\ninterface Analyzer {\n  analyze: (content: string, fileName?: string) => ComponentInfo\n  analyzeScript: (\n    content: string,\n    fileName?: string,\n    mode?: 'script' | 'scriptSetup',\n  ) => ComponentInfo\n  analyzeTemplate: (content: string, fileName?: string) => ComponentInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n```ts\ninterface ComponentInfo {\n  components: LocalComponentRegistrationInfo[]\n  emits: EmitInfo[]\n  errors: SyntaxError[]\n  fnSetupOption?: SetupInfo\n  identifierSource: Record<string, IdentifierSource>\n  options?: ComponentOptionsInfo\n  props: PropInfo[]\n  scriptSetup?: ScriptSetupInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[]\n  name: string\n  source: ImportSource\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string\n  isDynamic: boolean\n  isInferred: boolean\n  name: string\n  references: SourceRange[]\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n```ts\ninterface ImportSource {\n  exportName?: string\n  localName: string\n  moduleName: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n```ts\ninterface LocalComponentRegistrationInfo\n  extends ComponentRegistrationInfo,\n    Addressable {\n  kind: 'script' | 'scriptSetup'\n  source: ImportSourceWithLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler\n  blocks?: Partial<{\n    script: BlockAnalyzer<SFCScriptBlock>\n    template: BlockAnalyzer<SFCTemplateBlock>\n    style: BlockAnalyzer<SFCStyleBlock>\n  }> &\n    Record<string, BlockAnalyzer<any>>\n  declaration?: ComponentDeclarationAnalyzer[]\n  options?:\n    | ComponentOptionsAnalyzer[]\n    | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>\n  setup?: ComponentSetupFnAnalyzer[]\n  templateExpression?: (node: File, context: Context) => void\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null\n  description: string\n  name: string\n  required: boolean\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable\n  defineProps?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n    identifiers: Partial<{\n      attrs: string\n      slots: string\n      emit: string\n    }>\n    rest?: string\n  } & Addressable\n  props?: {\n    identifiers: string[]\n    rest?: string\n  } & Addressable\n  return?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n```ts\ninterface SourceRange {\n  end: SourceLocation\n  source: string\n  start: SourceLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation\n  message: string\n}\n```\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1608642006.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-GODyWSznbxUinma9gIf9QJBA6/NCf/vCgNyDO3Jx0F/WDWg4cJLA69JMzJYnVpWDelBsrUzKsC+DK7P86SVH8Q==","shasum":"ba56dab44cd0310ac1217c8bf44a5106f460c5fe","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1608642006.0.tgz","fileCount":9,"unpackedSize":475686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4e3rCRA9TVsSAnZWagAAweUQAIle7+eou9IxXMjyT/s8\nWuz0KWyrlH7MeLEuqiLlpH62YLTfZ41zc8pCVI4fkRp8oKGgmDpWORwU4AXE\ngqiman5ZBu8/mAgXUH38a41Od28jmHZTeOOnlCZDDxQ3GVkzhafTWpwK5Xnh\nVC45odsYNoA5+0NJqyD3pXrMO2gWLS/F4xGmW/kAWM2JnlYv01GtXHXYli7l\n77f9dZ0ARMwSQda4K3uo3GmYAqM6AaL18RPm3UAPf/Go3Eyi9obeKac1b6Hk\ndclNl/Iob2QIK6xMW8RKpx1w/FlnG0PeoP6vvdYgy/N91w2xSU1zo49hqZFf\nWOQo0wjGviQPoncNk/UXr8/UOAmiQM4PYaGuyolVQ/oI0Wx3BuywqvobBxCx\nwsj3ogFAhJW8CYkch0YUUurkIcVG4ObFDRTAuxQibrfwmyRRVFFZnS+qaMBx\n/YkkAn1TIDLOyhGAlGV3V2UII5+htzw9ILOIwSS7xy3bY0AzI2LaXEo4PAT7\nCILlFkxhn3R5NwBN9lh8wh71t6tXfa8mGFDoSQXzk3rb3JRklgdnfg2Wedfg\nRbTksda72GqHHsd81LZRMQpTz1N4d/yDImc0lWmtik04LGZGKaeTffxNx12G\nzZbbBmlhox0xu/nlcjS7rh0+smyd02mb51HOoBPKvnpfYwNqcilLc/dE0wzG\nPSP8\r\n=aEmH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA80ts8bC1uNXY7jqEo+zvYKOPOMRptWc0WAOLn6nOS/AiEAuttbznHw781vO1JRrPIEdcbcjdIomLVmrU3ThwFUh88="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1608642006.0_1608642026834_0.1132303550425453"},"_hasShrinkwrap":false},"0.3.1-insiders-1608679071.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1608679071.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1608679071.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608679071.0","@vuedx/projectconfig":"0.3.3-insiders-1608679071.0","@vuedx/template-ast-types":"0.3.1-insiders-1608679071.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.0.1-insiders-1608679071.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    configFile: string,\n    config: Readonly<ProjectConfig>,\n    requireModule?: NodeJS.Require,\n  )\n  readonly configFile: string\n  kind: 'configured'\n  protected refresh(): void\n  setFileNames(fileNames: string[]): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: 'inferred'\n  protected refresh(): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>\n  protected _externalComponents: ComponentRegistrationInfo[]\n  protected _fileNames: string[]\n  protected _globalComponents: ComponentRegistrationInfo[]\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>\n  protected _version: string\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    requireModule?: NodeJS.Require,\n  )\n  get components(): ComponentRegistrationInfo[]\n  get config(): Readonly<ProjectConfigNormalized>\n  get fileNames(): string[]\n  get globalComponents(): ComponentRegistrationInfo[]\n  protected isDirty: boolean\n  abstract kind: 'inferred' | 'configured'\n  protected loadGlobalComponents(): void\n  markDirty(): void\n  readonly packageFile: string | undefined\n  packageJSON: PackageJSON\n  protected abstract refresh(): void\n  protected reloadIfNeeded(): void\n  protected readonly requireModule: NodeJS.Require\n  readonly rootDir: string\n  setConfig(config: ProjectConfig): void\n  setFileNames(fileNames: string[]): void\n  get version(): string\n  get vueFileNames(): string[]\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n**Signature:**\n\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n**Signature:**\n\n```ts\nmarkDirty(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected abstract refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n**Signature:**\n\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n**Signature:**\n\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type                                                                                    | Description |\n| --------- | --------------------------------------------------------------------------------------- | ----------- |\n| config    | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | -           |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createAnalyzer(\n  plugins: Plugin[],\n  options?: Partial<Context['parsers']>,\n): Analyzer\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createFullAnalyzer(\n  plugins?: Plugin[],\n  options?: Partial<Context['parsers']>,\n): ReturnType<typeof createAnalyzer>\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createSourceRange(\n  context: Context | ScriptAnalyzerContext,\n  node: Node,\n): SourceRange\n```\n\n| Parameter | Type                                                                                                                                                              | Description |\n| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| context   | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | -           |\n| node      | <code><a href=\"#-babel-types-Node-type\">Node</a></code>                                                                                                           | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function transformToFunction(\n  content: string,\n  options?: FunctionTransformOptions,\n): string\n```\n\n| Parameter | Type                                                                                                    | Description |\n| --------- | ------------------------------------------------------------------------------------------------------- | ----------- |\n| content   | <code>string</code>                                                                                     | -           |\n| options   | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | -           |\n\n</details>\n<br>\n\n## Types\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n```ts\ninterface Analyzer {\n  analyze: (content: string, fileName?: string) => ComponentInfo\n  analyzeScript: (\n    content: string,\n    fileName?: string,\n    mode?: 'script' | 'scriptSetup',\n  ) => ComponentInfo\n  analyzeTemplate: (content: string, fileName?: string) => ComponentInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n```ts\ninterface ComponentInfo {\n  components: LocalComponentRegistrationInfo[]\n  emits: EmitInfo[]\n  errors: SyntaxError[]\n  fnSetupOption?: SetupInfo\n  identifierSource: Record<string, IdentifierSource>\n  options?: ComponentOptionsInfo\n  props: PropInfo[]\n  scriptSetup?: ScriptSetupInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[]\n  name: string\n  source: ImportSource\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string\n  isDynamic: boolean\n  isInferred: boolean\n  name: string\n  references: SourceRange[]\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n```ts\ninterface ImportSource {\n  exportName?: string\n  localName: string\n  moduleName: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n```ts\ninterface LocalComponentRegistrationInfo\n  extends ComponentRegistrationInfo,\n    Addressable {\n  kind: 'script' | 'scriptSetup'\n  source: ImportSourceWithLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler\n  blocks?: Partial<{\n    script: BlockAnalyzer<SFCScriptBlock>\n    template: BlockAnalyzer<SFCTemplateBlock>\n    style: BlockAnalyzer<SFCStyleBlock>\n  }> &\n    Record<string, BlockAnalyzer<any>>\n  declaration?: ComponentDeclarationAnalyzer[]\n  options?:\n    | ComponentOptionsAnalyzer[]\n    | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>\n  setup?: ComponentSetupFnAnalyzer[]\n  templateExpression?: (node: File, context: Context) => void\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null\n  description: string\n  name: string\n  required: boolean\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable\n  defineProps?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n    identifiers: Partial<{\n      attrs: string\n      slots: string\n      emit: string\n    }>\n    rest?: string\n  } & Addressable\n  props?: {\n    identifiers: string[]\n    rest?: string\n  } & Addressable\n  return?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n```ts\ninterface SourceRange {\n  end: SourceLocation\n  source: string\n  start: SourceLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation\n  message: string\n}\n```\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1608679071.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-q76R5zU3uTZIUJUaz3gawlM7FaVoVljqchcNhSY2mbI9j6YajuWKEZQqtr/piYt1xI4Ag43cn61RvXhzLir+2g==","shasum":"d706ed3b0c67c7dd1421ad713e44aff73e2aa01b","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1608679071.0.tgz","fileCount":9,"unpackedSize":475686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4n62CRA9TVsSAnZWagAAy4QP/A9gikMpWEFozsQL6lTG\nxNjZlMK+fg8YToOIROdFoGHIbWIRmwO3GuWTTL3rOpccaEq0lWX7P2oxHaYO\nfrF9N5VPLWJyxJ2xzYyUgGfh5w0Ts/EXNbIhCuLBEUhJ9arDFIocWqFgd9qp\nKabT12NzLue1ONBeZ1pUzIAu/7BofaI2FcO6XlH9o5f7ALOSxfr3riowQvN2\nAiiDzIFWGc15VT/SAREPK96xocCoMqg+Hg+5/t2+AnFjwxFLtf8RG/WknHtD\nojUmH1relthBrtBwLSqdN3Rv4NQYkNrtRiy50diuuciDGuoHgEfhl4w9PTTf\naPzJ4U4UV5aMeLZYSgTqWLslI9U627i4MefVH3fxHF+pUfYCqbsOkjUf6XAr\nHXRhVT5/iKgkZy9qhqAXMoc387ZZxNhRQIrXYCEmSgyg+DBxiyj3xfXoDmg6\nR/OLRtk429X2ZvwY/axW8PfV+ujM5UaDnp8anJflo/4zV54FeeRIJQED/FaK\ncjoUG69w9h5wh9+b2RJMdgMtMNJwEVaeaDWWL9MtQMusDzehcOD6XwwYc12O\neMmAabmlt0AJO+Om8Lm7F4cQ1I/wUGvN2DEwJPLXOrish7vwJXnHZHrkVRwS\n+SBP0ZIN53Za1OsBBlNWDHRVvjOhckQmYCVrFFI3eMBydBHz1AGv9xQT3C5c\neE+N\r\n=XCKG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEu4UpW5mOYsuFR253nH/7TCCxDzPUQ2rMQNQX07O1exAiB2mX0IUwUIuBgaBDddShbX+tpv5tqdYseNKpNd+NMAsg=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1608679071.0_1608679093654_0.6673764037969552"},"_hasShrinkwrap":false},"0.3.1-insiders-1608679989.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1608679989.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1608679989.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608679989.0","@vuedx/projectconfig":"0.3.3-insiders-1608679989.0","@vuedx/template-ast-types":"0.3.1-insiders-1608679989.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.0.1-insiders-1608679989.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    configFile: string,\n    config: Readonly<ProjectConfig>,\n    requireModule?: NodeJS.Require,\n  )\n  readonly configFile: string\n  kind: 'configured'\n  protected refresh(): void\n  setFileNames(fileNames: string[]): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: 'inferred'\n  protected refresh(): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>\n  protected _externalComponents: ComponentRegistrationInfo[]\n  protected _fileNames: string[]\n  protected _globalComponents: ComponentRegistrationInfo[]\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>\n  protected _version: string\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    requireModule?: NodeJS.Require,\n  )\n  get components(): ComponentRegistrationInfo[]\n  get config(): Readonly<ProjectConfigNormalized>\n  get fileNames(): string[]\n  get globalComponents(): ComponentRegistrationInfo[]\n  protected isDirty: boolean\n  abstract kind: 'inferred' | 'configured'\n  protected loadGlobalComponents(): void\n  markDirty(): void\n  readonly packageFile: string | undefined\n  packageJSON: PackageJSON\n  protected abstract refresh(): void\n  protected reloadIfNeeded(): void\n  protected readonly requireModule: NodeJS.Require\n  readonly rootDir: string\n  setConfig(config: ProjectConfig): void\n  setFileNames(fileNames: string[]): void\n  get version(): string\n  get vueFileNames(): string[]\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n**Signature:**\n\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n**Signature:**\n\n```ts\nmarkDirty(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected abstract refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n**Signature:**\n\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n**Signature:**\n\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type                                                                                    | Description |\n| --------- | --------------------------------------------------------------------------------------- | ----------- |\n| config    | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | -           |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createAnalyzer(\n  plugins: Plugin[],\n  options?: Partial<Context['parsers']>,\n): Analyzer\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createFullAnalyzer(\n  plugins?: Plugin[],\n  options?: Partial<Context['parsers']>,\n): ReturnType<typeof createAnalyzer>\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createSourceRange(\n  context: Context | ScriptAnalyzerContext,\n  node: Node,\n): SourceRange\n```\n\n| Parameter | Type                                                                                                                                                              | Description |\n| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| context   | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | -           |\n| node      | <code><a href=\"#-babel-types-Node-type\">Node</a></code>                                                                                                           | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function transformToFunction(\n  content: string,\n  options?: FunctionTransformOptions,\n): string\n```\n\n| Parameter | Type                                                                                                    | Description |\n| --------- | ------------------------------------------------------------------------------------------------------- | ----------- |\n| content   | <code>string</code>                                                                                     | -           |\n| options   | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | -           |\n\n</details>\n<br>\n\n## Types\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n```ts\ninterface Analyzer {\n  analyze: (content: string, fileName?: string) => ComponentInfo\n  analyzeScript: (\n    content: string,\n    fileName?: string,\n    mode?: 'script' | 'scriptSetup',\n  ) => ComponentInfo\n  analyzeTemplate: (content: string, fileName?: string) => ComponentInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n```ts\ninterface ComponentInfo {\n  components: LocalComponentRegistrationInfo[]\n  emits: EmitInfo[]\n  errors: SyntaxError[]\n  fnSetupOption?: SetupInfo\n  identifierSource: Record<string, IdentifierSource>\n  options?: ComponentOptionsInfo\n  props: PropInfo[]\n  scriptSetup?: ScriptSetupInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[]\n  name: string\n  source: ImportSource\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string\n  isDynamic: boolean\n  isInferred: boolean\n  name: string\n  references: SourceRange[]\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n```ts\ninterface ImportSource {\n  exportName?: string\n  localName: string\n  moduleName: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n```ts\ninterface LocalComponentRegistrationInfo\n  extends ComponentRegistrationInfo,\n    Addressable {\n  kind: 'script' | 'scriptSetup'\n  source: ImportSourceWithLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler\n  blocks?: Partial<{\n    script: BlockAnalyzer<SFCScriptBlock>\n    template: BlockAnalyzer<SFCTemplateBlock>\n    style: BlockAnalyzer<SFCStyleBlock>\n  }> &\n    Record<string, BlockAnalyzer<any>>\n  declaration?: ComponentDeclarationAnalyzer[]\n  options?:\n    | ComponentOptionsAnalyzer[]\n    | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>\n  setup?: ComponentSetupFnAnalyzer[]\n  templateExpression?: (node: File, context: Context) => void\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null\n  description: string\n  name: string\n  required: boolean\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable\n  defineProps?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n    identifiers: Partial<{\n      attrs: string\n      slots: string\n      emit: string\n    }>\n    rest?: string\n  } & Addressable\n  props?: {\n    identifiers: string[]\n    rest?: string\n  } & Addressable\n  return?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n```ts\ninterface SourceRange {\n  end: SourceLocation\n  source: string\n  start: SourceLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation\n  message: string\n}\n```\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1608679989.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-B8cMzdo9EGg0UbnIIVTY1w+23oV515R7ohDQut9U9+g8d7zUmaBSGDw2HOXMFMEfYc3cPTcJGA7iltYpakSDvg==","shasum":"a2571b800393f69a95bbf2447bb53365b93b0527","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1608679989.0.tgz","fileCount":9,"unpackedSize":475686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4oJPCRA9TVsSAnZWagAAIqkP/AhF+iXYkvJ/ahsrVzbf\nNOoW+U6azC5TEW3HxMOxJQf1vtJ8nqeY/mSAgmWvZcX2L+U3WIZdd6FkoiFu\nP3DL8odAubuqrtrbE5+J9Xeyt9D9/kAJyGHm3XR+t2t2FGpfBlBeLBYiXVr1\nf7/sUuged+qnECYgZYIFn44xO1sNCTkhVfykJwbbdk+JX5701IRkDy37zURP\nQBGJmVPO0KfNLIDDT+Ugf07+JlqA1vhAQDC6Mm1B9s9qfqZBpmsvwKYER+mW\nBBcFOlQ1cfLQiWhcR9l+R2cdCXZ0eVd/C8iN8BJ4nXIXAP42y5IpPc4uew8D\nIlwNySJFoe1VTplfe2dUKreKWNb+tPRu0J8D9tvXP+R49zoAj/W5K/EumCtM\nNAVF5Tclqof4oWIlSMxwee+vmnBvqc3fsNlOxzIBQtSH78wSDIuHvdxGsF9C\ngMkUA1eywSVDAS7awI5/qvu3j0jjsFtgZrFaEN6OO63IvGRXRhxZTXf8lCFy\nl78d596hNayvyY3cMa58haa04CxbA3aTRybEGs9Y98ub7PZAgrimtJrr0EKd\n5+s+l/2bXaUeHb6ukcAIlvGkCl8CYrAljWUrxiDWfjEVEWxb62MRD+qTnKRw\nfSiPQA2GMKA4L/lgBsXtj0iXnS4BASImFphLi3ORoMouvYm/fJjJCzxqsWeb\nXcLP\r\n=5mAS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGWf0lsUPCaCTMBHg/uBQHuKRhbZ6lDWgombQAbRjKDCAiEA5svY4dgCNgmgI3mIZsodNJYHfBjcbcW5vuJ3r194HDU="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1608679989.0_1608680015367_0.43882594988886003"},"_hasShrinkwrap":false},"0.3.1-insiders-1608682132.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1608682132.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1608682132.0","@vuedx/compiler-tsx":"0.3.1-insiders-1608682132.0","@vuedx/projectconfig":"0.3.3-insiders-1608682132.0","@vuedx/template-ast-types":"0.3.1-insiders-1608682132.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.0.1-insiders-1608682132.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    configFile: string,\n    config: Readonly<ProjectConfig>,\n    requireModule?: NodeJS.Require,\n  )\n  readonly configFile: string\n  kind: 'configured'\n  protected refresh(): void\n  setFileNames(fileNames: string[]): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: 'inferred'\n  protected refresh(): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>\n  protected _externalComponents: ComponentRegistrationInfo[]\n  protected _fileNames: string[]\n  protected _globalComponents: ComponentRegistrationInfo[]\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>\n  protected _version: string\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    requireModule?: NodeJS.Require,\n  )\n  get components(): ComponentRegistrationInfo[]\n  get config(): Readonly<ProjectConfigNormalized>\n  get fileNames(): string[]\n  get globalComponents(): ComponentRegistrationInfo[]\n  protected isDirty: boolean\n  abstract kind: 'inferred' | 'configured'\n  protected loadGlobalComponents(): void\n  markDirty(): void\n  readonly packageFile: string | undefined\n  packageJSON: PackageJSON\n  protected abstract refresh(): void\n  protected reloadIfNeeded(): void\n  protected readonly requireModule: NodeJS.Require\n  readonly rootDir: string\n  setConfig(config: ProjectConfig): void\n  setFileNames(fileNames: string[]): void\n  get version(): string\n  get vueFileNames(): string[]\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n**Signature:**\n\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n**Signature:**\n\n```ts\nmarkDirty(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected abstract refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n**Signature:**\n\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n**Signature:**\n\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type                                                                                    | Description |\n| --------- | --------------------------------------------------------------------------------------- | ----------- |\n| config    | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | -           |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createAnalyzer(\n  plugins: Plugin[],\n  options?: Partial<Context['parsers']>,\n): Analyzer\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createFullAnalyzer(\n  plugins?: Plugin[],\n  options?: Partial<Context['parsers']>,\n): ReturnType<typeof createAnalyzer>\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createSourceRange(\n  context: Context | ScriptAnalyzerContext,\n  node: Node,\n): SourceRange\n```\n\n| Parameter | Type                                                                                                                                                              | Description |\n| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| context   | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | -           |\n| node      | <code><a href=\"#-babel-types-Node-type\">Node</a></code>                                                                                                           | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function transformToFunction(\n  content: string,\n  options?: FunctionTransformOptions,\n): string\n```\n\n| Parameter | Type                                                                                                    | Description |\n| --------- | ------------------------------------------------------------------------------------------------------- | ----------- |\n| content   | <code>string</code>                                                                                     | -           |\n| options   | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | -           |\n\n</details>\n<br>\n\n## Types\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n```ts\ninterface Analyzer {\n  analyze: (content: string, fileName?: string) => ComponentInfo\n  analyzeScript: (\n    content: string,\n    fileName?: string,\n    mode?: 'script' | 'scriptSetup',\n  ) => ComponentInfo\n  analyzeTemplate: (content: string, fileName?: string) => ComponentInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n```ts\ninterface ComponentInfo {\n  components: LocalComponentRegistrationInfo[]\n  emits: EmitInfo[]\n  errors: SyntaxError[]\n  fnSetupOption?: SetupInfo\n  identifierSource: Record<string, IdentifierSource>\n  options?: ComponentOptionsInfo\n  props: PropInfo[]\n  scriptSetup?: ScriptSetupInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[]\n  name: string\n  source: ImportSource\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string\n  isDynamic: boolean\n  isInferred: boolean\n  name: string\n  references: SourceRange[]\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n```ts\ninterface ImportSource {\n  exportName?: string\n  localName: string\n  moduleName: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n```ts\ninterface LocalComponentRegistrationInfo\n  extends ComponentRegistrationInfo,\n    Addressable {\n  kind: 'script' | 'scriptSetup'\n  source: ImportSourceWithLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler\n  blocks?: Partial<{\n    script: BlockAnalyzer<SFCScriptBlock>\n    template: BlockAnalyzer<SFCTemplateBlock>\n    style: BlockAnalyzer<SFCStyleBlock>\n  }> &\n    Record<string, BlockAnalyzer<any>>\n  declaration?: ComponentDeclarationAnalyzer[]\n  options?:\n    | ComponentOptionsAnalyzer[]\n    | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>\n  setup?: ComponentSetupFnAnalyzer[]\n  templateExpression?: (node: File, context: Context) => void\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null\n  description: string\n  name: string\n  required: boolean\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable\n  defineProps?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n    identifiers: Partial<{\n      attrs: string\n      slots: string\n      emit: string\n    }>\n    rest?: string\n  } & Addressable\n  props?: {\n    identifiers: string[]\n    rest?: string\n  } & Addressable\n  return?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n```ts\ninterface SourceRange {\n  end: SourceLocation\n  source: string\n  start: SourceLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation\n  message: string\n}\n```\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1608682132.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-qNJTHxvnbhCeDdUXilSFxNURpVvfSEg3iw8vSZrZBxcAmqEJD8buLwSpcgdaXY3xYhyfWudP58Yk6juZM2+Pcg==","shasum":"93957933f6caa21a7635bd49b31f3f3ef1dbdd6c","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1608682132.0.tgz","fileCount":9,"unpackedSize":475686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4oqsCRA9TVsSAnZWagAAslEP/1n3sXhqwpRlDB4tWT9j\nyPs/yYIhxg2z8z0OxZ8LgnIYGPP7dzzUAJavi0zwoKCIbqqmJzH/GNkhCUrq\nWvGRtUv67zR6ZPL33lfINtUOHk2E+JED0QmYD7ADklUJDiUoNUopOWw11ivS\n7PqzZHER3aP56elwdKsv0lxJuQ9F5VCb6o23+r5M2KHWGtiNC/6aQ0FjyO4N\nZ4uQi/w1mQfbeIAeHIS2/ezb550/FrvDl5QUmIh+OTmqS+hFyxReXmVhXuKJ\nfVsaLj+zqW+hp5caSuNSz6lRXSGqQDxBFUXmf4VW4ArLcI/om+tWSoWE0wTM\na1zkdj9dYtpWMc2sbOy3I3Di0vAna0AmsRtmzFIgdFEzP3WQBCBrBLWPiy2c\nRzjuOO6sjKhudKzvKVqiL+4fq874uPRou1rOMfqopbpUTL7Gs8TnN0AdbqdC\nwSWPxZbLtVQ6C/9K7evVbMiAVUG6SgWUPbGEQ+SRs10TOkKJjOlpC1ic2xcR\ndhUo/9Nee1UXXGoPmiqjX8JdyPrYSvvpfIHqpamEZcKsL94N7wqhl3b/ewjS\nTCNeZcdyOnzamFMVOGeCui/U2wnJ73NSQwa/Pup+BjTr8xyBpMXCIE3vGOa+\nIRx7Y0a2dQafPP9smD1gp/RvIpAoIfcoVXnNRxHOEikdTIiSZ/dexuIIiwvM\nAhib\r\n=AAUJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQz412scnnsm/9f4yIOCC1jC5aN181I8FvdcwVZGUmpgIgVUckf5LgWG+UyBK7YQEyd8ToE39OYLoF9f0M6N6zt3w="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1608682132.0_1608682156267_0.5786202402380958"},"_hasShrinkwrap":false},"0.3.1-insiders-1609032938.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1609032938.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1609032938.0","@vuedx/compiler-tsx":"0.3.1-insiders-1609032938.0","@vuedx/projectconfig":"0.3.3-insiders-1609032938.0","@vuedx/template-ast-types":"0.3.1-insiders-1609032938.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.0.1-insiders-1609032938.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    configFile: string,\n    config: Readonly<ProjectConfig>,\n    requireModule?: NodeJS.Require,\n  )\n  readonly configFile: string\n  kind: 'configured'\n  protected refresh(): void\n  setFileNames(fileNames: string[]): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: 'inferred'\n  protected refresh(): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>\n  protected _externalComponents: ComponentRegistrationInfo[]\n  protected _fileNames: string[]\n  protected _globalComponents: ComponentRegistrationInfo[]\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>\n  protected _version: string\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    requireModule?: NodeJS.Require,\n  )\n  get components(): ComponentRegistrationInfo[]\n  get config(): Readonly<ProjectConfigNormalized>\n  get fileNames(): string[]\n  get globalComponents(): ComponentRegistrationInfo[]\n  protected isDirty: boolean\n  abstract kind: 'inferred' | 'configured'\n  protected loadGlobalComponents(): void\n  markDirty(): void\n  readonly packageFile: string | undefined\n  packageJSON: PackageJSON\n  protected abstract refresh(): void\n  protected reloadIfNeeded(): void\n  protected readonly requireModule: NodeJS.Require\n  readonly rootDir: string\n  setConfig(config: ProjectConfig): void\n  setFileNames(fileNames: string[]): void\n  get version(): string\n  get vueFileNames(): string[]\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n**Signature:**\n\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n**Signature:**\n\n```ts\nmarkDirty(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected abstract refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n**Signature:**\n\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n**Signature:**\n\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type                                                                                    | Description |\n| --------- | --------------------------------------------------------------------------------------- | ----------- |\n| config    | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | -           |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createAnalyzer(\n  plugins: Plugin[],\n  options?: Partial<Context['parsers']>,\n): Analyzer\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createFullAnalyzer(\n  plugins?: Plugin[],\n  options?: Partial<Context['parsers']>,\n): ReturnType<typeof createAnalyzer>\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createSourceRange(\n  context: Context | ScriptAnalyzerContext,\n  node: Node,\n): SourceRange\n```\n\n| Parameter | Type                                                                                                                                                              | Description |\n| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| context   | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | -           |\n| node      | <code><a href=\"#-babel-types-Node-type\">Node</a></code>                                                                                                           | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function transformToFunction(\n  content: string,\n  options?: FunctionTransformOptions,\n): string\n```\n\n| Parameter | Type                                                                                                    | Description |\n| --------- | ------------------------------------------------------------------------------------------------------- | ----------- |\n| content   | <code>string</code>                                                                                     | -           |\n| options   | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | -           |\n\n</details>\n<br>\n\n## Types\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n```ts\ninterface Analyzer {\n  analyze: (content: string, fileName?: string) => ComponentInfo\n  analyzeScript: (\n    content: string,\n    fileName?: string,\n    mode?: 'script' | 'scriptSetup',\n  ) => ComponentInfo\n  analyzeTemplate: (content: string, fileName?: string) => ComponentInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n```ts\ninterface ComponentInfo {\n  components: LocalComponentRegistrationInfo[]\n  emits: EmitInfo[]\n  errors: SyntaxError[]\n  fnSetupOption?: SetupInfo\n  identifierSource: Record<string, IdentifierSource>\n  options?: ComponentOptionsInfo\n  props: PropInfo[]\n  scriptSetup?: ScriptSetupInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[]\n  name: string\n  source: ImportSource\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string\n  isDynamic: boolean\n  isInferred: boolean\n  name: string\n  references: SourceRange[]\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n```ts\ninterface ImportSource {\n  exportName?: string\n  localName: string\n  moduleName: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n```ts\ninterface LocalComponentRegistrationInfo\n  extends ComponentRegistrationInfo,\n    Addressable {\n  kind: 'script' | 'scriptSetup'\n  source: ImportSourceWithLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler\n  blocks?: Partial<{\n    script: BlockAnalyzer<SFCScriptBlock>\n    template: BlockAnalyzer<SFCTemplateBlock>\n    style: BlockAnalyzer<SFCStyleBlock>\n  }> &\n    Record<string, BlockAnalyzer<any>>\n  declaration?: ComponentDeclarationAnalyzer[]\n  options?:\n    | ComponentOptionsAnalyzer[]\n    | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>\n  setup?: ComponentSetupFnAnalyzer[]\n  templateExpression?: (node: File, context: Context) => void\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null\n  description: string\n  name: string\n  required: boolean\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable\n  defineProps?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n    identifiers: Partial<{\n      attrs: string\n      slots: string\n      emit: string\n    }>\n    rest?: string\n  } & Addressable\n  props?: {\n    identifiers: string[]\n    rest?: string\n  } & Addressable\n  return?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n```ts\ninterface SourceRange {\n  end: SourceLocation\n  source: string\n  start: SourceLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation\n  message: string\n}\n```\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1609032938.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-7Pm+4ZCwGnw0ihkL4X2IEcEWYVRD7Bxjj4cDv3yOE88schmQQxzHJRGceg9w1iLSIn6QJpsL3ENrX4fr4yr2+A==","shasum":"666cfe87d79c6af85859a4b8fb032e62cab034ef","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1609032938.0.tgz","fileCount":9,"unpackedSize":478970,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5+T/CRA9TVsSAnZWagAAgeAP/jTj7f5pcFWfY+KG54iH\nMs7NzKJno0uUJsKYA3NTccDba7aMGRf+zD+e9yJQVwOmfkdLnnlELk8k3fmH\nIK1zyph0JB44eJYUOUrrBH9fep9cUnKn/qlEmQe0FgTUSCbLTH0tuZTu8K9t\nyTXBdB6NNXavu9RLVsDXsTeIQOVFFrN5nvrq72hFNFjeEw2MLMQNaiTFsNDY\nnvVxco2EPY8WbuIcd/3TYVHUhbRpylAUJVPojkeJqG6if0ZNW5hgJYywpcc5\nVfiOXzTh2gCtBYeBn5uCrHXIYLPzjjzl965Vr+xdwMnufFhADYi+tTLUQSen\nI2r2qYlCs9Mk1mi1D+isw5d6SrFhqs74x/9Tt1idLnw+0YCvZqICmG5Ulb7h\nRJDWZZ4cOvKuANoqEGBbNaT7AX1jj6pFdZzt14ow8j7kazM6tjvQ95pXzBMx\nVIYlvksXzGCGbeFoZJ9zbIWYaFsN5egvtO/g8dHOossGNqLVL3Ua4mwgbKyL\nnHSQbnemt0MnhW58sCiQEq8efrFILdDlMIOEknGMUQcdYXXdgqOWOx9vFce4\nas6We1Nxej0uxqRnGIjgqrw5YCBcwBylNZsTySQNZoHmnPhd7eh/2CnRgely\n1uOfGxNk0LAtlvpJsI1eDG141zZIsLLuqio9NxrdT9ZnNKjlajw+APyNUFAu\nASAy\r\n=IwMF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDLan+B3dcdB1MPt4+d+TtdixR7amncw8EX45t3MDtdxAiEAkGekOkSBBHf7CxlVaS1BlkKC9mRatGn5mXURgmciW1o="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1609032938.0_1609032959260_0.28616571127895707"},"_hasShrinkwrap":false},"0.3.1-insiders-1609034385.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1609034385.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1609034385.0","@vuedx/compiler-tsx":"0.3.1-insiders-1609034385.0","@vuedx/projectconfig":"0.3.3-insiders-1609034385.0","@vuedx/template-ast-types":"0.3.1-insiders-1609034385.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.0.1-insiders-1609034385.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    configFile: string,\n    config: Readonly<ProjectConfig>,\n    requireModule?: NodeJS.Require,\n  )\n  readonly configFile: string\n  kind: 'configured'\n  protected refresh(): void\n  setFileNames(fileNames: string[]): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: 'inferred'\n  protected refresh(): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>\n  protected _externalComponents: ComponentRegistrationInfo[]\n  protected _fileNames: string[]\n  protected _globalComponents: ComponentRegistrationInfo[]\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>\n  protected _version: string\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    requireModule?: NodeJS.Require,\n  )\n  get components(): ComponentRegistrationInfo[]\n  get config(): Readonly<ProjectConfigNormalized>\n  get fileNames(): string[]\n  get globalComponents(): ComponentRegistrationInfo[]\n  protected isDirty: boolean\n  abstract kind: 'inferred' | 'configured'\n  protected loadGlobalComponents(): void\n  markDirty(): void\n  readonly packageFile: string | undefined\n  packageJSON: PackageJSON\n  protected abstract refresh(): void\n  protected reloadIfNeeded(): void\n  protected readonly requireModule: NodeJS.Require\n  readonly rootDir: string\n  setConfig(config: ProjectConfig): void\n  setFileNames(fileNames: string[]): void\n  get version(): string\n  get vueFileNames(): string[]\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n**Signature:**\n\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n**Signature:**\n\n```ts\nmarkDirty(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected abstract refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n**Signature:**\n\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n**Signature:**\n\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type                                                                                    | Description |\n| --------- | --------------------------------------------------------------------------------------- | ----------- |\n| config    | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | -           |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createAnalyzer(\n  plugins: Plugin[],\n  options?: Partial<Context['parsers']>,\n): Analyzer\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createFullAnalyzer(\n  plugins?: Plugin[],\n  options?: Partial<Context['parsers']>,\n): ReturnType<typeof createAnalyzer>\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createSourceRange(\n  context: Context | ScriptAnalyzerContext,\n  node: Node,\n): SourceRange\n```\n\n| Parameter | Type                                                                                                                                                              | Description |\n| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| context   | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | -           |\n| node      | <code><a href=\"#-babel-types-Node-type\">Node</a></code>                                                                                                           | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function transformToFunction(\n  content: string,\n  options?: FunctionTransformOptions,\n): string\n```\n\n| Parameter | Type                                                                                                    | Description |\n| --------- | ------------------------------------------------------------------------------------------------------- | ----------- |\n| content   | <code>string</code>                                                                                     | -           |\n| options   | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | -           |\n\n</details>\n<br>\n\n## Types\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n```ts\ninterface Analyzer {\n  analyze: (content: string, fileName?: string) => ComponentInfo\n  analyzeScript: (\n    content: string,\n    fileName?: string,\n    mode?: 'script' | 'scriptSetup',\n  ) => ComponentInfo\n  analyzeTemplate: (content: string, fileName?: string) => ComponentInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n```ts\ninterface ComponentInfo {\n  components: LocalComponentRegistrationInfo[]\n  emits: EmitInfo[]\n  errors: SyntaxError[]\n  fnSetupOption?: SetupInfo\n  identifierSource: Record<string, IdentifierSource>\n  options?: ComponentOptionsInfo\n  props: PropInfo[]\n  scriptSetup?: ScriptSetupInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[]\n  name: string\n  source: ImportSource\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string\n  isDynamic: boolean\n  isInferred: boolean\n  name: string\n  references: SourceRange[]\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n```ts\ninterface ImportSource {\n  exportName?: string\n  localName: string\n  moduleName: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n```ts\ninterface LocalComponentRegistrationInfo\n  extends ComponentRegistrationInfo,\n    Addressable {\n  kind: 'script' | 'scriptSetup'\n  source: ImportSourceWithLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler\n  blocks?: Partial<{\n    script: BlockAnalyzer<SFCScriptBlock>\n    template: BlockAnalyzer<SFCTemplateBlock>\n    style: BlockAnalyzer<SFCStyleBlock>\n  }> &\n    Record<string, BlockAnalyzer<any>>\n  declaration?: ComponentDeclarationAnalyzer[]\n  options?:\n    | ComponentOptionsAnalyzer[]\n    | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>\n  setup?: ComponentSetupFnAnalyzer[]\n  templateExpression?: (node: File, context: Context) => void\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null\n  description: string\n  name: string\n  required: boolean\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable\n  defineProps?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n    identifiers: Partial<{\n      attrs: string\n      slots: string\n      emit: string\n    }>\n    rest?: string\n  } & Addressable\n  props?: {\n    identifiers: string[]\n    rest?: string\n  } & Addressable\n  return?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n```ts\ninterface SourceRange {\n  end: SourceLocation\n  source: string\n  start: SourceLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation\n  message: string\n}\n```\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1609034385.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-5YzyEtDsHmX6Uy/scUiw3vF3Ka2erYIfSfzhaYrlbMz5BsVlKPSpfpChpPpyDE+sI2cmXwFCDkZxaCDCtpa/IA==","shasum":"040a7346ae5ab3a8fd6226c891baaf6bf7a8a0f7","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1609034385.0.tgz","fileCount":9,"unpackedSize":478970,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5+qmCRA9TVsSAnZWagAAJR0QAJFUCXomkJrN1I6HKlVv\nEq6HU5wnp85y/iI9ja6kh1GjLmLEsa0inmvCxxZgEvmRebSjACGfjepYRRw0\n/2x7JTdRBIYjrgqL/LpVNWueNfahqlgV+VHynN2GNv1jaRdbw3UWAvy79JRG\ni29UtMfZVpF9SViUQNtVSPZI+zkxTWGgmPhVTRAWlbz1J+9ReQBumiJzrRdW\ncoybiXa3BFKU8nY6RWZPGBAwiBz6h4FczJHB8vN9t4R1Te0X3Gj09+ZqYGGy\n8AHwbyysiQGGUeliDg+EJGltelqhhFObYAeACuwoU0P7LgGpYJvB3757PWIZ\n6VGF24dM88YQbmf0T4sDdmDtGdyLLdFp9f228BIUX5Vkio7om14we9EU3z22\nsiE2s9SVajrwD9w9XkPiTErAbefqHUoRUpAh9ptyDOFPCZm1I7Po9nPUyqub\nxpRkXAYvfDdviTIHLhEkqrLv2v1Uhf85gyCw8VSVIQDEPpEn+rGjYKzgXWpw\nVZYu7eO+5vvyDYNdiYnI2ix6BxIx0V0R5p/rPVG0JVXZ2vZhSzGLkOzmmy+N\ngBKFOwmRdajkC5YGbbCX2RccuinE0gLeroEoVVz8XAeG93SgfCFqOL71WxXi\nZeNvTH4+zlpRzVUf0F9NPNXpSCv9BPuVRa6AhAPkuRd/fxyG1mORoIWuncYd\nbHoh\r\n=FjND\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJDYjE/wrKgV9mL+Y2KbAkwn206u8XJO0OR1Hv869bQgIhAOlg7IWbSmTdp+vaO4F9XfYLlP7d1Dp43/DTI0guztgg"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1609034385.0_1609034406276_0.5847146665533023"},"_hasShrinkwrap":false},"0.3.1-insiders-1609155664.0":{"name":"@vuedx/analyze","version":"0.3.1-insiders-1609155664.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.3.1-insiders-1609155664.0","@vuedx/compiler-tsx":"0.3.1-insiders-1609155664.0","@vuedx/projectconfig":"0.3.3-insiders-1609155664.0","@vuedx/template-ast-types":"0.3.1-insiders-1609155664.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.0.1-insiders-1609155664.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    configFile: string,\n    config: Readonly<ProjectConfig>,\n    requireModule?: NodeJS.Require,\n  )\n  readonly configFile: string\n  kind: 'configured'\n  protected refresh(): void\n  setFileNames(fileNames: string[]): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: 'inferred'\n  protected refresh(): void\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected refresh(): void;\n```\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n<details><summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>\n  protected _externalComponents: ComponentRegistrationInfo[]\n  protected _fileNames: string[]\n  protected _globalComponents: ComponentRegistrationInfo[]\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>\n  protected _version: string\n  constructor(\n    rootDir: string,\n    packageFile: string | undefined,\n    packageJSON: Partial<PackageJSON>,\n    requireModule?: NodeJS.Require,\n  )\n  get components(): ComponentRegistrationInfo[]\n  get config(): Readonly<ProjectConfigNormalized>\n  get fileNames(): string[]\n  get globalComponents(): ComponentRegistrationInfo[]\n  protected isDirty: boolean\n  abstract kind: 'inferred' | 'configured'\n  protected loadGlobalComponents(): void\n  markDirty(): void\n  readonly packageFile: string | undefined\n  packageJSON: PackageJSON\n  protected abstract refresh(): void\n  protected reloadIfNeeded(): void\n  protected readonly requireModule: NodeJS.Require\n  readonly rootDir: string\n  setConfig(config: ProjectConfig): void\n  setFileNames(fileNames: string[]): void\n  get version(): string\n  get vueFileNames(): string[]\n}\n```\n\n**Members:**\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n**Signature:**\n\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n**Signature:**\n\n```ts\nmarkDirty(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n**Signature:**\n\n```ts\nprotected abstract refresh(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n**Signature:**\n\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n**Signature:**\n\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type                                                                                    | Description |\n| --------- | --------------------------------------------------------------------------------------- | ----------- |\n| config    | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | -           |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n**Signature:**\n\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type                  | Description |\n| --------- | --------------------- | ----------- |\n| fileNames | <code>string[]</code> | -           |\n\n<br>\n</details>\n\n<br>\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createAnalyzer(\n  plugins: Plugin[],\n  options?: Partial<Context['parsers']>,\n): Analyzer\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createFullAnalyzer(\n  plugins?: Plugin[],\n  options?: Partial<Context['parsers']>,\n): ReturnType<typeof createAnalyzer>\n```\n\n| Parameter | Type                                                                                                                   | Description |\n| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |\n| plugins   | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code>                                                  | -           |\n| options   | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function createSourceRange(\n  context: Context | ScriptAnalyzerContext,\n  node: Node,\n): SourceRange\n```\n\n| Parameter | Type                                                                                                                                                              | Description |\n| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| context   | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | -           |\n| node      | <code><a href=\"#-babel-types-Node-type\">Node</a></code>                                                                                                           | -           |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n\n```ts\ndeclare function transformToFunction(\n  content: string,\n  options?: FunctionTransformOptions,\n): string\n```\n\n| Parameter | Type                                                                                                    | Description |\n| --------- | ------------------------------------------------------------------------------------------------------- | ----------- |\n| content   | <code>string</code>                                                                                     | -           |\n| options   | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | -           |\n\n</details>\n<br>\n\n## Types\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n```ts\ninterface Analyzer {\n  analyze: (content: string, fileName?: string) => ComponentInfo\n  analyzeScript: (\n    content: string,\n    fileName?: string,\n    mode?: 'script' | 'scriptSetup',\n  ) => ComponentInfo\n  analyzeTemplate: (content: string, fileName?: string) => ComponentInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n```ts\ninterface ComponentInfo {\n  components: LocalComponentRegistrationInfo[]\n  emits: EmitInfo[]\n  errors: SyntaxError[]\n  fnSetupOption?: SetupInfo\n  identifierSource: Record<string, IdentifierSource>\n  options?: ComponentOptionsInfo\n  props: PropInfo[]\n  scriptSetup?: ScriptSetupInfo\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[]\n  name: string\n  source: ImportSource\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string\n  isDynamic: boolean\n  isInferred: boolean\n  name: string\n  references: SourceRange[]\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n```ts\ninterface ImportSource {\n  exportName?: string\n  localName: string\n  moduleName: string\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n```ts\ninterface LocalComponentRegistrationInfo\n  extends ComponentRegistrationInfo,\n    Addressable {\n  kind: 'script' | 'scriptSetup'\n  source: ImportSourceWithLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler\n  blocks?: Partial<{\n    script: BlockAnalyzer<SFCScriptBlock>\n    template: BlockAnalyzer<SFCTemplateBlock>\n    style: BlockAnalyzer<SFCStyleBlock>\n  }> &\n    Record<string, BlockAnalyzer<any>>\n  declaration?: ComponentDeclarationAnalyzer[]\n  options?:\n    | ComponentOptionsAnalyzer[]\n    | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>\n  setup?: ComponentSetupFnAnalyzer[]\n  templateExpression?: (node: File, context: Context) => void\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null\n  description: string\n  name: string\n  required: boolean\n  type: TypeInfo[]\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable\n  defineProps?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n    identifiers: Partial<{\n      attrs: string\n      slots: string\n      emit: string\n    }>\n    rest?: string\n  } & Addressable\n  props?: {\n    identifiers: string[]\n    rest?: string\n  } & Addressable\n  return?: Addressable\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n```ts\ninterface SourceRange {\n  end: SourceLocation\n  source: string\n  start: SourceLocation\n}\n```\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation\n  message: string\n}\n```\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.3.1-insiders-1609155664.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-oDenjVjW7ktjLRJPSb6SrRaPBv0e1njphjFCf2uoSy+MLlxDUqe8f+zAt4ldbqxelugfyb2JGIiQQYfUUX8OUA==","shasum":"04bde97f816e11f24bd2256c43536b746e8fb316","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1609155664.0.tgz","fileCount":9,"unpackedSize":478970,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6cRkCRA9TVsSAnZWagAAw3YP/1IZ8OY/is3TrWXUvdTi\nWMQ2bxdIGZffL9jiGEr3k4HIa7Y9rMirUXCmlKMqj23ezCtBh9mP03mn5kDA\n92heLbJlASq3cnhna0RaE/ydfqNjpQ25j2tBqIzFLZozfWuh2zoWjErK3CfR\njBi93mNDxHeJLUF8ioong60R33JKoiFQF5tOIQS5Li+UDZrJF9a4rdX7klkE\nOIRWU8GKJNe/hDfNi0c+5QZUas/36X9QBFItGcMWaCLztr4sinFBOb4dsqFi\njTrTXZVIXMLovRXIjU8RLnAQSsKuBamiSx7F0Z5anTWoGBEUVDHFs9pcYc46\nLFPhJSm91wHBGDzc5tJ+2eIcwhwfzWWtT7bJmHn3VBbbgKHJaZQBZEmjeZ7O\nHUkQqHDtmh/UN4rUWHQ/nYytnPqkUadqSmO5FDddIGLE/VVh41hcR5LW44pU\n3L19rmZqa/rqzXQH+7eOz5rvElPSDusqolFXw+AgjAwB8MTvFMSB7rCkLIRM\nmnln4O18ON8cS3RNsu3QGONJNScHqNR98pMQvsPzf0HQG1Gbx3sWo4HBWRGi\navzEqjsfLhvx6Kh+RNtc3Tcn3FuVnBxAq9+9ykfWuWqZk0elmShMeXnpmRp4\nFSN4Ki2zBR8NmVB4Qsh8JGYi+DPwd84ZeUTj/dBEf6nm4nfmHxbQ5Ga43n+b\nVG7b\r\n=LJPU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDudRoHu0vhPisXVWPn37l2bfGF/MdzBzS4UkXwCS0ZcQIgac7gpFpvY0yduSS/qa3NxslCmoMaWhhnDfhRmhaJ+To="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.3.1-insiders-1609155664.0_1609155684036_0.23501935983376976"},"_hasShrinkwrap":false},"0.4.1-insiders-1609180156.0":{"name":"@vuedx/analyze","version":"0.4.1-insiders-1609180156.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.4.1-insiders-1609180156.0","@vuedx/compiler-tsx":"0.4.1-insiders-1609180156.0","@vuedx/projectconfig":"0.4.1-insiders-1609180156.0","@vuedx/template-ast-types":"0.4.1-insiders-1609180156.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.4.1-insiders-1609180156.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.4.1-insiders-1609180156.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-urbkPjOAz/ug8agLY2+7dHOtxdfO8AzJMB8eQ8xRpYuKMxEcUTc6cRe3c2fCQhRt9SbwDK/9uXdYpKMUbyyHxw==","shasum":"d5ee129668e45d86a7a24da305659c4fd58163cc","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.4.1-insiders-1609180156.0.tgz","fileCount":9,"unpackedSize":479813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6iQWCRA9TVsSAnZWagAAXmQP/jOrYdISmRSQ9MchVvAH\nbDl94yGr5KqBk8MmLziAW/dzlb/R13UH6goy1g+JMZ+zm5XAvu1yCvXiZ0V3\nhGy18fSSUAsm3A57J8NVyvHnWWI3KUy5KARcpYQkmLTDp5XkLPBEQYK+2EKV\n9n5hlaiu4GsFSq/2hEA4zKzZcVT6l1Pspe5ondTZ4VZQcVicdzq+6qCD5o9U\n56ScEsoYVo6obWhXuDX+toxBpDvw3TKvNl269GxulaTUr6mW8O11TZUf1coQ\nQ53VfaJ01s6tmHTXvvCTouo0k8lSGPAde6sbPxy9wHh/QM1u45rJhYvB7Jmr\nmjsZ2Bz7LS/D25siI/292HTlFcT2/D8CqNSPsJ+brg2B3pYZU0J25OjBXBdc\nUrwQr4fMarYnYPY8CTNBVOLPCav6AWQBYfxq3Ke3nQAnC+FgOTdCzdvZnh9L\n+eeQojRcyM9B3zGhconsECYB59lOmoQvtpokpyXRQxIuCkXJS7mMTsioYqkA\nRI6LAL5PSfgRUvMeT4sq0F6hYJFPunWCG5f1Teta1Nnsyj5ZVmDfwWljDDE2\n83Qwl98qwjdYqAlmz60XY2xiwPvlTMcYRX0q3rqBR7qF6yAXqtLoreIVAl7m\nmp828qDi6N/p790L7I880aRvLcFfnyuxiGCXr0GBl3tVCPHrhMStGVubPF8h\noakn\r\n=ZdjU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICvxzQqWwyDZLqU3TNsn57pepee2Epk0KoH3DQUMz9fxAiAVYrGLhYRzom0GrE0Xa9gdYH+zuOkpWwYV+3PUEBlFrg=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.4.1-insiders-1609180156.0_1609180182154_0.8480694789827183"},"_hasShrinkwrap":false},"0.4.0":{"name":"@vuedx/analyze","version":"0.4.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.4.0","@vuedx/compiler-tsx":"0.4.0","@vuedx/projectconfig":"0.4.0","@vuedx/template-ast-types":"0.4.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.4.0","typescript":"^4.0.3"},"_id":"@vuedx/analyze@0.4.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-JHr5xjbzHNlAXY6pQER2SXzpnpDPINpfg9H1+eQo7e3dMwMdXj0f1nnJ9l3b3QCVR11jyr+xsWrqfuvNo2RJXg==","shasum":"a5ae608e8fedd0d9125e4ddb88b75a4a8165c991","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.4.0.tgz","fileCount":9,"unpackedSize":479681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6iQpCRA9TVsSAnZWagAA/xIP/3lul32ZkQvgkXTJOmt1\nSwpXGee5WE3RgzllEumP8WqGWdIh1ifYCdT4SJFmyzXp22FlaGl9QMBjgmYR\nco1fBVrLCzRMeBs1rACZFBboo/xKlOIKnbNJcPFvY1egu4MxswGuhTHqked6\ngboXto/OHMLLYUIDlRHuh8x6qRA0AdemVLz0v5ShKfYLvPwFAeCddtQxYqtn\nt/WIQPLi6jT5fd9DBP7V+ODef+Tx11RVb+DCoYXSyfU3ULXG7tDTn2XGFWya\nXECorWXHAvkX8ZGZFtGlCOQIXBQ2azpDqgkZWW5lo/kPC7bTu7+36f63lQ+N\nJPgnObODELS5H6DgqSHKFk5Dvwp+kr8wAvGobsDRHwIHpNRhyONcJmDUC0yH\nphX/QMRJWgCo9c9nFXdm6rMlNlHyXcL8VbZ8dfA3RUAqS8yuXKDhsNZNMj4D\naY1GZK/W97ENPOs+xMpwCPe+L4Vc/m1x5rCrqNTOEpvf2f917OzQYhyDSAXl\n77Ejx/nBxIRJlPtx8jxxZhyYj5jZ0CVnI2TWv2inswoQvWgJSPUxPOhpo/v4\nEXVDvlxzoo9tvqXcJlz4AawUSdHdVVYRaYWNmwVP32UKvJ0EmHIegqcSyxKO\nJoEgEXkWGJ5d8YsRJggv/ZumvTizO5X4EUXna1smN7wz3NL496EFlPT3D7yb\naVDM\r\n=+VQ1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEJZYV+B9j7ZBiQvV2v960zfIiqeRJJpJGD93vFzQoSVAiEA/S5vjflDNiB6V7Thu6q+IZF0FbXRngBSeyq3IPkhovc="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.4.0_1609180201233_0.23612462746549245"},"_hasShrinkwrap":false},"0.4.1-insiders-1609336775.0":{"name":"@vuedx/analyze","version":"0.4.1-insiders-1609336775.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.4.1-insiders-1609336775.0","@vuedx/compiler-tsx":"0.4.1-insiders-1609336775.0","@vuedx/projectconfig":"0.4.1-insiders-1609336775.0","@vuedx/template-ast-types":"0.4.1-insiders-1609336775.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.4.1-insiders-1609336775.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.4.1-insiders-1609336775.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-czkkfheePubQKWlCG21mo2X7gaZXB9/PVyS8bpqH+8kr8MHrMe33joavAWcDHFUY+Jr6v3FX8n9IebOs8FFVzQ==","shasum":"9e282e090974b3736e8c65e80bcc4ccddac772d9","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.4.1-insiders-1609336775.0.tgz","fileCount":9,"unpackedSize":479813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7IfhCRA9TVsSAnZWagAA1JkQAJScADm4ouZ6UEfKPylT\nwaEeHj91FF0t8TFnoHOPGOyq9HvUMQWI1tBDDrEqGB/Of+IiJ6Tg158UnytY\nzi/XrLJjbFL0N2z0sbuuw6EjPUjvnbj6hpl1vu9sM4BuypnQGw9nWpbUTRJd\nIT1nQogHVbUrRoyQhSr9XD2t/cfHJR8VKl/jTPHWM060b8YY+yUghBglrLYI\noNW52KW6lRq9oTlBP07vOr9BbA0ShY04aAhxFycsA7XYwlfEqw/ljp0JFb7y\nUWu8HBkLDCE75fnG/Sr1XQvowWTWVkn256F0gdytyQWesspzX/1eLDvS9YXX\nqUV9gKmC5prUuY5sWA1qESNgJRXGmD4ckHuqvHgxwttIWcY521TuBFR8aan0\nLff+PrTHv2Uw1/pkH7hN7mmbHGxwJOJSeZ1YYUozAAUTNpuKBhh8/wdw7ken\nTYUbc7ui/Yzq2Rv2KTWBXq5YfpL4HmJafTotKbYVCmdKdUnKI18hSWntz+/a\nU2j9PyUwOrSQSzb7AYYRD7Et+Ljj1Buy3YLM7BtndcftVQOWKa40rb0Y1EBW\n4MOxpaYX3eFkN70ZCaIdXs34p+AEGyMoIGStrCwyec8rXe1ThFUDgxEkzHed\n+lMh1RA8FiAJKZg7+b9lgAEJWbNMmPGSX6eZs8kruwgD5rO4ohZec+/zbAKP\nNuzn\r\n=BQ+h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZbYvfaN3wrZozuTg1wmR76oD4wWARgECyUM7ewsFb7AIgZo6FQZU48WF9LR8Svtm7Eo37kIb72gxOYa0269qL7os="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.4.1-insiders-1609336775.0_1609336801017_0.4767634449324367"},"_hasShrinkwrap":false},"0.4.1":{"name":"@vuedx/analyze","version":"0.4.1","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.4.1","@vuedx/compiler-tsx":"0.4.1","@vuedx/projectconfig":"0.4.1","@vuedx/template-ast-types":"0.4.1","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.4.1","typescript":"^4.0.3"},"_id":"@vuedx/analyze@0.4.1","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-7FBFWboGCFDVtMnc+egZU0UpdKFfuyhRVjs+pycWvZ630eKsGK4zKRKmJBXqccctWO2FRRRuW4pXfi1SbJGY0w==","shasum":"9d5b888ee1b9a798794a44283100f8270bbb6e83","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.4.1.tgz","fileCount":9,"unpackedSize":479681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7IhBCRA9TVsSAnZWagAAcd0QAJi2GrTKs/X5DZpJqEzI\nJzcUMFHn+vdpjHIq47koCtIXZSEaWGgMGbtlbaVPd62wq1twqI+08YTc++ID\neDmED3dUua2Q6P3zBTfOShYEkMiuAxNQzRt0FIAl4l3a3twXDOOUK5JUgnN+\njC08plEVOQRo2BebV7Mx4+LwOhTpBib5sSykIyeB8nM4ilLFg5++tEHY+TK2\nfBy7wMjGFe9BaLdTc6iMLeqACoMBopQSh91H90GEDvLVc2GVbhkRKogeZHbv\n6ombAp9yEJbgA924CEhWl1NuSpX6tA8EOS/RXjASoPxBywDiN/OUXFUChSjf\nLQBUdOY+NcOB74+/TiEJJWiZ7S6EEbdHYiV7RcXvaFozLm0LsVugxo+GSEEi\n1E1XEnded+r41cNw1FS4N56VOlTqKFf0ytgDOhFMglP9MnfS/hZeXR5/yrrp\ntmEY40660APekoyscO8P0qD3u0EP15/gOq7XBI1ukGVRI7y40vojoH4M4CUP\n7592ZN5g2dnSSkMP8f6fRb5FfttW7HcRyqZsH5ECF+34yDCiNb9w8TG2o81W\narBx/k4qg05od23AEwsrA+OsBrp5obAGAYtagQ1fZtiARhplzw2OgpmycsUg\n0TnKCqwxn8dmTx1pY+kCKvUbWmTSNmV4OfZnKIg3aghs0+DZmSnGO0GAvPrY\n6Svj\r\n=XK3h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1Ev6Ev9kTKeCRBMROt452q5k8cs+Ddno439XikEfO/gIgQNL3G/+BABHAdQBa9ZlUnRb5/7cRcQkw6Z9ijjBFGcw="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.4.1_1609336896543_0.9649392812754938"},"_hasShrinkwrap":false},"0.4.2-insiders-1609376449.0":{"name":"@vuedx/analyze","version":"0.4.2-insiders-1609376449.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.4.2-insiders-1609376449.0","@vuedx/compiler-tsx":"0.4.2-insiders-1609376449.0","@vuedx/projectconfig":"0.4.2-insiders-1609376449.0","@vuedx/template-ast-types":"0.4.2-insiders-1609376449.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.4.2-insiders-1609376449.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.4.2-insiders-1609376449.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-cLjPaL1v9sM08etrxM2Y+bFTdc2pWz2UqPuntqpxaF42/kkHM7nqrFCsoZ3kkc345HdTu0sSDev3+eCotTlaVg==","shasum":"8d31e40f3f1aa37c751f492945c7c09c531a1b89","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.4.2-insiders-1609376449.0.tgz","fileCount":9,"unpackedSize":479813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7SLbCRA9TVsSAnZWagAA0NQP/0t0vxAlwRIS6JflWLh4\ns7yvF+WTm6NHb+H+4SVZ9j0PTLnhaQ3JLoWTS9LSjOCS3gtq76+1CsiCtbVg\nQDtjNaepa7E0IL0JK8+bNFmoA3mgDi8BbfnZNvRYlUASofdthCzmd9KOVg7q\n/ioHYaMb+SgSeTlJGjmIluPDHaDuBpaQ/9HhM2JDGZRMs7GkVy3VKskvrS4h\nmtLgmD6Z9q2VNR4VmHn6SxYILn+ag9qSqUwQJtA/UF99FKHhSdi8NzJWv4A1\nnA2rHyL7SPbRxbQP4K83VIb/yQQjSPPRJXSRKC2k5U4r2LRanbNLRqOBbUHP\nDNr9Ay94NP7/FQcKp1qf7uvlt1EBOleeTvSmQ4S2DKTqeGM2Hrc1LRmyrkOR\nWMDjX7Ynrerav7dnuxVDiN/Cmjws4eMNW971gcxHvTPE6i71oKZzniyPgbhI\nIhqHcPau0NkALPfmhGlBrcVsrxyc2f0mL9luK8kn2TgXHfEj/+iha/Qkt3Nq\nh9EweM3WfdtknIAbnUGXAA42F6Z7uKm0qOND+QYN5KipfAVHoHlobIYejLoG\n+BGvS3ax0uMiF0q3q2i8i3bedYUeeVN/ha0jRneteL/7N/lhn8cZ2yVYT0DS\npe1BT7yddYY3AD/fy1CYl3/PetULwILIaHCe6JiWglxftBu0+DWplsq7Uow0\nTAi9\r\n=HxzG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH31fzoCSj/R+mC76N4tiTqK81pBNpQWmsXvXl+rP+V+AiAw37YG15HJD62S6iUtSpqxb0tEVQmihEOjjdvjf71YZQ=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.4.2-insiders-1609376449.0_1609376475130_0.7973344755737555"},"_hasShrinkwrap":false},"0.4.2-insiders-1609376781.0":{"name":"@vuedx/analyze","version":"0.4.2-insiders-1609376781.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.4.2-insiders-1609376781.0","@vuedx/compiler-tsx":"0.4.2-insiders-1609376781.0","@vuedx/projectconfig":"0.4.2-insiders-1609376781.0","@vuedx/template-ast-types":"0.4.2-insiders-1609376781.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.4.2-insiders-1609376781.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.4.2-insiders-1609376781.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Cr1X1barvMMevXc1w6mWUJa+zAkJIBlRRgxtOyPxAj4S/7TW2iKyzDrR8zNRpRTP0kgt5IkFGAtj4AfQe15l2Q==","shasum":"850a8f82f75d27e1fd2b359f3633907954b69edd","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.4.2-insiders-1609376781.0.tgz","fileCount":9,"unpackedSize":479813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7SQlCRA9TVsSAnZWagAA1vYP/3ON2DKWU/uhlJqoUiJT\nELdZicKssEWQv99l7GUPTMufyK9rC5PAKiqbi8zvZVLLQ7CV+smZ1gK7w1Dj\n0vxY9TAb56D8dCLrAlh6/ipWw4U3xpe1uHtlQVqef21MoDvg53ybCvbyO4pB\n6GkQ10qIpYqXXAwgjMwl4kfi8GLkAoTwFhXQ5HmJtzOEd+FK1ln3FXtPO0gB\nYQHkez5JC3HcS/fwFRfeM7lswu3eKlsTW5FIc90SupI1v9JwCOQEd4gMdqQ3\nV/sXtkA0EAzH9Vn8Gi5NTnAA3kNW5ZIO0SkiGWlhNRj5Q4NTwDM+7VaH5FRl\n3GRinxT6QuSrgpNdDFUyOb6AQsi//QgWch5FRPKqoqfNCKs1zq2w9WH67/pj\niDLfuRreJL8KP/+xSzjTuW/W3O094ayfdw3+D/gVZ7IwzywfHyaWrChCJcHL\nuoYRHUqQ4aHoESXJ+0CN5hliFv1V/AKOLOWOvNqVcUd0Zpm9g45Q0NQizgxV\n1pfo/TC1zboo5K4QG5PfqyB5VbOx58aqvz5Gd5RUZFB9b8/t4oWgx4vS4OmQ\nsXMdZ9qJLNP1Bf5mHe2w4K/YQd56tslQ4XgV6/4dC8J3pf47myTCMwitOTMl\nLPq7vSnxcF4eXGIGrjSFVxFE7w971noDGqYKdAuElqM9BlxVnfKu8RshQAcX\ny4Wl\r\n=geP/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA2pUvLfL8C8Co7Wn6WTMxnhNtFwA8hcV3gLIBnL/MC6AiBnLCNbwm1JPCZa9JBFu2kb6q4tPnJC/4L3t5Z0SZV/GQ=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.4.2-insiders-1609376781.0_1609376804977_0.22753255881391343"},"_hasShrinkwrap":false},"0.4.2-insiders-1609385764.0":{"name":"@vuedx/analyze","version":"0.4.2-insiders-1609385764.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.4.2-insiders-1609385764.0","@vuedx/compiler-tsx":"0.4.2-insiders-1609385764.0","@vuedx/projectconfig":"0.4.2-insiders-1609385764.0","@vuedx/template-ast-types":"0.4.2-insiders-1609385764.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.4.2-insiders-1609385764.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.4.2-insiders-1609385764.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-3YKMyQhXgi1gjlEDEv6RB7OIlLM0QThEvPpSGweFVvl2MYDWq9OyRUPqT63uV2iSphTfqJRoDeqmmn0cXNIpSQ==","shasum":"a9f85a7a4f4803ad028aca7adf78a2c9d61771ae","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.4.2-insiders-1609385764.0.tgz","fileCount":9,"unpackedSize":479813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7UdACRA9TVsSAnZWagAAUfEP/2WH/M7zpTsd/54Ws2Mr\niDS5MmpIsZtij672BsH9a3J5VcszrRL1PgxL34rzvvz7C4DGPjaaN8MBc9zc\ngfiqj6myfSeat2+8G9Sa5gqcWSHApKqkomNKbYNDYTjdtbEKvw7/9VUuErRY\nUMvnAUK9Rvkx0aq3jAKbZg573M8Ywbxq5zHAxKneETcoNY52efTnQJD1JMWn\nxPGdK0YpOBIS83aOJ09v13ETImEmDWU2g8AYSwpkxyshgIFVuauG+b471VVd\nvGzYFIAhaJjt/tqmkXTU+ifqtZrhjtaHgi3XgbZYIDS7pE1NsRhITiPfeJQz\nvTgbN9qxIfjvj6OZqURluGll6GLBNXP5FnAePFR3HkACh+Q6mAO9D/rP/a+4\n8XN22o+euZKGFaJiUC0FbBxGZjzPJt9YQ4XcMzV7/JsP/kkjY+xHRf8Y9frb\nCVYg7m8GEhcB2DNhvygSGZXkTSZolCZonGQdat3EEqi7y2H2DPMVbwN/r931\n46QSV4xKAoDLJ//wZbuO4Grty7DCef85TIr2cI35ka01fv/YH/IkKB69ULGS\notmQhUE7RgzbroE5DL1aJKoHkUSmgNKEhvyhtG4594pM1cSNR+fm9xF23nje\nXwqB54awhlL29zl5nQm67ieAgiuEE7TwVxYbGl4TeycAKPMy5p8v3thDUzr7\nhSFr\r\n=nFs7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPJWcnEI8m/u4ZAOtfvPP4Knjox30//kCycJYjo2quHQIhAL339LGyB4NENcvKTAp+wEUx7gp82CqRLpSD1mUSsJlB"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.4.2-insiders-1609385764.0_1609385791593_0.7768928493618266"},"_hasShrinkwrap":false},"0.4.2-insiders-1609436485.0":{"name":"@vuedx/analyze","version":"0.4.2-insiders-1609436485.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.4.2-insiders-1609436485.0","@vuedx/compiler-tsx":"0.4.2-insiders-1609436485.0","@vuedx/projectconfig":"0.4.2-insiders-1609436485.0","@vuedx/template-ast-types":"0.4.2-insiders-1609436485.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.4.2-insiders-1609436485.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.4.2-insiders-1609436485.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-NPxi30ZCy47ZgGl/TthtCIDqd4kY/BYmNMzjaV+AGzvYWaPNUwzL4xp9051d5QNLCpCdN9Ld8r2812Jl6oG5Mg==","shasum":"b8c96eb890d3b6d9dc11cbbb837b2b41a4059b93","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.4.2-insiders-1609436485.0.tgz","fileCount":9,"unpackedSize":479813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7g1fCRA9TVsSAnZWagAAZ1EQAI3Gpc7SyDHhBFlUxB1F\n/e4QI0TBceLSasonPfzROaWI0as8D125ULbjebpw+TVyHHmrgixH+Gsvedn0\nCa9cGVXK7tnt7X/iy9xrSrCkLmWO8esB3Bu9MPI0+J5cjjfiQUpLwjdNl7LC\nT6uITuoMi5uE6A0c64zfuvLPN5ZXgMFyyxn9f+d44VZuS7JHGb74Kc/GBELJ\nRHWKogztAZXl2R01vGsBUzxbekXZ0buxGeY3WoMD1sgMWlg/CAT4Zax0wKGL\nVIcw30fArajms9cUKPW6ip1WfwycrnvaZwUBlYoFoOJdnx32F1a/ecoI1h+H\nmSRaVU04eDOb0vpnP4x4WAiElTliUrJGtrqFcdqYHD7MoLbqDPkxUPQTy7fp\nl2uAfEwbx2ufjM9ELG/ge4UTmKfuJ3X4zvYayiFZ/ijbCNThhPutwh/IlukL\nvAjL9EsvHbdmUPo2DJOXghkpQ+Mo580jjr0UbhbTPr6lT3qX7WVnC20Gg6ix\no1T00JUjhp37jS8NL8KMhNnIhJtso6hvR4w73ic6jhID+TDIezBs+XWV/CCg\n8Q2WUQHvbqI0XycMm3drQh5oQl59I0HkKlL7T3uENhYiyda0nOOnAdnYwSQc\n24AaCob0IlXgme9Ny90c3qVOQVSlUOe2KQH3HwbGhecIr0mVH6jki2swjqCP\nL+ff\r\n=b1Gz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEwBjWlXQXbO4iSEB7RL93DQemOULWoFfpVCwZ6rUKIeAiEAlApfHHtRSOiZM0dLsJwg4TyMzpS81C2Jupoe4qxhU38="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.4.2-insiders-1609436485.0_1609436511220_0.6816635844643366"},"_hasShrinkwrap":false},"0.4.2-insiders-1609479032.0":{"name":"@vuedx/analyze","version":"0.4.2-insiders-1609479032.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.4.2-insiders-1609479032.0","@vuedx/compiler-tsx":"0.4.2-insiders-1609479032.0","@vuedx/projectconfig":"0.4.2-insiders-1609479032.0","@vuedx/template-ast-types":"0.4.2-insiders-1609479032.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.4.2-insiders-1609479032.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.4.2-insiders-1609479032.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-HM3ZxJale7EWEaepfOrnv33khng5S7uvpNyKV5I8YwQDZBzeBIU4FsfyS3xeU4snj+GQ5mKBDhxtTIFDMyTqdQ==","shasum":"c142ad0e85b28b63a3f6c9a5f5cbfbcb692c109c","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.4.2-insiders-1609479032.0.tgz","fileCount":9,"unpackedSize":479813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7rORCRA9TVsSAnZWagAAjcIQAKMj0HtNJP3UIfDzshYL\nrIpOAP5PFv7dmSZurrh5pLN5sOQclGCj4BqQGgbBi/oxcyLKxLzek3VZ8n4Q\nH0qtAF1m3Ss6mJn00n0FCdMsJXX+KL9s9ZtXEcerzujAqCaGcLk4rqDZ3h52\ndKVy9IDYQ4gp+A0SLm1sSdmR4KAzBy6MzbSPztDCLEM41iNvFE3EGuEy3E6F\nYm3uwlBJEbYgvuU1yrD4D7oXBSJo242glAIR53EkfcEkz6Sr2nQcO2MrfB89\nFFitBhyING5BLsyjaVod8JdbBMNFxkFUn+i/EZdjApgvpfxr7LLt53IEbNh9\nnGeITM9ffKt/F5WHJ1rJZxUu/BWeFZC7pITrhUbxrLI35AsZQT/7qUyKwEGx\n8d4t2iOj+3KTSJ0k+yTmuyT/hln8ucVVLGCV+dVuFAdNtlYKhZKDNrzHNjeO\nlDfjULxsT0wniuxtDES1cc+oQYiu+Ib3ZdX8sQUDyBdKgsmLvr6Ezdr6+EEt\nuvLkggC4Z0g9m0zj9/899LmzPXhGYHWWNSYnxbx8xc2/ucCIuuLLK9Bcy05I\nB4tA0/o2VZ3C4PDgIW2bhIhjM/FXAJoyRb54rKXOE2fL83aDJ1rO0LnItl9d\nKtbJspdFIyVoshY9lGwjfwIx4jjbxX/MfYBpbbE70wHKHFEfMTPUEhw05xO0\nBzcA\r\n=hh4A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAo370qr/jxepZsqRJD3+v9TDlYzM+pBGAs5pA9Tj3ScAiEA+Lxm0RhiYr4ns/WpfwTl8YDhpsVVnR53Srz8w1Nlyiw="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.4.2-insiders-1609479032.0_1609479057237_0.6504294169090761"},"_hasShrinkwrap":false},"0.4.2-insiders-1609960000.0":{"name":"@vuedx/analyze","version":"0.4.2-insiders-1609960000.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.4.2-insiders-1609960000.0","@vuedx/compiler-tsx":"0.4.2-insiders-1609960000.0","@vuedx/projectconfig":"0.4.2-insiders-1609960000.0","@vuedx/template-ast-types":"0.4.2-insiders-1609960000.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.4.2-insiders-1609960000.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.4.2-insiders-1609960000.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-RmFFZqQxjd3kGwyp/UMgHSglLa9sXhCZlIzFDCKPbBYNOgU1GIlm+gHCbA+Ld7h4Am3OyRk8R1wiAn6D3HeauA==","shasum":"a1adbba8996796cac6c8d799db5149057bce2be8","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.4.2-insiders-1609960000.0.tgz","fileCount":9,"unpackedSize":479813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9gpbCRA9TVsSAnZWagAAH+wQAJWbF5c/IqEaEd7skIGd\nTr5L2eveVAYp3B0Cnb86v/y23z+MY5/DCrcS2rCgdXqoSP4Vl8rZGU03TTL8\niAH7wXtdvf1ftopBHCxi12LiEXhp2RNCiUWCSMhZuZr65wiVYYkFfhKKmLDB\nrVphUGf2WLY/1MSDvRsJ4ogU331MOAgeuS06zQlslnfaaby5/vnqmsR5KjID\nsY22O228OYCeXXUqekUkiBAH8EoprS7nImmmf7ZOu12HNFiwwMDizEYoYXx1\ndtUFDSFjeFEKg6i8pj0CenNYGe33VTWZCq9/GXCb644e/+6n2seSzPD2Kel6\nO2kngzHEZa9fC/FKgQeEvClEn754puv1UgLziO4BnBxAgAsn+6KBe1Vxe4O3\nfXd7XzkkBYCqnSpwcsy29mxhiEj3UFHjSaknPHLWGPPUpglLdzNWS10kA+qu\nCd5+6kmKzIDJO+ZpjBb8DQAmH1r/LgVEfuSJGSVRxYyUDcJ835ZxQhbBIWxO\nY1+Rb1I6fArjYKq5BN0Zi9gfRG4E+y8hNDpQLpZv4wfzkvKOZGrxMWCX1676\nmXt2d5U7ASpotAUD+OC+gEz8vue22JP0Vv/+d86KO23XQHsK4ulOS9R4SsST\nxZQjJBgKXxPbnRdGXxUSkRevfN60mVFKYijpbL/swadNG6QC5jXe1sz+DpDJ\n7crd\r\n=1+32\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDjAwvMfbAb5dck36opVB7GvExPdlE72n3B7TkqleXpNAiEAuFLTqecfTNxqS4GSejqAXnE/55xNc9HSWxDiU2UfjJ0="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.4.2-insiders-1609960000.0_1609960027206_0.11568654258812061"},"_hasShrinkwrap":false},"0.4.2-insiders-1610169628.0":{"name":"@vuedx/analyze","version":"0.4.2-insiders-1610169628.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.4.2-insiders-1610169628.0","@vuedx/compiler-tsx":"0.4.2-insiders-1610169628.0","@vuedx/projectconfig":"0.4.2-insiders-1610169628.0","@vuedx/template-ast-types":"0.4.2-insiders-1610169628.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.4.2-insiders-1610169628.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.4.2-insiders-1610169628.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-jrkQjSh+lDXNo+SqSlWqIgaASzPBLVfXIehePZpybFhcFcRJ38/FK8XL3cALAJ10bddgnDNy21xHFoF+J+ahug==","shasum":"72ecd9083609ab1cfa6554a3a8d78c2475d7747b","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.4.2-insiders-1610169628.0.tgz","fileCount":9,"unpackedSize":479813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+T03CRA9TVsSAnZWagAA+0YQAIB6VZffC4LmM+tApx9M\n47taZThqKUZl30uwbsMktLai2ZVNklSiv1LFfzXXOoTQyRZO+25bByfYMnW7\nWEO9CpRdNcX+SxHpKHp5lhVIwHzO/GKtuhrB7491pB7CINoJD91rt+HEUIue\nEtweD1K90wYKlPeELdGzY9/a1xRE4e2GjiEnvM8ytlmfVx2cNub5UGnAnWlU\n9MqsrQN5xHxRhMEy8DTLhEhXh662mvw8+kr9MsXVbe+4hkKTvR1+kw1kmlKV\nrk2yxOVob0Vxu9Ur+V+inwe4oBMCBd4KIeO7CaE1lGAuNeseRyqHVvi+5H+j\nAWheS9tr9wUpqbMDcuHAd99BFUY2GKkdsUN7fN2pwdpWK/v3DlFmQ/wwM+nc\nDcA72Z+54mGb6OVZJWttgGO+zqqs42b+MqxfPgHmThPsZamLa/jtxUey8k4b\nveG7AiftkIMrR58xWvYx22bjdBemgWRmaSmSyMBJdnydhpQhpM3nSh861gHZ\nCs3ayNOL0zwomCKYwVdIdXtgGs/264DdM2xPBFzf9I7mYmgQ0MHHlJH2wC5M\n/CIBbx9ARB505tfLDYzk6Ishzq7KZC/KLfgBlojd2jtFTcl4kBvBZ6fxqqM0\nNP0L1OhBBX20znwAyoJotVU0x4c6vpI38JYY1zO+pA5Cmvlscj/XXvSslO+Q\nTcz2\r\n=wUbI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7c9xUY2bMEi1MsatAB6iWTx/nGcBoxwlBhTrz0hcQiAIgYLFV7qzBE67hZHSdqmPoZI9phkcVwOzif5E1rRWkaew="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.4.2-insiders-1610169628.0_1610169654669_0.8394634749980643"},"_hasShrinkwrap":false},"0.4.2-insiders-1610448877.0":{"name":"@vuedx/analyze","version":"0.4.2-insiders-1610448877.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.4.2-insiders-1610448877.0","@vuedx/compiler-tsx":"0.4.2-insiders-1610448877.0","@vuedx/projectconfig":"0.4.2-insiders-1610448877.0","@vuedx/template-ast-types":"0.4.2-insiders-1610448877.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.4.2-insiders-1610448877.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.4.2-insiders-1610448877.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-6xM/Aa7OVrO9k1wlgGNhPKy2MaKinSpFEh7Vo+iXju+PyePbTLm0ysNud2FK+2gW27deXYDeYOu7b31moZwrXg==","shasum":"18bc7c2f13004ba22d9bf8cdd30944b8bc2e164b","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.4.2-insiders-1610448877.0.tgz","fileCount":9,"unpackedSize":479813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/YAJCRA9TVsSAnZWagAAAxcP/2Us1LTQfP9sYBhKOmD8\njkDXEtd6hqtcYdMmCDPppBVk7S8v641F5RWElhwASiaZhplYUzTBpi767xks\nLCiXP8nMNcS6xk/pqUSPdplotK+XZ3nfXnXQlhQcUAJAeGKG1bNmHU/u+MNw\nFztvt0XZ4IJ3IUf686LQlXEMbh6LGSSFs3ZcV+u8VdxN6j6YtLws8ZT2Xw/b\n5s5+/jEIvpYJSJFrXCwx00MZODqkQ4asRBebMKsPsailD0THy3fNPJk+BGbR\n2B0hacAzpUv21FE5ElU702GCA4r2/jIer59oRYGewFjhbh3TU3DlqlJ/IiEN\ni9WD+xA2M1v0rWaW+t+nL31NTyUh5G9WJh6F6GKUEasUolD8oMFWqlE/kyR6\nIOmiKLv8w9PZPE+0fspPACg4UTyC9nfiD0vZrmALqLkNUrta6DqUCrx475Pq\n9rCwe52gyMxDJJMpBrsKKAMOM8Jro1WehJCr2y2E+zsLvoVuh8e9i753ppKj\nrrH2V0j4bdFq15u1Z0IthsEWPUf5CcltCve/gZk/q49ysM5gJw8H6/lMOz79\naM2Y6TxeRktsrtG25xCkRmMcWtSGdUMkfP2fG3aoxnIHQi8Rl4mYv7hZKEIf\noARQ3/NZUyY9qf9pd6doRHCKJ9P49AWO/J96P5EMQOqglobDsuTUKuepEsfY\ni9n8\r\n=td4I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFEsr1zmdAGhWsCK2DbSZ4529kFr+GfuGRcFg7djDMI3AiAUZ1tjgZatg81n+1NPUZg6/WLQRVRDB0xH7MLaPLw7MQ=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.4.2-insiders-1610448877.0_1610448904751_0.6964265172256188"},"_hasShrinkwrap":false},"0.5.1-insiders-1610450632.0":{"name":"@vuedx/analyze","version":"0.5.1-insiders-1610450632.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.5.1-insiders-1610450632.0","@vuedx/compiler-tsx":"0.5.1-insiders-1610450632.0","@vuedx/projectconfig":"0.5.1-insiders-1610450632.0","@vuedx/template-ast-types":"0.5.1-insiders-1610450632.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.5.1-insiders-1610450632.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.5.1-insiders-1610450632.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-kLusHZB6dP7CpFpIMS51EQFmeBBSfjCEavMN38dTgl9yS5nFkxkYXP1Vwm6EX4UsIx9i0+ZS/0iuFJxRjCUVfg==","shasum":"7e9a3370b022d5006b8c4c37da0af1f716cde1c7","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.5.1-insiders-1610450632.0.tgz","fileCount":9,"unpackedSize":479813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/YbpCRA9TVsSAnZWagAAGOYP/2fm3cFOfSuHG3fAEFZy\nMPByrmt02twewR9EkK2of4ZLLI0HPBNrOAcY/AARkkbq2gLjhQ1It0BBagAC\nHObAZIHzYxkUNstJdpBGmO7A71z6e4Ad8Ds82PnHO5H+brpQT3X+DneOl8rh\n3YbgaZ2Ac3U9UVZjsFxd8JFOXkU5FaSdhpEi601NevnY8QZNRAHP1rwFx7lg\nNlMLWeXtbncjELTh9PpSS8NZ6otzSvbDkUe0ksi6t6rsjkjK314gr7TA3KP9\nTj+3HAvPbAWTod5WTFfRwHv8z9rtfPyUvBrEW1VMidTMpwoEAnXvnp17dSrG\nGyygq7KmfA73vvccKy3pkA9SKwQPirqE76Y5iMBwCQikLHsUoXjJiXJYD1VW\n/rFiX7PanDR/oPjR+dxfOMwADJWGidpXrc2cQO2wXL6JvpSFvaX4+l9J8Hvs\nSC8DVylcDg2vTknr1Vxd0+QWsImySyoCSlnRfSBKPks7JqoH2e8FBoRw7KOR\nDyW++AMZ8/firY+QOHBFXr2vN/kAGExtWpvpeMutD97VP8smVaMD5NQQXV8c\naN3m253T93Sb52NiWVOfe6E3xl5cgEpkTp43cwVaGXH91SkjolKjjtmNbSFI\nFi4LsV6jQW8UoQIylidRd2qgZ21IjNJsuYmxpc7vcE306mDoGz66KChLUghP\nD6ce\r\n=YptZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsUItR2oGwn+ouDd83MmBHk3tQeOUcwyIgF97WLIB2ewIhALZsIHp967tN5dL/RrXrNciVW1qTDNA5RFpM9WW7JXX7"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.5.1-insiders-1610450632.0_1610450664826_0.6911866130285607"},"_hasShrinkwrap":false},"0.5.0":{"name":"@vuedx/analyze","version":"0.5.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.5.0","@vuedx/compiler-tsx":"0.5.0","@vuedx/projectconfig":"0.5.0","@vuedx/template-ast-types":"0.5.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.5.0","typescript":"^4.0.3"},"_id":"@vuedx/analyze@0.5.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-F+Q8GVq17MIZrYdTuswx3vplEE9TV4K3lCgf+yWBuZyPnSdymFTrvkmI7CMUNkZutceBL7RmM2C1PASlJAWapA==","shasum":"5a16c65321d0b3d6997d69aefdc50abc92a082b6","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.5.0.tgz","fileCount":9,"unpackedSize":479681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/YfZCRA9TVsSAnZWagAAYdYP/0xcfmEPZR4UO9XFpdsS\n1hLo2EgcKrrx9lnyt9BRK5xhCyDXg4J32DMx/MwEj0qPyc2WUEULDsw3zjBx\nZOecu22c0FH/MjOlYkYzh3UJt6KFRrO2BVhaeq9Tv+bafWYLxtmUe9zIE713\ncuRjebcWqjeNaTL1xsoZJkineTAks3ZWy3kyIltkPKaXNx15M+tLmFaTNGos\nR6GCXsBatrQnPtD/ADlQur/CKV2aIoWP+btt18/rcl4REs/qq7y7fvrAEk7U\neddBBSId7R8jdNaja2+HIVFyrsu5F4KaFh3srw9UOX1eyurr8cBQt6FAFNeY\nbT4nBCAeP95GHdG86djf01LWcLeYD2mCSvJb9fepf+yxCWeO9BUS0XBDlAOk\nESky0vsb7bMwKCZz8qCvQ1El4ZppNIo6aiqjYVw7fZRPI2BK5FL7pDX4wHVq\nGk2cFLgx0K5f+w9ysJFYx+wq9yroQJgHLdZ7iWSiuxIsZ4wZepyGM2NkOD8a\nmGNf/ho4TQxKLfhUxCkxAj770Qvs0AkioncsSG9MUIk3FJNoa825Id6iueY9\nDQ8p80UnSauQdmQuc3Gh7Mq8opPKESS4tgc8WYnowIMBZvhZnn6xoOiIW662\n6WeVMK9UV2p1OaE5H4/V6AYNhDsSh7jIoyGDwD121DFPZ1ywlPdkCTRxxF+P\nf8c1\r\n=o4DY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGbp9qHNOFUzCBJz5CvfXeFjL22NU357JMCoHKG3HZp4AiEA7/j+pbsSjSwF/l7u/UM1VZwUEn8rpcGMPj73vClLi/0="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.5.0_1610450904716_0.8977305660713095"},"_hasShrinkwrap":false},"0.5.1-insiders-1610688008.0":{"name":"@vuedx/analyze","version":"0.5.1-insiders-1610688008.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.5.1-insiders-1610688008.0","@vuedx/compiler-tsx":"0.5.1-insiders-1610688008.0","@vuedx/projectconfig":"0.5.1-insiders-1610688008.0","@vuedx/template-ast-types":"0.5.1-insiders-1610688008.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.5.1-insiders-1610688008.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.5.1-insiders-1610688008.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-aVUHmhi1PjsBwuqNaJ0yJVL55iGwjZHYydnU9XRQNJMhIS6Oat1wxcciYVPSOt1yajwOWPNG/h2iibRlhLRsGA==","shasum":"fb5d1acb836b542ac9e005d87835bfea790f6443","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.5.1-insiders-1610688008.0.tgz","fileCount":9,"unpackedSize":479813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgASYnCRA9TVsSAnZWagAAkrMP/3F5pDb4MNAkpV/v8gYr\nAypoSWgoo649EnwgGO5PeY3HxEUnQLK98tmtRk3cErBM2Q3a3m4iGrzsI+9Q\nA2vlo1rMbJc/gHhr9Z1DzBCCgBtQmPyuSdzeyH9Ty/Jh02A31n2Bmd66PI78\nJLXpqkb1DtrJgSQCYooZYvMMKJuzRJjGelB7lk2pBlKlwb47PsaFlic2yj73\ndQNo9HYw7WtWEvS5UznOVTzFEpZhDMulrg43ygsL22Ynlb6s4sTRSGQveufd\nQBXD8bhSeMp06pqlWSTGzj01S2j/MDkxR6XibVt8FrCsBp00r1aUjgqTtziT\nDBgRpO/bkwys1RESue4LFIWleF7w5rx1A+8OP3nrVn5A7vcaQUosD4NmJv83\nKN4zpXkH1I/KWUWu6PdA4RWWEn/yBl7pzDYYk2t+0XHlz3Fp2ABRYOb+eyHl\nXFfovL1pT/NSnyHMZOXjcwHRKC16wdabjU9W/EgmOF8yJ6cjKsuHuEXyOzwY\nR553xSLbi0ea5+uanHXtKV1noDLvErzHBQtxKSyuf7wP4F/ZVn+KeJhR2wVj\nr2NjyMZsaThSQY9bPRi/BN8zRhkJ1WbM804Tv7NQaMnAhxF97riv0Ej1bu0I\nXGpUEKlsYneoOHzd6qM5AKUxD1R7OK72AY/3022HOIeTrLRtwsFCRfu4+CmZ\nex67\r\n=nLu4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFbXlYLrZEPPgWp8Axa+btGEeh24O6NwVwvhJmctGUZAIhAOhqyCUE+w4UMrGw3NsHqFfTLw5bMpH4LlATUKNoRn8l"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.5.1-insiders-1610688008.0_1610688038765_0.3715326613947265"},"_hasShrinkwrap":false},"0.5.1-insiders-1610735282.0":{"name":"@vuedx/analyze","version":"0.5.1-insiders-1610735282.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.5.1-insiders-1610735282.0","@vuedx/compiler-tsx":"0.5.1-insiders-1610735282.0","@vuedx/projectconfig":"0.5.1-insiders-1610735282.0","@vuedx/template-ast-types":"0.5.1-insiders-1610735282.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","@vuedx/shared":"0.5.1-insiders-1610735282.0","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.5.1-insiders-1610735282.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-uEoXX076oHMgZvAvQ+abKejkBQmbXGVTtqzzHK17WOOmpNFNz6D7rA+GgzynfaFdAQ92WfRmwC87BlQtKfQDFA==","shasum":"126c42df813e638c828028c0b761c28eeaccf9ea","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.5.1-insiders-1610735282.0.tgz","fileCount":9,"unpackedSize":479813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAd7MCRA9TVsSAnZWagAAllMP/0ifneD2NKy9Z+JjqmHT\n+lFxyUboM4EOuVHjEoQjlW2CZr/n6EED+wQVnkWSUk6U9bfqW85f9oyWiQRp\nZQUPVDo8UiXZZn77qCsyKT53cHQt2Jw8cHpdukSRzzsWkDQ99F3Dy7WMVjB2\n+KvR2orf5Q6Bm3xN9j8ahhbWXWLT7jm1BzLdBy03lRgss4pwwNuXAvrqmbyH\nzamMv3BdPQLrTpez7hNkYCk9DljScFDD+3j4G5uHBNzkLJOIdZyeE8MbRqIu\nsNFe+YVll5J6UrEk9DN9ov2VgvMHTndQ5xmO6EncjdFod0sDo7G0rlAIfp97\nSq2aJByRDGLpolvZNstOPIwcltRlkO3H2T6rapKIITGfjyOekSPNhZC3ACoI\n755JJwh0tHVZQRhJ4LosmIeHhui2oY0iMx5WGhJrNHA2Mycv0fNsnzS6qw8K\nv9LYAhFlKY3vvb97qKLeUmH3g1QZiXBiAyio0Qfs5QyuYquuymaSQrdqp45/\nDA/50jU2BIixxAaKgnI34ZuoSfvm3Q7knGEfBoa74lU85bb8T1yxKGIAHQFw\nyL6MawPO+1r21jWvUaMQ3vALsXoKP1KsuhIMTNcp4rIXYiqpYOOV36ZJb+GV\nMv7CtLzpXl5MG65Uu8HE6pSsUGq6uXmTSz5jDClQ5Y1saskKV6z4Kx6PIRGz\nEVW4\r\n=8iLf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD93LNGxhpodPWezR9wS5QVoPxsfhsO1c33HwlcIhrO7QIhANXXLeU/d9sBdFIs582jqHokUu9SU+ybDHj4FH4uwAvL"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.5.1-insiders-1610735282.0_1610735308318_0.4210078808078481"},"_hasShrinkwrap":false},"0.5.1-insiders-1610828338.0":{"name":"@vuedx/analyze","version":"0.5.1-insiders-1610828338.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.5.1-insiders-1610828338.0","@vuedx/compiler-tsx":"0.5.1-insiders-1610828338.0","@vuedx/projectconfig":"0.5.1-insiders-1610828338.0","@vuedx/template-ast-types":"0.5.1-insiders-1610828338.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","@vuedx/shared":"0.5.1-insiders-1610828338.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.5.1-insiders-1610828338.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-S7jWNrgyGUw105L5UpIpSNTpHOHowkCkcFM31a7KTbEUWLH1ULhZgu8QIwI8mgFnfRDDoabgzm29K6bk4D5+mA==","shasum":"a14a65208482da1cdb036f3baffd60c72c494fd7","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.5.1-insiders-1610828338.0.tgz","fileCount":9,"unpackedSize":466500,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgA0pRCRA9TVsSAnZWagAAycMP/AtEvQM1cUg5VseqSAwV\niGOO3U3IUAs3BXNdvIsKF4hkaeZllAEMzX9CWFaOsAkwPccmU21pHT1D1Jm8\nxzeo1Kn4oqFJDyku2n3i0C0sc62mJ72cLpnV78IhsvcwOt1+WX6Q8oPi/ajU\nnlIfsSVmgUubuK8K0oOcGnmHsTjW5rBLZ9trcSjRZQMZtZZxDNSFkDJ2RN8V\nvm0iPFlG6lsoduWWPli7psK2ysmBaZcz9J7yFBfFucoj1anJbXIgsxoOrqeq\nS5uHhOxDFFWFV5qXTPr4Mn3TZsm8QPt9hOfcUvZoT6OnYkCw6KlT+ahbesk0\nogf0sfB/wsvXVDwcSCaVmp0MquWwn+qnwWf8HnWIUBhiA0TXEk0JNS8TyQ0S\n7vejTjzqTyFGW4dYVLMP056gFJlE3yN6wvEckKGaxZX6LJc+PZBecl+XEq8e\n44iLEy2VlN41u/Uoai/393RzM224jv3De7Sf5dmyJbHQAi7gygO82WFrVR5B\ndnJFTenkVmjUcUAkj+jtgjADo/hAAazw2dfh2s312BWfmDwg9De0oPUGVe2W\n99E99jm4UmMJZFNBJrRWFIPODuDqYuYJkQrypPT+Jx+7KcW5uCNtPMG4nEhG\nxe6Bv2bEle07byiAusPbNwepd9UBIRm1xfoiFOQpOQhJkKEAfO1Fu4mdDqU8\nltai\r\n=9NaE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIByfTWjtjvQSselrzrKcrWBctLdG7geFflXqGb9WjBWTAiAlLOHw8EjeFdXUljke/Scm85pmDHcwtdQp+LFhuJxbGg=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.5.1-insiders-1610828338.0_1610828369117_0.32996881564334957"},"_hasShrinkwrap":false},"0.6.1-insiders-1610883378.0":{"name":"@vuedx/analyze","version":"0.6.1-insiders-1610883378.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.6.1-insiders-1610883378.0","@vuedx/compiler-tsx":"0.6.1-insiders-1610883378.0","@vuedx/projectconfig":"0.6.1-insiders-1610883378.0","@vuedx/template-ast-types":"0.6.1-insiders-1610883378.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","@vuedx/shared":"0.6.1-insiders-1610883378.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/master/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.6.1-insiders-1610883378.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-nJ7Cz57kxl3BhrVYaw+7fNKXmsHwMJIHGTC+kFifvD4vcH/DeKaAy2FHfKByaS5OprYiJUzYIJga9Lk2Dsp/uw==","shasum":"4a35c111f0cf6e822ce828e4b2b7c52820e1acc6","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.6.1-insiders-1610883378.0.tgz","fileCount":9,"unpackedSize":467826,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBCFPCRA9TVsSAnZWagAAspMQAJ5K66XZon4QdUOs5EBT\nTVq2aoXx6hTlHB4L2SuOtl3lRW9z2E8f1yGAl2jdrZW/ok1p/GLWoaoY3d3y\nPfhAsgZsJOGABXI8UIBY9oDayp5peYiugoCmIhAEut5NP/Agie+Pq3s4snMw\nMAeIKlyVsUu4V8/VeveesqlUsL26sW+FvlBPmKU5EAfDTSpYfv0yIHIk2USS\nr8b3HMtlW8Wwi/BpMgDo1Wr8wFqFSU+q4CyL9w3Z8sxSgDSDJyJfo0vBoLDe\nobS7nt73vnaZe7PKRi/X++1Jlki/OD+n2I1MJujGgFZ/KEkfiE1rwtMnMFVD\nb089QNp3twfSPAaoqQqzS+/dhcANxpFrRASZZN6xx3CYiP30tb7VJb4qAzc7\n2DKwxrLD+0SMrZ3G6AY0yvfVstr0y3oUNTPTCoJ3JzFpHpOXOTFvbDSkyOAp\n95gApEGKxsrfK036+Vfx+pSaag1o1wMIbi8Hh5YjquDgIz70Ejg5bL6hIwsh\nm5LSz1SFBQVigQaJlAIc4MZmgfEfZF+1Oq4MqGGoXse0MzelnImz8tYT0EFY\nuV6lTSJ2Ergsx3T1Lt5I4P7bVw+IVzQqQB+RzMB2F1iUWHPbpQe+V+f8VgBm\nvj8rrAoP5A1JgoQK1agN1QOZmhOrRqXKkFJGvXiNxTbxmbGPQDB25HiRNngk\na/N0\r\n=HyTl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICWelehy1h/C8DHgm4OYYc5TyQvTOKnR6aj9/iLtrKS2AiBnFmMMuZTTtfNDtV8hxWCXblDV5QPejkvb6aQfNBoljg=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.6.1-insiders-1610883378.0_1610883407549_0.8528540671663412"},"_hasShrinkwrap":false},"0.6.0":{"name":"@vuedx/analyze","version":"0.6.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.6.0","@vuedx/compiler-tsx":"0.6.0","@vuedx/projectconfig":"0.6.0","@vuedx/template-ast-types":"0.6.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","@vuedx/shared":"0.6.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"_id":"@vuedx/analyze@0.6.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-zq1d6PSQslESD8P1o0SejIjEWSnOLeWHfaWWW55oIVzMFseWiJKU56azn4nGA8gsb2goF2DPpbf74z1ZF4xrjg==","shasum":"93e1136e5259cb5ffc6b714cd5ffe63b70e89fb8","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.6.0.tgz","fileCount":9,"unpackedSize":467694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBCHlCRA9TVsSAnZWagAAtvoP/222E5xufhGXkqvtTAi6\nJ+zyB+nP1BrabWPbLh5Pcw1+HnbQEji/SQXZM0uLijXc6xltNwuO0jgOS433\nThaG7g2NWL3sXhmDcN9Ll60DyT6ZSyh9ccIb8tkNXbPGdo75vuO7V2zi2SWt\nDXNjCKcoH2lZAKtPKR61REc3HSXG0q7ydsYxf+zfj7fyBpLjVD6RTgcdGnWv\nTzPXPK2TYTiKqa+5adChjGYTRnwMhYU2sj2aYfShQds38MnZy8dJMrE31czh\nlG50A7Ez3Vn6bV0vaCa6+mmnydkj5SgtpfB7lxu9EPcX95+f5xGnmWnGD78M\nu6t6WgZRt5XAjOtajK3WA4liTD7Tm7XjBH8Ypznf70QUBYu++ymCTolPK7UR\nfdqp8QQUY/9ncoZUvSINcAaAD5ELzqgl5HNBkv6ZAH/+4EbdZOIRv4tS5y/r\nUZJ6dga5S+AlgnpCYxwrLdfj/8FnKp+dE6zFw1Yyf8tObtiXSb6SXGqniG/g\nYfwqkaIuvLFvTYvzmwQAL+ADjakS240E9M6lteDMhn9RURb7n/6OqP+pXszG\nHndT0mkkCozMJ3b7+/4igaTQPSsYL5Ow9BolvnCyq2VhxHZEjDUPM9qvgCiL\nKiTe7ofVNhRUCsV7pyo3evQfkXt59SBXD1YIGZul2Q7l27SDDLbLldeKNLhG\nTzk0\r\n=7XDK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdPN33O5A849beXkLr3HbZAw0G6u2Rss0WN+q8Yeva8wIgd6VsHUnX2KRkjgIVvOKAuWo8/u/QUP0l442Wj7IyAds="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.6.0_1610883557365_0.9736562621277245"},"_hasShrinkwrap":false},"0.6.1-insiders-1610891537.0":{"name":"@vuedx/analyze","version":"0.6.1-insiders-1610891537.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.6.1-insiders-1610891537.0","@vuedx/compiler-tsx":"0.6.1-insiders-1610891537.0","@vuedx/projectconfig":"0.6.1-insiders-1610891537.0","@vuedx/template-ast-types":"0.6.1-insiders-1610891537.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","@vuedx/shared":"0.6.1-insiders-1610891537.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.6.1-insiders-1610891537.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-QNkUrU5M1waOA0HX7GJjoipeBe210W8EZKpGLFad1q+Y8ZocktVtkuD1c28bhJ+1UVQdd9IjCkX2dVf140g9Jg==","shasum":"31cbc0b2735367b67f15060a54876ec0791467fd","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.6.1-insiders-1610891537.0.tgz","fileCount":9,"unpackedSize":467824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBEEuCRA9TVsSAnZWagAA60kP+wXXccJehR05b1ydm2t9\nzBee0jnsTzp3A5VQzN2BaLI9Bsfh119IW/BFKbAJqMlwDkJsMY5GvywOS9pt\n0LrjuCCBYoLHhjk/A2nQJsa/AELA/fFMe1Bur9HRGuVVUUtWeFVLRHOagibg\n041PmllNPuHRZTQdIiSk1xYZI/9qZuYH4u1346NHuCWjQNuk+zQIl++CX30K\nn6M9FAv2rpicc6HTXbfpbE9d/ZekbNxZWRtZ1W2xc+He1e2Nvq4FXzb/E7Rp\nLZf/7J7I3cN2N3yxuZ3+sJzqnzJXTTrKjsPPE42UKBYNyQOiGdR6R6uV5gdS\nsznIwsujeQlYhIMadlZk76s7L1pCHg79IUfY57O4KszAyj+EC3okfaJej2dV\nU/71K8csNmDadY/nLviTmHBZLDPK+aK1olYQwYis/uhptqKauYclaW/iAx85\n4bLQUT21kvw/QQuFuMWs/olnzahxGhjwm3bZ/FVbXAYH8o67BtCeK8frWCtn\n3IRSNdAi7YBMqee/8Xl9LX4TK/K2gf7FyUoy1eCXuQdUlykZRRZuJoZUYT5H\n8Fyo1d52fUn218u2agfWvikG8dbedU5JMx6gMzh6YZmNig3Q5EFcgb/TQ9Wr\njx+mn0c0DzK15kwOImwUuhQbx3qH/y9CzVERaUJJsIZ6Q97XBj1aq7/8RIqn\n8NDl\r\n=hMmU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICG/FK8ZNKK5gtXf9kDkF2bB2wfXoeyrslg6NMVEpB4DAiAKiCGLXsp1rgcAvMFHZsbz+AbIIKja9vtHt+dVzVC6Sw=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.6.1-insiders-1610891537.0_1610891565523_0.0808246654113911"},"_hasShrinkwrap":false},"0.6.1-insiders-1610911987.0":{"name":"@vuedx/analyze","version":"0.6.1-insiders-1610911987.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.6.1-insiders-1610911987.0","@vuedx/compiler-tsx":"0.6.1-insiders-1610911987.0","@vuedx/projectconfig":"0.6.1-insiders-1610911987.0","@vuedx/template-ast-types":"0.6.1-insiders-1610911987.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","@vuedx/shared":"0.6.1-insiders-1610911987.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.6.1-insiders-1610911987.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-uQdr+9Y43EFXNV1yZMBm7TDYoq1YP1K3HqxEuXjEpHOT0rlbZjdu8+v/xgg7TifIO6gG8EkyTlsSw2RxNbiRIQ==","shasum":"804bb3fe934da021c66ddfa4a0358dd395d516cc","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.6.1-insiders-1610911987.0.tgz","fileCount":9,"unpackedSize":467824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBJEPCRA9TVsSAnZWagAAzHkP/R6PSdWQ6nUzO9kQIHru\n1jDysr2tSfKMsq79yG7czOs6Eoe7wko3fPWq2yEU1g+DEASUG1fb28qV2jMk\n32hofUeXOSkz5NDa+aMUfRuxgYjO83F+dUBwZIWF/1dZS9j52+w8LVZgxW3M\n7zGnY8wb6p6wUEqBxNcTFZcyjpQFkeRvUijnswz08AfSNEHnbxt2b1kiO5d4\n4JKxomGR/fO9YfC/r+xH7u+ZiF/HSeMMLgraid4UL7DhMVBiy/VQvLQSp8hn\n3aWLfmTD23EI9v/09ApUE++7mtY3JsEmQeDZYtoBulmL5Up4zT2HA6pn4lok\nzRpJZ4QLvOWZFvhYzM/2/DWQGJen5DZhvZ1mbjZMajbM0zD+GKFlXUapx59v\nY07j2/KryhsM/4zqObKWOlkZP2CUaRAeeheanCgLRIgjmYnCpn4kqdiRAG2f\n81FR83GEHOp3hbSq0f4aMfpmH8J9HDUB/d+t6V3HbpNeeMEJV45Shsu8VMxY\nGbzBO1IidgMjJQVvwtauA2VYQBktHHRFhsm3h9RyOweJgptOHyx06JxbUs4g\nCzgDNBuFbEwKkQRWTGfR6N7eRyLgiUgibfU6eYu2VuWpmlliDzOvx5EAUNc5\n7YsNACNLfGXhngiHe5DEyTrjhcmLuivMmo+q+vuGopJQZ1Q05sTNky+qsBSH\nccyW\r\n=GIP2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjGmlpxRfn/tRQPi1kejvwz7c2TkHkq+q+x567X0MlrQIgF5JMuaL9fwTp541SA3yXoQ8HaubbocwiiOrzD6wCGe0="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.6.1-insiders-1610911987.0_1610912015562_0.031176676963138972"},"_hasShrinkwrap":false},"0.6.1-insiders-1611324083.0":{"name":"@vuedx/analyze","version":"0.6.1-insiders-1611324083.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.6.1-insiders-1611324083.0","@vuedx/compiler-tsx":"0.6.1-insiders-1611324083.0","@vuedx/projectconfig":"0.6.1-insiders-1611324083.0","@vuedx/template-ast-types":"0.6.1-insiders-1611324083.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","@vuedx/shared":"0.6.1-insiders-1611324083.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.6.1-insiders-1611324083.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-3yZvSRMRCJsMTf9Xtll6cD8kDk6mK4s6orXgDtfBaMCGAmb3Se5ulvhBy+WnOcT7EECIcnaKRW5cFyg9P5aPFA==","shasum":"abe85cdd6cd0c4e822ae454373fcb531b99b352f","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.6.1-insiders-1611324083.0.tgz","fileCount":9,"unpackedSize":467824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCtrTCRA9TVsSAnZWagAAf0AP/0qBRqJsK8g38QS+++9J\neo/ucHbPd7tuXVOuqr5OfYZpRHY6qllDXW0aEkTAaXJy5eT+YjCqXLyZsR4U\n2vvOM7VPaOb84Ts+dux/oECW4ynZu1XCCA/1BfWREaik3QjAR1u/T+ws7FUw\nsunfnrh1GrMLHW0S8IskAWi9mvsYlM6tWen/BTwTaV+6F4tci1kWWRNyMYBp\njTvQAo91wmhqk9eXrM3vjpvGVvU7zkreYepm6xzDBiDHQHNNlG+yuCFfWNyj\ntnSbca8vUhgXpk9rhhQR2gC5W00Xqu8CugCIlwIc59vtW7JODvVhE6/Xl6dm\nx3+0z4FEvHBlmT2353zFem9rCPeAD2zQI0HxWf2m3nQKc2ExeP1U9dGmuDml\nXwLRVLURONrrVJocmQ/PNJ8dWxjFJXcyfxr0uwE3hcs1x+eKfI0g7XdCeQEh\nF12LAIa1+iDI3PRywRyX37YSNKHET85JzIQtisqgjrq3t7VdxOMpmleMaeay\nPaMteHhgUYivr2fKZsc/GJy5ejvFU6DlmEUDvrWM0nYoC2JSbgSPkBVCeHaG\ncRwMd+mS1zb+OGdkZ895NeMm9HRAb/bXYcmP7rVYazflCq85PtT/WvRF2XlC\nbKTvsoMynF4KK+11nxhC/7qhku/fnJo9OTzq8pKwQ60M2SEbvwkLiWIM7Adg\nakhQ\r\n=9o7B\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBnSmB/omjjXdISxzWZ/CRjV1CJJhSfB/YM7Vx1bBtOtAiA4SkyhEg8IDLbSsjZ0uelb8djtF0J+Eq77r07hir3OKA=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.6.1-insiders-1611324083.0_1611324115367_0.5147869495754205"},"_hasShrinkwrap":false},"0.6.1-insiders-1611498830.0":{"name":"@vuedx/analyze","version":"0.6.1-insiders-1611498830.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.6.1-insiders-1611498830.0","@vuedx/compiler-tsx":"0.6.1-insiders-1611498830.0","@vuedx/projectconfig":"0.6.1-insiders-1611498830.0","@vuedx/template-ast-types":"0.6.1-insiders-1611498830.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","@vuedx/shared":"0.6.1-insiders-1611498830.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.6.1-insiders-1611498830.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Od4McMtLYC7JY7cgttWDFfuxsGSgcVMZzHswFC1EMCZxRiB8D1oAevIwAWRBb7wRd9SfJ+4TAJi2emm5/icrQA==","shasum":"9d6ed5be9fa500d4e717451edad796e95a6b5439","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.6.1-insiders-1611498830.0.tgz","fileCount":9,"unpackedSize":467824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDYVpCRA9TVsSAnZWagAA/+sP/joiaR4Xtu8ATJb9eBZE\nFzT5GWiVTBQJBXG942i1P9Iz17YTBBbD0Bkudo94wHDpRfY76ehAzIGdiAPN\n2fgG4V54J4jBp/kMPjl+voSXgMl7cid2G6OMGIhFU5FkCkjeXy0aElFLyZDu\n1y+dTT39IJi0PnJBKo466GUPRljqD1IMl/itMPsveQQjdZ5UVK0YxuJ1Whwe\ntlLA51eM4XimYTucCC6UFKUcL1nupGOTVA48fwGc+A2jiHMk2o+VnAkFqgYW\nyX0897eNuIqGlRxE2pot7ZcLYTfSVs2MwBGP6cELOSl2SiO9RmEpKWk/FODd\nffzwPftqK1Oow1TH2qfvPfK+/9uxy6mOnFAFUIgNsMM+6qLHj3KCmEED/Dl1\nawW6jmLAGLg8nJ5UhDxMHaAokeMHCCrgoH8Wpb6zUw6GcI0nOlm+BZPAmxGw\nJmlUEdZ14lp34gpAjl/1FDvu9gDTzZj/D/nSS/Y+r3n6hd8EykQaVzMR+b+I\nJySS4kKzpJfb5Fn/ZXQrPqZ3FXbVuPJ2l04eCJEzv7wW0jYySxgflD7V3RTN\nqm49Lcs9XL4NWDHALKd0tB+yC+8XTLsYotf1EeJQD3YMByKmukFiOhjMng+u\nvTw3PzeTbV8l3KZIQykU3OgDaDxTO+YhfirshoRxKgHm5bcoALSP9eQkv44l\nCESs\r\n=paqN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFR+Ums9vOA9wDHilR8TBy17/514QUOSfncd8xZ6w1+ZAiEAgiQvkAip/tl6sgM718H0ofPegsfDWMZmQSW4foKlWeM="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.6.1-insiders-1611498830.0_1611498857049_0.5360807903315294"},"_hasShrinkwrap":false},"0.6.2-insiders-1611564162.0":{"name":"@vuedx/analyze","version":"0.6.2-insiders-1611564162.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.6.1-insiders-1611564162.0","@vuedx/compiler-tsx":"0.6.2-insiders-1611564162.0","@vuedx/projectconfig":"0.6.1-insiders-1611564162.0","@vuedx/template-ast-types":"0.6.1-insiders-1611564162.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","@vuedx/shared":"0.6.1-insiders-1611564162.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.6.2-insiders-1611564162.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-x7IlgQqeFeswIvSwVwSNzmJEFVUpvvojEl43cWOlWa0T7+hqoSrym5Sa192p0Cj1bnx7zmnCKU6BoVDHQHP/vA==","shasum":"3e9bdb46cab7c1d3cc12d41cbcbdb25613e7ac9e","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.6.2-insiders-1611564162.0.tgz","fileCount":10,"unpackedSize":467933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDoSeCRA9TVsSAnZWagAA75gP/Aj2e6x1B6NYh/tZX430\nMYRVZYvO8qAVRb5yac4Q5i3kR5o/myrW1LQLx+HwzTVj0ZDivma2v0TqBhjJ\nEub/CESCycirYzNm0vqcd77cawNgB578ayfE8WyvONV07NYQY3s/rSHFUKtF\nYXWo31I0QUe1QPLTyLvnNtbiNJGnERJcIunzfg0HN1JYrSVzcxq7b6m2T286\nINokxc+qsdlNed0WYp2WIFEZHJHupuyu7uC3gAisWGuDgXVJGaRIkMFnLr4/\n7+Bu6EyXs13YDGbpnNzKmT5q5mE4DuZpYGBbUbKN+EmnAKR3sD7mdAn2Vw+v\nvDJRjKeqHkxSDoY+EYm0ovXmZlUfKng5DqRz4y4YQevFg4EMlfW4J40QIP+V\neWIvWus9xzJwTM/BuxLwophkPq/zEcplbFYCLFi/2ZNx+KCvtIEAuFICgZrm\nXqJixXXhGmbfu/yyMNk67I/2fA45TIdTgpUNbea0U47wFvphjhHQDGUa69gs\n0isTPgKd8hXe+/VaDK0Ljm9IO1wFAdm8j70p+YWtVKbJa6JjiLDr4dHn9nZ5\n1AuqC1geZaGSrb1zGx78goOoBU510FF18PN+rUSS9XVMxnIewMuF4mASuj/9\nFF7y317AZccE15X37lYPamcAW57XNlAwSw3cBEezzatAcQ2UUBdGcQIMfmCc\nsA33\r\n=9msa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+ulttMUAeW+jPDRQ3xy8Ymr6vW692813j6nvaCXbpEQIgcRKi7hNg2X2r4S72QZsbSx/teVuedU7q51mTxjG1RBM="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.6.2-insiders-1611564162.0_1611564189972_0.0042319490755955425"},"_hasShrinkwrap":false},"0.6.3":{"name":"@vuedx/analyze","version":"0.6.3","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.6.2","@vuedx/compiler-tsx":"0.6.3","@vuedx/projectconfig":"0.6.2","@vuedx/template-ast-types":"0.6.2","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","@vuedx/shared":"0.6.2","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"_id":"@vuedx/analyze@0.6.3","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-LiQ7Ppw4nEr5qjth+gg1m48yXD7usOcAygUU10lLwfRRlDZevxAdZRcNuC0vBOXUG3xbl6CSDXnAMeWFdlUiyw==","shasum":"f7f367ea1a1b10e22212a4f2f89d5781f17f3c84","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.6.3.tgz","fileCount":10,"unpackedSize":468292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDozqCRA9TVsSAnZWagAAgF4P/3E0ECIxS9D839bHbaHP\nUovTED9mO0tZ8a6+BX2dr9WPyQ5nxtcGxncVUGQCznEHrplDRXKMrl/mldD4\nnIV1g+gw9SllCKQcZO7x+fTnyC1g8sy0fFWXHe838XmYjSb0bjdMtQlhWaSS\ncF2PhZ579M2d0dM82yOA6CdYuI2oLdJh0eG76sLV4nCdwMimalwTu+NYZoBh\nfYDcbgwviKSilBuYT9T2LTjs/Ra54vWtS2IN25Y6ZDE+7TGG+ZPOHSBuS9zy\nO6399AKKMZ9nLaIBKAHh2USdWqlUKXgMrj8f3oJM9s5uHXP9RZGMkxB+lz3m\ng3WrCb3qmdddIPf/1pdF+j2PW8m6VPITjXggISa5k3lb95+r5Njt0+T76ztf\nHKSfYWTjbICf6DZrZTnmhkxpMucJQNX7nL8hO/XJ0hKyx5PUsGP0EOXcVYC2\ncPp2g0KseSkKTazruLder17wFFNCpCw3HO2Mc04+jEQTTa1gJGECiUJ8Z7Xm\nouyJcv138TAwh1ozgXAn8EwFCf1CJjxXycsUJzRuZnDmWOAyqqd0IIuDxzi9\nMpCp+Ke6itNBFwUSCtPYlyfg5Qy8qCu8Kj8nOHxI9ppznWRLjloOplf1fPPz\npkjxGndD56kREVHR4hTxGNrBGqeZPRCRARX+P6JLLYf4+tV4pMSd+BIGRZSW\nzZOK\r\n=Rnw2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIECrm0V60lhkvVpjZP0CS92etf+OFUa4Fq1AP9b4XppOAiBhNoOoiP8XJPdOqYLxY2w/fnCccD2mG8jhUGc+yVPJcQ=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.6.3_1611566314473_0.39769068301014254"},"_hasShrinkwrap":false},"0.6.4-insiders-1611829384.0":{"name":"@vuedx/analyze","version":"0.6.4-insiders-1611829384.0","description":"Extracts public API information from Vue component.","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"vuedx-analyze":"bin/analyze.js"},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.6.3-insiders-1611829384.0","@vuedx/compiler-tsx":"0.6.4-insiders-1611829384.0","@vuedx/projectconfig":"0.6.3-insiders-1611829384.0","@vuedx/template-ast-types":"0.6.3-insiders-1611829384.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","@vuedx/shared":"0.6.3-insiders-1611829384.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig--ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?: (node: File, context: Context) => void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.6.4-insiders-1611829384.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ohs1Ebwze/v3wd3uq5UZAmgTDsNViEu8i4t2mLdGXG1M/5Yuv73a8Zuq8HwxXXnIe4I2mHDkxv1fz9WHviMqOw==","shasum":"0a8d57222fafe23efaf6a43a7e0122f143f3a353","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.6.4-insiders-1611829384.0.tgz","fileCount":10,"unpackedSize":468424,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEpClCRA9TVsSAnZWagAAVy4P/2gZbn6PryYP7z7UOWcF\nFJAmWrji8LowO9StmIY0KRxKKrgeL43yywNte9CPaQynfxdOUZfmZD72t1zC\nlafmA8e/JT3zcCMfVL9i+u0AdnkeglYmPrJSMcDjxl8o7bbnDlm0NDuKuuvr\n5EWhZuqu7ZssZ45LJwQ2JY8ht9dqyHbK7FlhTRoi1nx4shegmx5flwhntDni\nRmaEoOOmnxryaQgr17qBrGxvafkZbwyCKFZyXCk7SiKUkXsxfeln54VGdA65\noNpUizBUOVnNBb+bdzCh8Q8o1aW35D3JHt1CXtq39Eq8eYQrM1g76oOzw+lP\nszSl7YcsEuQu/kOtq72eWAoDNyvKHWIfcFF+CoZgqOj46Ia3VMffX9Pj2K6I\nIZ4WSY6Ji/MNdTbp9OxJ0b124C0jQobHNIVSFxkwtVVSfbMMZRYQbWwPzDPb\nFFhny2UGsFa19DKpVv6kDvBFVZd0Q8lluKVJLoGDIy1DRNiFhXQY2MpCff/+\nNq8oTSpypRj7I0kXbHhlsYNPMM4TMe9DB5BHXRxDgthDifw5FP1g+B8RXVdz\nMJzRkTx+mTU/r++eatJzl5dzNZS/3kWWBC1B2xQaUVV/xCB4fRp5YP3GalTa\ncwH3uU6VzcsigN0G8ctWqOx2aV5MtplteNbHHv9qfNafNHBngQIhQQlxv8IN\nImKK\r\n=5Qlj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDxCX+OMFhoHUV5mbZ5QTVp3DA9IELyoh6pC5LlGC9PVAiBiHlvLKnqpMsoGotMzo7orRIWqVDmc6E3ieu+SLEHU1g=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.6.4-insiders-1611829384.0_1611829412937_0.420589645554037"},"_hasShrinkwrap":false},"0.7.1-insiders-1623221784.0":{"name":"@vuedx/analyze","version":"0.7.1-insiders-1623221784.0","description":"Extracts public API information from Vue component.","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"bin":{"vuedx-analyze":"bin/analyze.js"},"buildConfig":{"external":["typescript"]},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.7.1-insiders-1623221784.0","@vuedx/compiler-tsx":"0.7.1-insiders-1623221784.0","@vuedx/projectconfig":"0.7.1-insiders-1623221784.0","@vuedx/template-ast-types":"0.7.1-insiders-1623221784.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","@vuedx/shared":"0.7.1-insiders-1623221784.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig-ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?(node: File, context: Context): void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.7.1-insiders-1623221784.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-7csAHZS5SIBe8GnsIP51/ovICpO9J9IxTdPeqyEPLXNfWuDO/bKj75Rzcs2S8/jtitwA+bSJp+01Usf3YHrZKQ==","shasum":"cc371b084b996954bd3684cad18c501f64292359","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.7.1-insiders-1623221784.0.tgz","fileCount":9,"unpackedSize":308748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwGY5CRA9TVsSAnZWagAAs54QAJYvkV6cbihMXSIub9dl\nGC6c0b8MrHCYsjwr0/WyhCAuKdIW0KNj7pbF0GtwmQf3a8qxafuRXIrKDsUi\nEqucf+IwbT0VT9tSzgSgcdACaMBOTuHW/dZQXYEeI2CWmpKBHQb3Xw6pj0Ic\nKqpLhpo4fypfIGubpg61rXki4dzCUv15XhV3G1nn5Gvcpi1LAJZyOqKdkypr\nsJpcBTvdRF6a6rOkpdJgSou6k1eQIX92DPAlU1QSDe3KFs9GjGruZqAHCQWS\ndZHy987Cq3YslFA6b9x14Utwle3hwSwP2bgufWQ9eJ8aTxYhXSUwpgQEC6vj\nBZADigt5NuB4IEMXepA61i3YTvWlsZn5UH5ozcbPGMBUcN//Tf5aZaHSIuiI\neqjyvfM0UPw75gUfJc5waPJV23SLjBWWMORwdXiepKrYtFaJS9v1CkdvJ9gr\n+n8jlT8n5vEo64hzCoy94yzlGQY+l9ujAj0+ELzUn63kFb5SchMxtxNbAiHe\nG4eqSm+//+nGtAwZ88eeZ3a/oYgvLizKX7/ZzxHFjNiLnMn2H7IZAZ2KLzAR\nDEpdMYQYwLEPbPJ4FlUbkZLjUTJWVWCFmnUrsLGHTpEMxl6Qh/oztmTZeShf\nyBj7Vt3Asrh5kl8hJ40CRamqslNwog9QsvvXKNKznICfvDhmTUZRZYx6aQNV\n8amL\r\n=/8us\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAUgaHtYOkOD8jEYO59CcxYWeFNNksaHUwUGd9QeaqntAiBl4kqkTo2crj3JCgwvH77/GZmPGulc/3aa3oLckoPFfQ=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.7.1-insiders-1623221784.0_1623221817793_0.6165025226143759"},"_hasShrinkwrap":false},"0.7.0":{"name":"@vuedx/analyze","version":"0.7.0","description":"Extracts public API information from Vue component.","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"bin":{"vuedx-analyze":"bin/analyze.js"},"buildConfig":{"external":["typescript"]},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.7.0","@vuedx/compiler-tsx":"0.7.0","@vuedx/projectconfig":"0.7.0","@vuedx/template-ast-types":"0.7.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","@vuedx/shared":"0.7.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"_id":"@vuedx/analyze@0.7.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-Suk9bYzph86Uz5Ze/Li/zkSpbKFg5ua5Rkn2q0Q/7AJQkBHS7daJC8EFkJaXdag6bnFmbGaW4gHsdUQDkGvJ0Q==","shasum":"5b87698daa48ca4a6bd66c7662713a8b36407c2c","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.7.0.tgz","fileCount":9,"unpackedSize":308616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwGZ4CRA9TVsSAnZWagAAaZwP/jYShxiGFH8e+kScuRdn\nhEMGkgmUjoLOgW+hBgBJZuSMLqAJb+AJt8yWSSQ8/vTNKYgyib/TdHVU8ldl\nD12bkWBQhNXtNcXE48m9MDbNIqbi8yFyiFZ3cc36TqrJJ2yYsSPIPll6ZUt0\nNQfeOuPfmCfxVsFhmsG2KZ/zngquQjSTgjhk56Jh/0BLqrXRAA7+Sdr+Lp2h\nGBHTcKS0ZWObz9B7FuZldUr81WTf4p/HZmGNFFtyqnH8N7B7XXKzcrCPapH2\nY9s4byeJMJzMZ/HQfP90wZWarBgIp8IfwD9tyO2+E1Tn2TXGmHNf/dEK/RqK\ng0STu/+l898GprnjJKMny2DyCfF5QTAvoFpY0BEz2VAfLco5U74/ccuUNXZr\ncRSu+z6pFKpuxMwSVdVPsPDpxWrJyE4vtFhrn395eUVkBqvAW3KzxaxlN4Da\n6mCJAnkxRnqktCSqIfbr6fi+UP+weR+mBZaZgn52czJdx6zGUbTAw569lzuy\nHHG0NUZGb4KPymAD47gBnM4sKr5s6bQyawriCpBKy25oLsESdv1ZYvVERWB4\nM3wek6o5KCt9sf0aWo7aEUu9pHs4j/hYXbiKDmHXazPMaHMGqMGAGFD0Zg++\naada3j+WVyjQWS9HBrb7faDaUh3rVtsIHgGK8P8+fu4noFgz1qz+HavK7zJE\nsacG\r\n=JDgR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGgZAKfBW9/bMT2/8E95z/WND7D2H0TdQlVwlqpez1gCAiEA5hI5SkV0yCkLqQRrBE1ne8aM3F9TVCWT8Eod7ttHa2c="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.7.0_1623221880480_0.11184934353107656"},"_hasShrinkwrap":false},"0.7.1":{"name":"@vuedx/analyze","version":"0.7.1","description":"Extracts public API information from Vue component.","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"bin":{"vuedx-analyze":"bin/analyze.js"},"buildConfig":{"external":["typescript"]},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.7.0","@vuedx/compiler-tsx":"0.7.1","@vuedx/projectconfig":"0.7.0","@vuedx/shared":"0.7.1","@vuedx/template-ast-types":"0.7.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"_id":"@vuedx/analyze@0.7.1","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-cwAEbfKJxpU9/4963Yt4BO72xT80JCFSCreMPLrMeCrv2Y+xpGPoHdtl4yrwa8swCW8xI006lr/osVQdLh780w==","shasum":"3694345d220ce06929674c8238728785278f3373","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.7.1.tgz","fileCount":9,"unpackedSize":308616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwHGOCRA9TVsSAnZWagAAooAQAJoR1yoN+tjZkJAYBXEe\n48YEzLnJl2NusrKp+ByHs/OEdkAtxQLz7uiQIRVntWJrZmm9G3PxkE+t9gNS\n8J7T0qYdRJIbxknw0BMGJBJJNnlthBUAgIc6MK37taenOfz8VfH1ztd7oR1L\nYH2ixKd2OTIpyKxH5eiY0x7Gjw4+fpjHWzx/mKLcgb/pxpxKBM83ybDPjnyr\nY4fUTe9phTObRiCXAs4XiF26ggexY3PcnishcvHVsGLEKRepCM0sMUtVyEVg\ncB/cCvGNYsd5f4H088HTskp8N78izBQQCdOIGjLXo8PsWAldyZhiDVI0LCCt\nC8DpEok50mc2+FCqLuPTvIRD1uyxdUM8Smc05ZJFn7foq7P2Swh8PHs6PeMV\nUHSsH5xen/3mrZxzNChR3dLBn4lANepRAUUdWJaN3uMt5nGEkeAR/CMtp6dz\nVBulmW1mH3gkd7pwnULNc5fZsQuzMqvoZsoSBGw1ln/xX6vfd1ONwNjQJs3A\n8b6lUrGOwy7tZ2dZ31JcDiO7KuWjLMMa/W4kRHd0xdaoMEUXCRxv3rt0gsSS\ncdP0MZxn1lJ3kwrKqZbcyga9Tty74IlMesqPbUbPiG72hfysrdnplNZJg9DH\ncthMCJXEZmgEmFdfqFQyD4NNp7vEjz+UX+sxBmuYklRRfLCI4sOXVDgxasbT\naYWc\r\n=boTL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMcSo+efluCDFnQxsfP37VFFxEomjlqducG+b/4MqBrAIgBolnSna6nmsU6kfFCwgtxgLkrRGIrpjkx3QMxHVPg1w="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.7.1_1623224718486_0.9285913823457246"},"_hasShrinkwrap":false},"0.7.2-insiders-1623224804.0":{"name":"@vuedx/analyze","version":"0.7.2-insiders-1623224804.0","description":"Extracts public API information from Vue component.","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"bin":{"vuedx-analyze":"bin/analyze.js"},"buildConfig":{"external":["typescript"]},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.7.1-insiders-1623224804.0","@vuedx/compiler-tsx":"0.7.2-insiders-1623224804.0","@vuedx/projectconfig":"0.7.1-insiders-1623224804.0","@vuedx/shared":"0.7.2-insiders-1623224804.0","@vuedx/template-ast-types":"0.7.1-insiders-1623224804.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig-ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?(node: File, context: Context): void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.7.2-insiders-1623224804.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-mynOwubLpaYBFcfQH06BBTtj9SiQUwK3u+NLB69em7wYTh7bPMVNd9gZISz0ipDfzvt14Hdm7UZzsIu+M+VVlA==","shasum":"b395b6b0086f8d7dc806e8878de9d0e3c2e35a3a","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.7.2-insiders-1623224804.0.tgz","fileCount":9,"unpackedSize":308748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwHIACRA9TVsSAnZWagAA7aEP/RsaqyhaKzF/6vt7m+36\nd3j0YLnpdaMyoi3xMW2WfSn2dGPRWwFXxwONLm1F/ksv5I86xjSbvJ5bKU/0\nOJOb4vAPdh+9HtXVqdvhQXqTubREO/hffs3UF2H6YDdVn08o8kOlxjmjU/gN\n1hImA+Ku+9efB0n4sm4tINRVLYiLftbZAw7przs/gPkHmrAhGFl3fDqgEAvN\nG0DPxvI0o8DPju7oUdJipeA9OMIri8vqj7ovAmTL2vDyiVFivUkZnYx1sYLX\nkMrsSci/rAE8MagPdxeI+FqGD6WkqB4lcATeAboMdsVHYCmKv3g8aYCmOVsH\n+JpzCO/KhMShdAT4YBOXdRlnqm6Npg5zmzmS+L7oaUGJFJBPl8GgvfQC66+b\nIpKWeC+uqafSjk+Iz7xBW4iwRtoVTO1CEa4FV1ot95lN9w4agrX+1x3bZNln\nKstqbqaxGz3/nAycO23aC7fnZAwXku89fIe0yz9xJoqRCQ04DSdvPGvdejYw\nZEvU//XbVZvPAa/oT1fmuKyjA+78FddU4zL8vWFsGyRVv9prkwrWx8M5LCJt\nt+twnzjrX6AWJPgQwfXL6ZY/3RhYfpNAr4TzgshUeHPlOc6/qWpB/ZzvjCw7\nT3x2TOduh9QQ7FrGMuj9hEJfrEbg5Px6O6ODD0zGH8mvEXN5muNvQ+znsz03\nYgCD\r\n=KuGS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsBmZhc6E67m+Opyz4H8wAgFlWCVUiCmr8+RZKYk6J/QIgTEPNIjBQ+mlx8lFalmtUqRaP70h+NHf0uuRRYRdg6sM="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.7.2-insiders-1623224804.0_1623224831862_0.5663190656607402"},"_hasShrinkwrap":false},"0.7.2":{"name":"@vuedx/analyze","version":"0.7.2","description":"Extracts public API information from Vue component.","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"bin":{"vuedx-analyze":"bin/analyze.js"},"buildConfig":{"external":["typescript"]},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.7.0","@vuedx/compiler-tsx":"0.7.2","@vuedx/projectconfig":"0.7.0","@vuedx/shared":"0.7.1","@vuedx/template-ast-types":"0.7.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"_id":"@vuedx/analyze@0.7.2","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-oLv9i48Ef0oX6Dkf/yOB018tgVpFUVE1oWAUNPF2gOdsP5q2/7pEa3a/wZz9x/+rKsupoisGImZhVEHvIHPNww==","shasum":"d15013dc6b72690845d4828308d04825bffb225e","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.7.2.tgz","fileCount":9,"unpackedSize":308616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwQQ8CRA9TVsSAnZWagAAM5YP/ixTZLFSqeYjRQL/Uf/0\nItd32TXWE8oYA8Xv1WbHoQd+usNE8zwwcEObI5JcArAsZKgUzZ/IoZmkSCko\nRqhvd2AC8HlJgMvYGcXNNHe8x/8e2VoK0nB3qUK2sGEVsUaZ1lAY4SI2J+2V\nr/TSzHHfU+RdTpPhEHX6O68WPoc9PcLC1GK54Io14gdT++XjOw96u0x+h2Bp\nQJCRDMAFFPS8jBxgPYnWTWStN5uF6SiApGDT3bCAoR/q2RwG+oA5Clf4C9ec\nAwNa+dVo9E8hqoYxt0/RnDAc72SQxQP0xDl6CBVmU0lNP0LnTYr5rRkucNzd\n9eRwicg0z2GEWx+TWk2J+tX1kcrWvhPjF2VcRUdRobm9u0r9rZcUtRDkrhJf\nFA+3dhvfus+0RFlelFClFwHUS8ohsTx6wEj/Gfdm22oxOspmDJHs9tx1wjpE\nD2ncSok5m6jiX7gxWvYPcJr12s+4ImTc6O62/GxDD5r0c4RootoJgmRpX6+d\nbSNqA43M04RdEIWrhYmSCASNIojLXy2ccPg+hOTuAgnAPrQ98gUmXFrH5TSj\nzB52nrr0XPPQBuwOD+i7cL0O1fUJuB6DPCgkgM55qg/lwHyb3SgsTN9gakVN\nJItUQtaCfv6ekyXFXhBtbOU+j4no6YpI+B8v7Qo2FN83lubeWeF2KPEgXmAi\neuCb\r\n=cXnp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBEb5jHijS+GqNEDLvRqaDiJA7I44Ry7fwqM/wtmT75gAiBw4EJgPURVBCV04gbeT+3Z1nHT1zOlK5UTOP3nIbSpMQ=="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.7.2_1623262268594_0.8799257582905993"},"_hasShrinkwrap":false},"0.7.3-insiders-1623262375.0":{"name":"@vuedx/analyze","version":"0.7.3-insiders-1623262375.0","description":"Extracts public API information from Vue component.","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"bin":{"vuedx-analyze":"bin/analyze.js"},"buildConfig":{"external":["typescript"]},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.7.1-insiders-1623262375.0","@vuedx/compiler-tsx":"0.7.3-insiders-1623262375.0","@vuedx/projectconfig":"0.7.1-insiders-1623262375.0","@vuedx/shared":"0.7.2-insiders-1623262375.0","@vuedx/template-ast-types":"0.7.1-insiders-1623262375.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig-ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?(node: File, context: Context): void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.7.3-insiders-1623262375.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-ghK4FZND0Tv5Mbe/qyc/VcSUbop+97k+Z/hm1UnR4WgXSp2aZ1nIdPNKIo80FQhl5iyttnBLE3daTRH/0Ze3Ew==","shasum":"d0592d2302c45e01f03b850618cf6ed80f61457f","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.7.3-insiders-1623262375.0.tgz","fileCount":9,"unpackedSize":308748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwQTCCRA9TVsSAnZWagAAoNYP/jTSsMiGlWjIEdCiK98S\nxiF/AQiRASHzOlZc0EAM2awk8vjOCtL9OqrVhzlZJ+/aSY6nDBSd+jqJ0dsz\naQbDdaEpGhyPRTQQrbe1lKjSJ0n2RTToqbkOOsqUTho/dkwoUdnRSxEu4IIA\nOtb0iQHMCoRRRTk+hFZCBhpKqaypcxu2fcW5Cuh5DglljHJwLiV14McYgKs8\ni6FjADVu638hs//4FwyvtrukYT16wuO4Ikh8JkJKs8Q8ta7dIu2/CE8MHtWu\nyoMjN6OyzXrPpdlm32P/eOVxgsWCusIIS7dlZ/feHy7FrDmk3A695f6w5U8J\nkej3KnhC/DedjqC7Ddf3JUGG8mEEy7yKJThBKecqkxHezt1CBixJeA9hsJBa\nN4zfN9D34i5hO5RYLwZIE1D7pvXAA9WFid0M8dSJPnAbpVfArYCtXW75XVld\nC0V6qcwOGevIrlMoVaMccy2ykjIxSmPjiye4PU/nEUcTnZQmEc5z4e7qiEK3\n1d4Id1aVSrBdDe5Hz2GYVverrfDO3/KtkK+pAQQbjj+STfJjrvxh+eV6xOdi\nFgJUlJ5u4UDZVr9DDltCTBCAZZZW6+5jle5pW3AGWoqSFF7AgEMr725YCr0F\nE8SupS+wbMqcGFrzbirYHvFHoqKNzF4YJDiwcLt3tHbcebadYGoj2zI/tZ6K\nICD+\r\n=J4p7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGnrXgPakTSKaaEgPflStZn+SMu022F3GLp5gbmeUU4EAiEA+m63rRmtybTPz3sn5Wqhzs/2U8oMGst6MtKEfH0EsNg="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.7.3-insiders-1623262375.0_1623262402701_0.24902149757268832"},"_hasShrinkwrap":false},"0.7.3-insiders-1623383290.0":{"name":"@vuedx/analyze","version":"0.7.3-insiders-1623383290.0","description":"Extracts public API information from Vue component.","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"bin":{"vuedx-analyze":"bin/analyze.js"},"buildConfig":{"external":["typescript"]},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.7.1-insiders-1623383290.0","@vuedx/compiler-tsx":"0.7.3-insiders-1623383290.0","@vuedx/projectconfig":"0.7.1-insiders-1623383290.0","@vuedx/shared":"0.7.2-insiders-1623383290.0","@vuedx/template-ast-types":"0.7.1-insiders-1623383290.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig-ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?(node: File, context: Context): void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.7.3-insiders-1623383290.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-VSROWyupqxsWI+F6CZQGRBh4sQ7XvPOZ97a0FCYDQH7g3Js4or9dnR+qJSYBISDJMPenaKCAJxTa/STTPLckXw==","shasum":"82b1120aecf8930b4e5bef48e43883fac8ce1228","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.7.3-insiders-1623383290.0.tgz","fileCount":9,"unpackedSize":308748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwt0aCRA9TVsSAnZWagAAsNYP/1kVjGRPM369dCyW/3wo\nLpEIRWbXwT2bXaUvR328nd18A6v/xkgCLdf1pDnuK9JwTLr/usQ9hgsuidD4\nVfEf4BUO60vjX933P2dyYu9CXJiOkhmTZ/6TH5IbAoN3lgXr1NYwU1VIP6Qh\ni8EfENE+VN7aGRaICLR3mJuo8v3ZdyJ2hw9228cOLXscxCU7FQU6CQ0dko3F\nigBGdq8aHQE/Q9OVI9WMMd/dHVdMgiiy5eDS9lhC8rkMurpc7MUcXg+HDWeh\nUc47Wr1wbA41/ugI+xqDA3TUGImEx9dXNmpQcHhITbkZWmg4soGioF3Nby8R\nOvZjUxhLr9JPCAhngRAor5HZ5imlRrEkBhpz5VFht9BOu4vtBVuRGvJSnxWO\nY7gEixONUhZhtdXB4jaKq9OreEk1HD+J/7sfSAxxEUCept/0HZwSlwNmYATA\nalq6HZhWNHLWIE0sX+j3sCTO2lsN0NalnbLs32QI+vN20kXkFG9Q/lpVYJf1\nRG+fr0hOwBiXpKZRiAxhotOkYAVqEru7GrEW114enXi2X/2VvA8zDxQEj2Rf\n/WjJbCcJh/DRKeujSlcm4ezfb6JJ4/JlxGfzc56v0uQwa7fMFohtFLz+b9pi\niRd0rmKTKFKM/n0U93riB3y6JEGhtURFdqziIbTtaeO6QxXhzMU/SiP0IM30\nsLr9\r\n=PBWE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIkN7V5L0y4RwLTjfgoHUplsibjUyVBOOqqAhZeG09hQIgPerCoY5N3KuOxloPod5vnImBEFQiTB/pEYtavbfvc0k="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.7.3-insiders-1623383290.0_1623383322614_0.5755770914722038"},"_hasShrinkwrap":false},"0.7.3-insiders-1623383952.0":{"name":"@vuedx/analyze","version":"0.7.3-insiders-1623383952.0","description":"Extracts public API information from Vue component.","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"bin":{"vuedx-analyze":"bin/analyze.js"},"buildConfig":{"external":["typescript"]},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.7.1-insiders-1623383952.0","@vuedx/compiler-tsx":"0.7.3-insiders-1623383952.0","@vuedx/projectconfig":"0.7.1-insiders-1623383952.0","@vuedx/shared":"0.7.2-insiders-1623383952.0","@vuedx/template-ast-types":"0.7.1-insiders-1623383952.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig-ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?(node: File, context: Context): void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.7.3-insiders-1623383952.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-clOTCgOOd3Hl+5grA6jkW873vr51WgnDagYR/+xKd5e2ffZw+1ysA9NYq9JFmugOpfruDL4r3FmgT5bBcifqTA==","shasum":"e44ee55281dc3402e61e12e55bd26a5ecad4bd5c","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.7.3-insiders-1623383952.0.tgz","fileCount":9,"unpackedSize":308748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwuAECRA9TVsSAnZWagAANfcP/0vK260INQ1qwRHXfZmE\nDLAR961zEUEBXlFbsxBN/VfneX6mhueWq2W10ZhXSyQxOw5dE5Gzzj5U7hya\nrIimsWzIKdgPdlMay/Bee8Bh6+0ilSPsHkc0GJkmN9sOqiAbWbPIiztFJKfX\n1/3r6I/uvoJIof0zgGYqJHESeop7XpzH3b8qCTvS0ATjRQETMrQSIlYX2NT1\n/tOWhaQQVjjnIGT9ewr00TxDYo06UZuGboDoV1cEJ1ozxzl5GhlNfMaq30uy\neWHEgq2ZSb1GzlS7YNFVedkWx+A4RWSUg0M5FkgvZa4QRh3vYRhHOsY+QvW6\n4KE99iL9BmmB7KLifcgPk6VuGKYWu8xM6ltMefx1q1U9sBO9hDITWVNgQJOL\nN0W5Uaxcy2fbnsqQwvI0yEOjXvjzay8bX3QZoN/SzU/M6/o1Lwk9iCpy1KOY\n02KQ67EVNbwTHHCH63oZK8V0HR2EKu7Wlzab0fg628kssWKVo9OUTbesCqH0\nx+bUDRKOCzgJ055urqgADn7sYdkZdQ9OtdLvJ/p41FRZHAqOpY3+aJZeUI1m\ns4jRij4ZSPGkG27d5QV+aHMBZEVGBYtgjbHnJ607Mag1MB/JsVF7nTbqxsmu\nkodWy6dvQLWxxCxpR6m8ZUfgvklM0gKIN5EIdxK8eiOwGT0FNp1p8u7AeBtg\nX9Sp\r\n=S4jG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDf+yMC6tuoi1SJ6eAwtlyMCETJJ+8KOwbAGwHYKhmjvgIgKBasZYkCSt7L+EvCA2qJTTJq00PDIEov8we5PTfste8="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.7.3-insiders-1623383952.0_1623384068120_0.3877714140341584"},"_hasShrinkwrap":false},"0.7.3-insiders-1623384696.0":{"name":"@vuedx/analyze","version":"0.7.3-insiders-1623384696.0","description":"Extracts public API information from Vue component.","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{"require":"./lib/index.js","import":"./lib/index.mjs"},"publishConfig":{"types":"lib/index.d.ts"},"bin":{"vuedx-analyze":"bin/analyze.js"},"buildConfig":{"external":["typescript"]},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.7.1-insiders-1623384696.0","@vuedx/compiler-tsx":"0.7.3-insiders-1623384696.0","@vuedx/projectconfig":"0.7.1-insiders-1623384696.0","@vuedx/shared":"0.7.2-insiders-1623384696.0","@vuedx/template-ast-types":"0.7.1-insiders-1623384696.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig-ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?(node: File, context: Context): void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.7.3-insiders-1623384696.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-JPH4NknNM3SCD7RpgZ4amJO1rHfV0qATfIvF9XEMUmtd9pPXqGtdvJ4gRDDd75iaLHQ0RbxxM4AvTmwb1iHiEw==","shasum":"069cc12ece72e78ef34cf32a2bb947e57e5aafe6","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.7.3-insiders-1623384696.0.tgz","fileCount":9,"unpackedSize":308748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwuKWCRA9TVsSAnZWagAAWS0P/1JQALLdAHApm4W36opm\nET19JDqKbDVgUGLzbJ9p6dGYVnE6lpy0JQiembEeHJPJXmjne4nVRXcHh6p7\nBiIQ+1Gi+Zo7C2NyNMWRFxFIRHw8qwarc1wZ+WXTJSQ63BAAF3oNQ1684x56\n37iJkAsmXTUocRGSkm0PDRsvhm5lYdA4BCGvcH/jELCk+DYRIg18bVonEZl/\n1Oon5x/qJXoMOuoIxdzWWKjTO+97J+Bna/IgZ3Iv3LhsVgf3DDk8kTT9gnkv\nCMwDqYfVN8M7UNNG2BMudYa0HYW3/sP4v8qD3V7T7YXf8z773KauDPxvtoCL\ncVB3xQvi1qwx3x4eCy3wbNU+wALm4PIAoRy18WsLsZIe0tNGaqDi7xd48Sa1\nhHzQSUMG5IuxbVZlCDXbT1yx4ClxVUQpjHFiqB8DGk/wOJzH72Ok87Myz/Hd\n4ppUnhQEogbAn4UlZXqiprYD+XhrdM/9WuhWsMTkwjtdjPoArua+FNQ/WWwE\nG0IeVHZtPanxaoSb0VaC0pLv/y6B+jBgC1FQo87CLJN4Afss1FrXcRtgx5JH\nHuo1JPv7RkpuHd7h9kFXE8N391ntP7wh1lVqlmANHMdfWANSjn9Pw4G33BLq\nZuN1U6c32cqbqNFTkl52pNXpp/YNjw/3zdM9hkwF+JWZmv0gqUNOdheKvf8E\nVG9b\r\n=5vuO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDAIQkRBNuI+dgfxyMCzNMW15et5aVt8lRSuELOG7+T5gIhAL8DwNXMi0BvK04F/g8XHrsXXhyp9znnprhF5a1mRV1n"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.7.3-insiders-1623384696.0_1623384726618_0.6999602915050169"},"_hasShrinkwrap":false},"0.7.3":{"name":"@vuedx/analyze","version":"0.7.3","description":"Extracts public API information from Vue component.","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"bin":{"vuedx-analyze":"bin/analyze.js"},"buildConfig":{"external":["typescript"]},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.7.1","@vuedx/compiler-tsx":"0.7.3","@vuedx/projectconfig":"0.7.1","@vuedx/shared":"0.7.2","@vuedx/template-ast-types":"0.7.1","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"_id":"@vuedx/analyze@0.7.3","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-GIZeFux48eKSAVvwOkBu0xgOkvVrBlMMBHSK3j5fNuNQTdC5/XLPPD1rZHKbrkp69uROzY+ODdTGeqOHom0yGA==","shasum":"6a8e1fe9f98556a75c6bb74fc27739959ed82f50","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.7.3.tgz","fileCount":9,"unpackedSize":308275,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwuxlCRA9TVsSAnZWagAAngwP/3WRngvrfTsR8OnqQQr5\n02sNjPLVMCk3lttYL4lRDyEKtHMLQBj5NCaA/zg/Grd5RijlxPyqkJpwDGcP\nHKC0IPsVvtpd2HdwjsdHTLPOugKjZqaE4VwESMzY5y3ph14bWBHrSpEyIqa2\ngqWA0ztkf/8OMgi+b4L/gCJI/JGe0VQaGprXNbmnDq63tT5EKHJWUd0vHMXC\no9acBXcvQ+QGU8VBrGVp2OkCab5zuLnpkCVjG10smMb8vy6p6vc2FxAIKWoj\nfDPqy9NiDD1KkK3CGNMOfNBQiGmZTgKXNO0C4Glvrarlm0+tcEqN5ZTLUyQj\nQFnX6EW/F1hC5U7OmJLx2lH1EBbr7PhPUuCZgbXbqeoaUi2Jg0xM4s0x2uPW\nlwF+PINu/Z/hE2dlJYmUHUv+tHEDhyeyEx8iq7zmH+XS8wXuuPfsYKPVO0Vb\n+7v9qyoHXM9388fAQGixeb8+DDLna37WqFLK3JV4K3/i47haE1e61RyJP991\n7BXiRhB9wqYVGw0wJVGCZqorkCJaIqwvOCJNZrErJU8YJoNTKUG1beVzBxLX\nn1J17sE7CnPPNgzwc8+gMeYjz0aHzSFJkZfTnQZv4l+aGXwjVBcEdQjsWL0R\nQvwpbXh0iFLEcaAFIS01xOc/k5Ka1wBdwGiuoYg5z4jxrUD5nJOw/508lLDr\nPxpy\r\n=pJDE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF6eDyK4lmvnp05mHa6vL8qc5Gfo5eSLQU+Rk7ZKIqQoAiEAz7y4lkK9CNrdWkZH8uxUwl+u/iwcr/oQEmOevNlQK9I="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.7.3_1623387236897_0.11751508153908663"},"_hasShrinkwrap":false},"0.7.4-insiders-1623387961.0":{"name":"@vuedx/analyze","version":"0.7.4-insiders-1623387961.0","description":"Extracts public API information from Vue component.","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"bin":{"vuedx-analyze":"bin/analyze.js"},"buildConfig":{"external":["typescript"]},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.7.2-insiders-1623387961.0","@vuedx/compiler-tsx":"0.7.4-insiders-1623387961.0","@vuedx/projectconfig":"0.7.2-insiders-1623387961.0","@vuedx/shared":"0.7.3-insiders-1623387961.0","@vuedx/template-ast-types":"0.7.2-insiders-1623387961.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig-ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?(node: File, context: Context): void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.7.4-insiders-1623387961.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-BBO8IC177WDya72RQ3dYYSWa5q9160b4IEFbwxPj6ytq5tRIOM9AYyst5EwHNll6d44NUZc2DjJwIbleVRPrVw==","shasum":"35cf098563c3e5cdd2253c8a1ae5a971b29e25a2","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.7.4-insiders-1623387961.0.tgz","fileCount":9,"unpackedSize":308407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwu9WCRA9TVsSAnZWagAA9j4P/1m0aN7kYv9U2Xg1x/C5\nnRXHSaOjSGlFoGb5HfbaXZrLly13RzvOOeUibx2whifgdao1btA1SfwyxP5I\nvKF2ut0kdp7qE0nxIg3qoIURmiBZLb2a/xyq5/0Y2sDwsrX+l7vSp3/s2Ij2\nOzVZMqao95ujb6X6wdQBR4u1zfHHHSYsibtUQslyEpKJUgXlvYGLIbGN0jJL\ndMeNKxps60B4LyATOkMgQe0tBycz6Ohm/7yozWDNUgokbmaYMoQQ4pIK6w+u\nXnxqlc+MHHINGFImPPY580HQ+IVtHra1n9v2D8GtF9Q+TkKl4R3Iw52jZBI3\nIGATImKx9bFO+pQtYXuKKi50VHWFXuH63SCOm0u5I4JCZ8uxDPOw2X7hIQaX\nccKuSeLx3XPbEXat0lU+MtnDiuo6RPeYDdxLek1Izz+Qlu2+r0+8mXGusG4a\ntWLmhsnVohFPxmdAFyxIrmckF2p7oB1EDv02wny5JfjV0ZpydOcdpoaEw45R\ntepbg5vjUXeJGy3W4ExJjWSrVgOIY6ojdz/aL9Ilom1Iwua488wsc6WeaTi0\nssXvQ4ZBHvHUw0D/Tgoog1lucDhWJoSaA0333ApAUNG3gOIUTS1XQhIaMORp\nE6G92W6vbZdvtf9JIsyKzVtbDUduuHy6oepEfmV7Fkd9T8AovZ4g2G7hpKg4\nOjQe\r\n=ahVj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWluTMz/6l1vp6fWfSTIjC/1yL4DwoGgOwI2KaSzxzwwIgYP1z4dYWjrhTkiUElWXlG0U1NuaLOacGa9aPpIY2S+I="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.7.4-insiders-1623387961.0_1623387990800_0.8721361052197607"},"_hasShrinkwrap":false},"0.7.5-insiders-1623390917.0":{"name":"@vuedx/analyze","version":"0.7.5-insiders-1623390917.0","description":"Extracts public API information from Vue component.","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"bin":{"vuedx-analyze":"bin/analyze.js"},"buildConfig":{"external":["typescript"]},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.7.2-insiders-1623390917.0","@vuedx/compiler-tsx":"0.7.5-insiders-1623390917.0","@vuedx/projectconfig":"0.7.2-insiders-1623390917.0","@vuedx/shared":"0.7.4-insiders-1623390917.0","@vuedx/template-ast-types":"0.7.3-insiders-1623390917.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig-ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?(node: File, context: Context): void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.7.5-insiders-1623390917.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-A8p1MFKR9/SgkC4Fh/Coc89fk8skWbkOleI6APXxA2cpAuFCcTPTay1lhoqEAZFSS2dluzlrPoAjjGum64aukw==","shasum":"c13e865208e3ae7029a5959d8e5da7802dfe36b6","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.7.5-insiders-1623390917.0.tgz","fileCount":9,"unpackedSize":308407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwvrhCRA9TVsSAnZWagAAxtAP/1pzlYUNgq+R37mbxzq9\n3NOwYmcZmLSjdwQ2S1hbbj+7KzYkCwXj1lNswF/2TwnUEaGHX6IaOhA8MY6F\nXKqp2HGadXXlP4m2F6E/QrhAepT+p//vrtxhoMGTCHV+p+6+9AyM6k1NcHpu\nVUfZSBTUHlnWLdUSkHcbq35Obxf5pjM7D0dNbjD6OEUP1WDZ5WiNppVbsGYt\nYE6+22OV8f/MmUm625cbLYtsgrrhKxMQLx1pXeOAdmhq/GXHghO7aMIGXB5J\nY5CZ0s1poX2LPoJQZl1lrWZMdk6G4V2ryUzQ3bFXDkJlSo0FA8CXghW6jikZ\nx3aKrR1YHLpRJbqKtpfQaKYrbvWNL0S6t89VN7U+17AGUjW0uYI/V6pyONkD\nu1r2QjobUM4vqW/YtOAgCFhiSt2ruRxUA0ueABr4249/XHBESP0GAUstEf3N\nlQ+sjV3lYeKvXl+bM/8YSPcmUx8fycoZDQnJ2XvHo32vwzoDaVif9KYvRKry\n7xtotGSc13TQqO19LNQyEABBjulFjjiwuRxhBiK9hmpBJUzN77rgcLnSwvRs\nwiXOZBy7FUANrBYQP7rT1LOV9y3EEWs1b7qZRZ+OCaykv99VAqj8As9HPGGh\nSNl3nReRVHTeZsDi8SeTyANQUH/DJvP6x3xZ5RFZnGbwg6DE8foFCX7skoRs\n13n/\r\n=P9v6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDN/ZDfZTAlsj/mnfK+yA6QbF2h3tX3X0p/A4JQY2Vf5wIhAMuMsqAgfkXgXm2GDrIU0TFkyL1RqCnV3WS4NvYZoJig"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.7.5-insiders-1623390917.0_1623390945431_0.8183300013788226"},"_hasShrinkwrap":false},"0.7.4":{"name":"@vuedx/analyze","version":"0.7.4","description":"Extracts public API information from Vue component.","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"bin":{"vuedx-analyze":"bin/analyze.js"},"buildConfig":{"external":["typescript"]},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.7.1","@vuedx/compiler-tsx":"0.7.4","@vuedx/projectconfig":"0.7.1","@vuedx/shared":"0.7.3","@vuedx/template-ast-types":"0.7.2","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"_id":"@vuedx/analyze@0.7.4","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-t56z6RkneqV9A0bBvq7geU2KYajI/t1xr2JAcpQSuWESVIDnNv3bvzCTK0ST+yUhDhruZ+bUINQWOp0EvAsRyQ==","shasum":"cf46c5c31efbd026cba01efd44887693f8e4fe8e","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.7.4.tgz","fileCount":9,"unpackedSize":308275,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwvx1CRA9TVsSAnZWagAALa0QAJBD1Ioi0svJFLuDujK4\nZzaNPW7ya8JehIG34wdJD9lDWzs2yddVQzgG3+mnPL7fVCgst6wwgGSg1BTs\ng54oazCLAENi7MhL2WnUAMHAeR7Z63OB7M45rRwOjKAxqzGysPtQktlJuAhB\nM4pplj90eM4mlAbADWn+9ftrmNu5C+PfgRYD9lTC2lzHjFNKP5TOM1rJ9Emu\n1a4bE3uctYAbIW1khy0w2VxOUCz2ChNAGQCE/hV4Mrab0nshcODe1ngxQLgo\nQwTKP4QxhsJ1Lu1LYXjQKCKy4QFAF60lyIP1zwZKRCwI3Emb6P7vynEVc6bB\n9DhutKbZt/payMIP3qW745WItY6t/cKOUY3GwbqCR2ZCfH6XLeM700IK+zEr\nIJ1/PeXVXPC56HWyLcaTxB3GinZ761AfLZG9VxBH1mmvmVozkqrojLhT19ea\nXlevobGhuRon5jAiMaME8UnEtWKhZDHHITHmrvuxaD6PzE6IuxjKcn9DR58N\nBMHdWqCJ/0fLYNAP2ThpxRp8XzamkBB+WSHXpDxzh1uLNK+B5Kjmo9VXBCiK\nVLtbJ5rQZc2MBkKx1ZyeXHCxUTHTEYGHxs2dC+jhl8sAiaD/53+vcrkolLRx\nPMrxY0wxjdYTff8of9LF3S6AJNJY2RLRZlPzeqyjtEUXwKGOlUen38V4TSBW\nRP9J\r\n=GsIY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUOJm+tz6H4IQ+wYeiQiCEE2GDkbNhH6xqyvlmpE/ETwIhAJVCBXhjjAIBLiwAgyUQxJcP1+LxdvRjsGj7edUuA0Fr"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.7.4_1623391349080_0.9143840870712636"},"_hasShrinkwrap":false},"0.7.5-insiders-1623394946.0":{"name":"@vuedx/analyze","version":"0.7.5-insiders-1623394946.0","description":"Extracts public API information from Vue component.","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"bin":{"vuedx-analyze":"bin/analyze.js"},"buildConfig":{"external":["typescript"]},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.7.2-insiders-1623394946.0","@vuedx/compiler-tsx":"0.7.5-insiders-1623394946.0","@vuedx/projectconfig":"0.7.2-insiders-1623394946.0","@vuedx/shared":"0.7.4-insiders-1623394946.0","@vuedx/template-ast-types":"0.7.3-insiders-1623394946.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig-ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?(node: File, context: Context): void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.7.5-insiders-1623394946.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-SW6cuCY7nkftbQ6fD7Y+EZa4GQT/NMH3OAxdTt3ViP8HUzF82AZyNt4SkGGdyRl+fIrc/vxkZHHiYiKvSAR2BQ==","shasum":"10589697188b333185e3d491b8d9ff9feed276ca","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.7.5-insiders-1623394946.0.tgz","fileCount":9,"unpackedSize":308407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwwqhCRA9TVsSAnZWagAAubgP/A5OiNDE5sGTuFmGFMCk\ns0nETG42+hSf4hraO486S3m68SF0zP/A/IxkNSokVJgmkK1ew4EeSrmallUw\nZP8XmNfr+EXHQbmWilyz/2rLYVQqzO7iOEOTeA6MdBlDv3VGtvuz9sIOk/UL\nmRSXDMDLpaxDM1rQMRqX4t3fqApp55E8HvbxpKrdfIceo3Bg7kz8Qm8QRKwt\nESRsyMIb+1k7fFQVydSHg41ITsbLBw0qD8+v7Eos7JshG1FFu3sIvOvO8ldu\nxZK7Z7dMr81PdXKebcE7cC5s/PYpTuKBElcbZ82AWe7lXCJjOiOE+1BGpvip\nRmn0BEH/ho6Vc4F4+hhr/+3YI+dTccTm4qDD4tH19w4jzQ8wOdz2fqyQtLFw\nnCrRaUNn2THr7cDxLOHKA8WjAxh4SSGM3C6Puj19sCZWUY7U3b318AJCgvNu\nbGkVf756OZDdvZuUw0W9tEz1khRNPdyi8p/051tV2iDJd1aEYDZOGDqpb0eD\nwPE1i4nKMoYxHWXyTHyQS1G8GuYxNReYjyCyc96HUY0acVF8eGlEn61SnZ8g\n925a3xK+n3CRSJQOMQOiqv+Fkmj2sXAr2xQuXOYsdudh66nb7z+5XpthuAn8\n8Bud7ejjl100dLDmbaQ3LYa9Zv/7SiY00nzDsscg9aHgwIhiBiIFZRUy9OtF\nlYCB\r\n=a4/1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD70G4omfgsNlEVHfyZV/ZfdSvaketyr1iCRS6WR+WRMgIgIYyFzAFPrCcgSnR419xLQ8Rj5f/kIw5wxWoUAXnEyFw="}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.7.5-insiders-1623394946.0_1623394977752_0.25824401491804294"},"_hasShrinkwrap":false},"0.7.5-insiders-1623402835.0":{"name":"@vuedx/analyze","version":"0.7.5-insiders-1623402835.0","description":"Extracts public API information from Vue component.","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","publishConfig":{"types":"lib/index.d.ts"},"bin":{"vuedx-analyze":"bin/analyze.js"},"buildConfig":{"external":["typescript"]},"keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"funding":{"type":"individual","url":"https://github.com/sponsors/znck"},"license":"MIT","bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"homepage":"https://github.com/znck/vue-developer-experience#readme","dependencies":{"@babel/code-frame":"^7.10.4","@babel/generator":"^7.12.1","@babel/parser":"^7.12.3","@babel/template":"^7.12.7","@babel/traverse":"7.12.1","@babel/types":"7.12.1","@types/micromatch":"^4.0.1","@vuedx/compiler-sfc":"0.7.2-insiders-1623402835.0","@vuedx/compiler-tsx":"0.7.5-insiders-1623402835.0","@vuedx/projectconfig":"0.7.2-insiders-1623402835.0","@vuedx/shared":"0.7.4-insiders-1623402835.0","@vuedx/template-ast-types":"0.7.3-insiders-1623402835.0","cli-highlight":"^2.1.4","commander":"^6.1.0","fast-glob":"^3.2.4","hash-sum":"^2.0.0","micromatch":"^4.0.2"},"devDependencies":{"@types/babel__traverse":"^7.0.15","@types/node":"^14.14.14","typescript":"^4.0.3"},"readme":"<div align=\"center\" style=\"text-align: center; margin-bottom: 72px\">\n  <img src=\"./logo.png\" width=\"144\" style=\"margin-top: 72px; margin-bottom: 16px\" />\n  <h1>Analyze</h1>\n  <p>A tool to statically analyze Vue single file components.</p>\n</div>\n\n## Support\n\nThis package is part of [VueDX project](https://github.com/znck/vue-developer-experience), maintained by [Rahul Kadyan](https://github.com/znck). You can [💖 sponsor him](https://github.com/sponsors/znck) for continued development of this package and other VueDX tools.\n\n## Usage\n\n<!-- #region API-DOCS -->\n<!-- Do not edit this file. It is a report generated by [scripts/docgen.js](https://github.com/znck/vue-developer-experience/tree/main/scripts/docgen.js). -->\n\n## API\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-class\" id=\"-vuedx-analyze-ConfiguredVueProject-class\"></a>\n\n### [ConfiguredVueProject](#-vuedx-analyze-ConfiguredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class ConfiguredVueProject extends VueProject {\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, configFile: string, config: Readonly<ProjectConfig>, requireModule?: NodeJS.Require);\n  readonly configFile: string;\n  kind: \"configured\";\n  protected refresh(): void;\n  setFileNames(fileNames: string[]): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-ConfiguredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-ConfiguredVueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-class\" id=\"-vuedx-analyze-InferredVueProject-class\"></a>\n\n### [InferredVueProject](#-vuedx-analyze-InferredVueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare class InferredVueProject extends VueProject {\n  kind: \"inferred\";\n  protected refresh(): void;\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-InferredVueProject-refresh-member-1-\" id=\"-vuedx-analyze-InferredVueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-InferredVueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected refresh(): void;\n```\n\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-VueProject-class\" id=\"-vuedx-analyze-VueProject-class\"></a>\n\n### [VueProject](#-vuedx-analyze-VueProject-class)\n\n\n\n<details><summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare abstract class VueProject {\n  protected _config: Readonly<ProjectConfigNormalized>;\n  protected _externalComponents: ComponentRegistrationInfo[];\n  protected _fileNames: string[];\n  protected _globalComponents: ComponentRegistrationInfo[];\n  protected _projectComponents: Map<string, ComponentRegistrationInfo[]>;\n  protected _version: string;\n  constructor(rootDir: string, packageFile: string | undefined, packageJSON: Partial<PackageJSON>, requireModule?: NodeJS.Require);\n  get components(): ComponentRegistrationInfo[];\n  get config(): Readonly<ProjectConfigNormalized>;\n  get fileNames(): string[];\n  get globalComponents(): ComponentRegistrationInfo[];\n  protected isDirty: boolean;\n  abstract kind: 'inferred' | 'configured';\n  protected loadGlobalComponents(): void;\n  markDirty(): void;\n  readonly packageFile: string | undefined;\n  packageJSON: PackageJSON;\n  protected abstract refresh(): void;\n  protected reloadIfNeeded(): void;\n  protected readonly requireModule: NodeJS.Require;\n  readonly rootDir: string;\n  setConfig(config: ProjectConfig): void;\n  setFileNames(fileNames: string[]): void;\n  get version(): string;\n  get vueFileNames(): string[];\n}\n```\n\n**Members:**\n\n\n<a href=\"#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\" id=\"-vuedx-analyze-VueProject-loadGlobalComponents-member-1-\"></a>\n\n#### [loadGlobalComponents](#-vuedx-analyze-VueProject-loadGlobalComponents-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected loadGlobalComponents(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-markDirty-member-1-\" id=\"-vuedx-analyze-VueProject-markDirty-member-1-\"></a>\n\n#### [markDirty](#-vuedx-analyze-VueProject-markDirty-member-1-)\n\n\n\n**Signature:**\n```ts\nmarkDirty(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-refresh-member-1-\" id=\"-vuedx-analyze-VueProject-refresh-member-1-\"></a>\n\n#### [refresh](#-vuedx-analyze-VueProject-refresh-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected abstract refresh(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\" id=\"-vuedx-analyze-VueProject-reloadIfNeeded-member-1-\"></a>\n\n#### [reloadIfNeeded](#-vuedx-analyze-VueProject-reloadIfNeeded-member-1-)\n\n\n\n**Signature:**\n```ts\nprotected reloadIfNeeded(): void;\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setConfig-member-1-\" id=\"-vuedx-analyze-VueProject-setConfig-member-1-\"></a>\n\n#### [setConfig](#-vuedx-analyze-VueProject-setConfig-member-1-)\n\n\n\n**Signature:**\n```ts\nsetConfig(config: ProjectConfig): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| config | <code><a href=\"#-vuedx-projectconfig-ProjectConfig-interface\">ProjectConfig</a></code> | - |\n\n<br>\n\n<a href=\"#-vuedx-analyze-VueProject-setFileNames-member-1-\" id=\"-vuedx-analyze-VueProject-setFileNames-member-1-\"></a>\n\n#### [setFileNames](#-vuedx-analyze-VueProject-setFileNames-member-1-)\n\n\n\n**Signature:**\n```ts\nsetFileNames(fileNames: string[]): void;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| fileNames | <code>string[]</code> | - |\n\n<br>\n</details>\n\n<br>\n\n\n<a href=\"#-vuedx-analyze-createAnalyzer-function-1-\" id=\"-vuedx-analyze-createAnalyzer-function-1-\"></a>\n\n### [createAnalyzer](#-vuedx-analyze-createAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createAnalyzer(plugins: Plugin[], options?: Partial<Context['parsers']>): Analyzer;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createFullAnalyzer-function-1-\" id=\"-vuedx-analyze-createFullAnalyzer-function-1-\"></a>\n\n### [createFullAnalyzer](#-vuedx-analyze-createFullAnalyzer-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createFullAnalyzer(plugins?: Plugin[], options?: Partial<Context['parsers']>): ReturnType<typeof createAnalyzer>;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| plugins | <code><a href=\"#-vuedx-analyze--Plugin-interface\">Plugin</a>[]</code> | - |\n| options | <code><a href=\"#-Partial-type\">Partial</a><<a href=\"#-vuedx-analyze--Context-interface\">Context</a>['parsers']></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-createSourceRange-function-1-\" id=\"-vuedx-analyze-createSourceRange-function-1-\"></a>\n\n### [createSourceRange](#-vuedx-analyze-createSourceRange-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function createSourceRange(context: Context | ScriptAnalyzerContext, node: Node): SourceRange;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| context | <code><a href=\"#-vuedx-analyze--Context-interface\">Context</a> &#124; <a href=\"#-vuedx-analyze--ScriptAnalyzerContext-interface\">ScriptAnalyzerContext</a></code> | - |\n| node | <code><a href=\"#-babel-types-Node-type\">Node</a></code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toVeturData-function-1-\" id=\"-vuedx-analyze-toVeturData-function-1-\"></a>\n\n### [toVeturData](#-vuedx-analyze-toVeturData-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toVeturData(components: ComponentInfo[]): VeturData;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-toWebTypes-function-1-\" id=\"-vuedx-analyze-toWebTypes-function-1-\"></a>\n\n### [toWebTypes](#-vuedx-analyze-toWebTypes-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function toWebTypes(name: string, version: string, components: ComponentInfo[]): WebTypes;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | - |\n| version | <code>string</code> | - |\n| components | <code><a href=\"#-vuedx-analyze--ComponentInfo-interface\">ComponentInfo</a>[]</code> | - |\n\n</details>\n<br>\n\n<a href=\"#-vuedx-analyze-transformToFunction-function-1-\" id=\"-vuedx-analyze-transformToFunction-function-1-\"></a>\n\n### [transformToFunction](#-vuedx-analyze-transformToFunction-function-1-)\n\n\n\n<details>\n<summary>More info</summary>\n\n**Signature:**\n```ts\ndeclare function transformToFunction(content: string, options?: FunctionTransformOptions): string;\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| content | <code>string</code> | - |\n| options | <code><a href=\"#-vuedx-analyze--FunctionTransformOptions-interface\">FunctionTransformOptions</a></code> | - |\n\n</details>\n<br>\n\n## Types\n\n\n<a href=\"#-vuedx-analyze-Analyzer-interface\" id=\"-vuedx-analyze-Analyzer-interface\"></a>\n\n### [Analyzer](#-vuedx-analyze-Analyzer-interface)\n\n\n\n```ts\ninterface Analyzer {\n  analyze(content: string, fileName?: string): ComponentInfo;\n  analyzeScript(content: string, fileName?: string, mode?: 'script' | 'scriptSetup'): ComponentInfo;\n  analyzeTemplate(content: string, fileName?: string): ComponentInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentInfo-interface\" id=\"-vuedx-analyze-ComponentInfo-interface\"></a>\n\n### [ComponentInfo](#-vuedx-analyze-ComponentInfo-interface)\n\n\n\n```ts\ninterface ComponentInfo extends Taggable {\n  aliases: string[];\n  components: LocalComponentRegistrationInfo[];\n  description: string;\n  emits: EmitInfo[];\n  errors: SyntaxError[];\n  fileName: string;\n  fnSetupOption?: SetupInfo;\n  identifierSource: Record<string, IdentifierSource>;\n  name: string;\n  options?: ComponentOptionsInfo;\n  props: PropInfo[];\n  scriptSetup?: ScriptSetupInfo;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-ComponentRegistrationInfo-interface\"></a>\n\n### [ComponentRegistrationInfo](#-vuedx-analyze-ComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface ComponentRegistrationInfo {\n  aliases: string[];\n  name: string;\n  source: ImportSource;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-EmitInfo-interface\" id=\"-vuedx-analyze-EmitInfo-interface\"></a>\n\n### [EmitInfo](#-vuedx-analyze-EmitInfo-interface)\n\n\n\n```ts\ninterface EmitInfo extends Taggable, Addressable {\n  description: string;\n  isDynamic: boolean;\n  isInferred: boolean;\n  name: string;\n  references: SourceRange[];\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-IdentifierSource-interface\" id=\"-vuedx-analyze-IdentifierSource-interface\"></a>\n\n### [IdentifierSource](#-vuedx-analyze-IdentifierSource-interface)\n\n\n\n```ts\ninterface IdentifierSource extends Addressable {\n  name: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSource-interface\" id=\"-vuedx-analyze-ImportSource-interface\"></a>\n\n### [ImportSource](#-vuedx-analyze-ImportSource-interface)\n\n\n\n```ts\ninterface ImportSource {\n  exportName?: string;\n  localName: string;\n  moduleName: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ImportSourceWithLocation-interface\" id=\"-vuedx-analyze-ImportSourceWithLocation-interface\"></a>\n\n### [ImportSourceWithLocation](#-vuedx-analyze-ImportSourceWithLocation-interface)\n\n\n\n```ts\ninterface ImportSourceWithLocation extends ImportSource, Addressable {\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-LocalComponentRegistrationInfo-interface\" id=\"-vuedx-analyze-LocalComponentRegistrationInfo-interface\"></a>\n\n### [LocalComponentRegistrationInfo](#-vuedx-analyze-LocalComponentRegistrationInfo-interface)\n\n\n\n```ts\ninterface LocalComponentRegistrationInfo extends ComponentRegistrationInfo, Addressable {\n  kind: 'script' | 'scriptSetup';\n  source: ImportSourceWithLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-Plugin-2-interface\" id=\"-vuedx-analyze-Plugin-2-interface\"></a>\n\n### [Plugin](#-vuedx-analyze-Plugin-2-interface)\n\n\n\n```ts\ninterface Plugin {\n  babel?: AbstractScriptAnalyzerFn | AbstractAnalyzerHandler;\n  blocks?: Partial<{\n        script: BlockAnalyzer<SFCScriptBlock>;\n        template: BlockAnalyzer<SFCTemplateBlock>;\n        style: BlockAnalyzer<SFCStyleBlock>;\n    }> & Record<string, BlockAnalyzer<any>>;\n  declaration?: ComponentDeclarationAnalyzer[];\n  options?: ComponentOptionsAnalyzer[] | Record<string, AbstractScriptAnalyzerFn<ObjectMember>>;\n  setup?: ComponentSetupFnAnalyzer[];\n  templateExpression?(node: File, context: Context): void;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-PropInfo-interface\" id=\"-vuedx-analyze-PropInfo-interface\"></a>\n\n### [PropInfo](#-vuedx-analyze-PropInfo-interface)\n\n\n\n```ts\ninterface PropInfo extends Taggable, Addressable {\n  defaultValue: ValueInfo | null;\n  description: string;\n  name: string;\n  required: boolean;\n  type: TypeInfo[];\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-ScriptSetupInfo-interface\" id=\"-vuedx-analyze-ScriptSetupInfo-interface\"></a>\n\n### [ScriptSetupInfo](#-vuedx-analyze-ScriptSetupInfo-interface)\n\n\n\n```ts\ninterface ScriptSetupInfo {\n  defineEmit?: Addressable;\n  defineProps?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SetupInfo-interface\" id=\"-vuedx-analyze-SetupInfo-interface\"></a>\n\n### [SetupInfo](#-vuedx-analyze-SetupInfo-interface)\n\n\n\n```ts\ninterface SetupInfo extends Addressable {\n  context?: {\n        identifiers: Partial<{\n            attrs: string;\n            slots: string;\n            emit: string;\n        }>;\n        rest?: string;\n    } & Addressable;\n  props?: {\n        identifiers: string[];\n        rest?: string;\n    } & Addressable;\n  return?: Addressable;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SourceRange-interface\" id=\"-vuedx-analyze-SourceRange-interface\"></a>\n\n### [SourceRange](#-vuedx-analyze-SourceRange-interface)\n\n\n\n```ts\ninterface SourceRange {\n  end: SourceLocation;\n  source: string;\n  start: SourceLocation;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-SyntaxError-2-interface\" id=\"-vuedx-analyze-SyntaxError-2-interface\"></a>\n\n### [SyntaxError](#-vuedx-analyze-SyntaxError-2-interface)\n\n\n\n```ts\ninterface SyntaxError {\n  loc: SourceLocation;\n  message: string;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-VeturData-interface\" id=\"-vuedx-analyze-VeturData-interface\"></a>\n\n### [VeturData](#-vuedx-analyze-VeturData-interface)\n\n\n\n```ts\ninterface VeturData {\n  attributes: Record<string, {\n        type: string;\n        description: string;\n    }>;\n  tags: Record<string, {\n        description: string;\n        attributes: string[];\n    }>;\n}\n```\n\n\n<br>\n\n<a href=\"#-vuedx-analyze-WebTypes-interface\" id=\"-vuedx-analyze-WebTypes-interface\"></a>\n\n### [WebTypes](#-vuedx-analyze-WebTypes-interface)\n\n\n\n```ts\ninterface WebTypes {\n  contributions: {\n        'types-syntax': 'typescript';\n        'description-markup': 'html' | 'markdown' | 'none';\n        tags: Tag[];\n        attributes: Attribute[];\n    };\n  framework: 'vue';\n  name: string;\n  version: string;\n}\n```\n\n\n<br>\n<!-- #region API-DOCS -->\n","readmeFilename":"readme.md","_id":"@vuedx/analyze@0.7.5-insiders-1623402835.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-ZEkQVRaSaCSYreDRT/Y3eZdiwtHD4qOyhtw0vc9i3O9RD6vtIsQ1QjVjn0FLBchjRNb3AdnMcnwEb2JjisnhGQ==","shasum":"21997fd4aebbb5baa76e077d9f9311e6e6d13e13","tarball":"https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.7.5-insiders-1623402835.0.tgz","fileCount":9,"unpackedSize":308407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwylyCRA9TVsSAnZWagAA6FUP/2FUBNvPXLwg0fIOamkE\nINW+JW60EepG/+eHSXohHCT/mfrW22MS4CfbNdstC8wx1epN+icg+OCefhvM\nTnWx5eqlVrOmaU7vWJRvq/mLCDPKfsiiB85DwiY/Pc16/b+UgPTgxnUkttiP\nYv49GB+F8+tt54jQ0TrpFrsVs1ENV9Yz75/vuHGxzQRPzSvuSJmr9Vp/RIna\nq6LHO/JRcXUZjqVmefqLS3mWlzxl99x1cM+7+DOvWiWVNrr/5dXjZ49YjwKw\nislfZ/0TuGLqz7BnlETNX/L5pDHTb1MYb3qi3R+wKn1NtoQdnKQ3wjv04n9Q\nyt3CgqYL7lO6wSTY40ZNJ81R/1BYLYsQTHkK8f5nzGgkJKmmDhE3XxZMntb+\niFjOKGJzmDTxje6Va0KIDXKme+kpmGucmiZZ2W2Px3BAZI3s90yXv4RRh63c\nSCN5NoDhYhCE7iqn2TQHoned8SQhRomZpFR0xgcx1I+2ePnLwshe1+bpDBv2\nt/94+UEv8ok20B2M8a6w1C0R3oH7ejypwsiccUFLYN+g4Vx+T+3lBQ9gqmSI\nfdLOXHLrtXODw9smKoKDCJhcvJtX3sXCfSWSnVgQlwlEm3W7LxIXWJw+gpsV\n1lesMLIdMVfYfhOWgwiNGjhmsqw10Ac5yTLXKcWaUu/ijgWWYeNKJ7sS5PGA\nzjOL\r\n=rHJR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbtNq8Bo7GjMuChpFaO5yYJ5mVQbOM30gAHYata6ybwQIhAJqAXGshcQ/Qt408Vu1s0Zbe1NgVKvMZGMn4dWnZtTsj"}]},"_npmUser":{"name":"znck","email":"rahulkdn@gmail.com"},"directories":{},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/analyze_0.7.5-insiders-1623402835.0_1623402866345_0.3701027825110028"},"_hasShrinkwrap":false}},"time":{"created":"2020-08-03T13:22:21.630Z","0.1.4":"2020-08-03T13:22:22.132Z","modified":"2022-04-07T11:30:51.693Z","0.1.5":"2020-08-04T10:00:42.177Z","0.2.0":"2020-08-08T12:27:20.869Z","0.2.1":"2020-08-08T14:52:04.805Z","0.2.2":"2020-08-09T01:31:18.055Z","0.2.3":"2020-08-09T01:52:09.697Z","0.2.4-0":"2020-09-16T02:00:22.616Z","0.3.1-insiders-1604106530.0":"2020-10-31T01:11:11.473Z","0.3.1-insiders-1604576237.0":"2020-11-05T11:39:11.504Z","0.3.1-insiders-1604891675.0":"2020-11-09T03:14:48.709Z","0.3.1-insiders-1605496438.0":"2020-11-16T03:14:11.891Z","0.3.1-insiders-1605961078.0":"2020-11-21T12:18:15.009Z","0.3.1-insiders-1606047354.0":"2020-11-22T12:16:12.868Z","0.3.1-insiders-1606101276.0":"2020-11-23T03:14:57.511Z","0.3.1-insiders-1606300525.0":"2020-11-25T10:35:42.004Z","0.3.1-insiders-1606311019.0":"2020-11-25T13:30:37.495Z","0.3.1-insiders-1606467106.0":"2020-11-27T08:52:05.852Z","0.3.1-insiders-1606884529.0":"2020-12-02T04:49:07.225Z","0.3.1-insiders-1607121235.0":"2020-12-04T22:34:13.664Z","0.3.1-insiders-1607543873.0":"2020-12-09T19:58:11.515Z","0.3.1-insiders-1607576406.0":"2020-12-10T05:00:26.071Z","0.3.1-insiders-1607576746.0":"2020-12-10T05:06:04.980Z","0.3.1-insiders-1607577772.0":"2020-12-10T05:23:14.156Z","0.3.1-insiders-1607631204.0":"2020-12-10T20:13:47.198Z","0.3.1-insiders-1607632537.0":"2020-12-10T20:36:00.871Z","0.3.1-insiders-1608185511.0":"2020-12-17T06:12:14.061Z","0.3.1-insiders-1608281809.0":"2020-12-18T08:57:11.118Z","0.3.1-insiders-1608285835.0":"2020-12-18T10:04:19.093Z","0.3.1-insiders-1608294809.0":"2020-12-18T12:33:50.740Z","0.3.1-insiders-1608632613.0":"2020-12-22T10:23:55.907Z","0.3.1-insiders-1608642006.0":"2020-12-22T13:00:27.137Z","0.3.1-insiders-1608679071.0":"2020-12-22T23:18:13.817Z","0.3.1-insiders-1608679989.0":"2020-12-22T23:33:35.485Z","0.3.1-insiders-1608682132.0":"2020-12-23T00:09:16.400Z","0.3.1-insiders-1609032938.0":"2020-12-27T01:35:59.449Z","0.3.1-insiders-1609034385.0":"2020-12-27T02:00:06.422Z","0.3.1-insiders-1609155664.0":"2020-12-28T11:41:24.195Z","0.4.1-insiders-1609180156.0":"2020-12-28T18:29:42.343Z","0.4.0":"2020-12-28T18:30:01.459Z","0.4.1-insiders-1609336775.0":"2020-12-30T14:00:01.168Z","0.4.1":"2020-12-30T14:01:36.773Z","0.4.2-insiders-1609376449.0":"2020-12-31T01:01:15.296Z","0.4.2-insiders-1609376781.0":"2020-12-31T01:06:45.131Z","0.4.2-insiders-1609385764.0":"2020-12-31T03:36:31.745Z","0.4.2-insiders-1609436485.0":"2020-12-31T17:41:51.343Z","0.4.2-insiders-1609479032.0":"2021-01-01T05:30:57.408Z","0.4.2-insiders-1609960000.0":"2021-01-06T19:07:07.344Z","0.4.2-insiders-1610169628.0":"2021-01-09T05:20:54.882Z","0.4.2-insiders-1610448877.0":"2021-01-12T10:55:04.886Z","0.5.1-insiders-1610450632.0":"2021-01-12T11:24:24.942Z","0.5.0":"2021-01-12T11:28:24.825Z","0.5.1-insiders-1610688008.0":"2021-01-15T05:20:39.049Z","0.5.1-insiders-1610735282.0":"2021-01-15T18:28:28.470Z","0.5.1-insiders-1610828338.0":"2021-01-16T20:19:29.311Z","0.6.1-insiders-1610883378.0":"2021-01-17T11:36:47.660Z","0.6.0":"2021-01-17T11:39:17.516Z","0.6.1-insiders-1610891537.0":"2021-01-17T13:52:45.721Z","0.6.1-insiders-1610911987.0":"2021-01-17T19:33:35.705Z","0.6.1-insiders-1611324083.0":"2021-01-22T14:01:55.498Z","0.6.1-insiders-1611498830.0":"2021-01-24T14:34:17.223Z","0.6.2-insiders-1611564162.0":"2021-01-25T08:43:10.086Z","0.6.3":"2021-01-25T09:18:34.571Z","0.6.4-insiders-1611829384.0":"2021-01-28T10:23:33.113Z","0.7.1-insiders-1623221784.0":"2021-06-09T06:56:57.907Z","0.7.0":"2021-06-09T06:58:00.726Z","0.7.1":"2021-06-09T07:45:18.641Z","0.7.2-insiders-1623224804.0":"2021-06-09T07:47:12.003Z","0.7.2":"2021-06-09T18:11:08.774Z","0.7.3-insiders-1623262375.0":"2021-06-09T18:13:22.823Z","0.7.3-insiders-1623383290.0":"2021-06-11T03:48:42.840Z","0.7.3-insiders-1623383952.0":"2021-06-11T04:01:08.295Z","0.7.3-insiders-1623384696.0":"2021-06-11T04:12:06.792Z","0.7.3":"2021-06-11T04:53:57.144Z","0.7.4-insiders-1623387961.0":"2021-06-11T05:06:30.979Z","0.7.5-insiders-1623390917.0":"2021-06-11T05:55:45.546Z","0.7.4":"2021-06-11T06:02:29.226Z","0.7.5-insiders-1623394946.0":"2021-06-11T07:02:57.868Z","0.7.5-insiders-1623402835.0":"2021-06-11T09:14:26.520Z"},"maintainers":[{"name":"znck","email":"rahulkdn@gmail.com"}],"description":"Extracts public API information from Vue component.","homepage":"https://github.com/znck/vue-developer-experience#readme","keywords":["vue","sfc","sfc api extractor","static analyzer","sfc analyzer","sfc static analyzer","docgen","documentation"],"repository":{"type":"git","url":"git+https://github.com/znck/vue-developer-experience.git"},"author":{"name":"Rahul Kadyan","email":"rahulkdn@gmail.com","url":"https://znck.me/"},"bugs":{"url":"https://github.com/znck/vue-developer-experience/issues"},"license":"MIT","readme":"","readmeFilename":""}