{"_id":"web-component-analyzer","_rev":"106-15c99aa778ec5d055881fac6afadae17","name":"web-component-analyzer","dist-tags":{"latest":"2.0.0","next":"2.0.0-next.5"},"versions":{"0.0.1":{"name":"web-component-analyzer","version":"0.0.1","description":"<h1 align=\"center\">web-component-analyzer</h1> <p align=\"center\"> \t\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"./cli.js"},"_id":"web-component-analyzer@0.0.1","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-+QKFaPdPD7mKPLY8bWastK9xQ7e0KfTCOwB1jaHAnUGmsPATUcqhLPGZ6TK4MqbTeNvCcWPg4la4P6XoDzL8uQ==","shasum":"eada06d584c6bfbe5f7e56be94b5c2a0d41ab7d6","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.1.tgz","fileCount":4,"unpackedSize":54351,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcg8HCCRA9TVsSAnZWagAAJPkP/3qp5dKgIhCPDb1rf4T9\n4aJ75/wqatoIC0G726na3q8Dj4m8HUZq+4JkQjCtdfubTDTgmER3AwV9ZD7e\ndfdvX/TtpJvjAZdlzHltqH6ck2ESDdWQ6NUUU+gMO5983bOGVvfkgKCCrOCG\njEIrCBALgQFU0jIu+mnrDPHStG8hoTexMyiu1vojJSNT5LnQB/wo8DNDSqv5\nliTIhJ5xa26XNPJcYUFVamxZgsx02pKVYbnSSO25/JT4/bhp+S/bNfJ9Khy1\nE3sb9F37RNOKQqcPiOm4OeDTC0B9OCgupeRixSAixQ/kF0WbPDNUPPJTgM/0\n4WjQeNF6iaVWk7mLI15+Ylc/hBSJQRZwT75GyukudgnORiVwhL3Jq589u5+n\n4/067aHNLI8Yg5RGPb0Wvo/7GqgBwWi2d1m3mKEz33Lk/mKwkwORvWnw0duV\nNSgIqIzL1NYLudL1w5iufySRtmLJWuh3ZWvY7VjPQo8NZvAKKti7GV2kvf2o\neJIHw/6qHmRFicwz/2ti64PzJigejyqFOwgsm0nhnRiwOlIMB3MQfkINScpG\n7JDvFC7Uy8G0XdCEKe6iBIW6YQopupO1HCYicuNOtzu24vWD5yQPiKna74e3\nXHMxEaU0gPIgN4zBwVy3leZlY1jpowsih4ixpkR0lIorQQFcIAPze85i6uL+\nKnqO\r\n=ub2A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDO7pN8bcgzfuxdE5c8ZVbxJ4h48Ijqp6tjEDrmGFW7YQIgJkbCeWiFaQ+zNv6eKgyyRMDQw4r5jxQZJjgCqD9ovWk="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.1_1552138690093_0.11109179855901985"},"_hasShrinkwrap":false},"0.0.2":{"name":"web-component-analyzer","version":"0.0.2","description":"<h1 align=\"center\">web-component-analyzer</h1> <p align=\"center\"> \t\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"./cli.js"},"_id":"web-component-analyzer@0.0.2","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-lueQcc6//rvH+v/vN1P8bFPu4HUSJim0V61DoywG82a8hZjOBXbh2yhbDlCyNfQLyuIr6ULkRsXw53jtt6f2ag==","shasum":"7ba59a55d3a23751afedaa0a30a915fe544590c2","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.2.tgz","fileCount":4,"unpackedSize":54367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcg8NHCRA9TVsSAnZWagAAYYEP/39dqn7FYhwh5iR/l2O6\nBRNev8njcf7qxlo0WN3+SnjV/B5/ue/Fx7C6X8WgLdKeAbLcHxQE6Ke22DWX\n9FSQcrxfYHxbc+bBeDSmiWc8Rih1xu9d555l7gPqIlYvmqLCG1H4Iwp8VjsP\nOu4iE8x+DwP03egR2u97G6BEWppo5Esw0ezKFoJ/LIZFC7hl6vM0TE+dP78C\n1BA4qOV5oT6CoYXvViBhBt933rSsZKBwqvvC+RM2COIAtXrQZzBKlxOv7ZLS\nCs9L77TUZ0gGi5twuAn/k9FQoibJPL3Y1kN1MoqNm9R9L2wGOE1mRkAdjSYh\nt8hdnpi9i1Paddm61+BGkYjuHIaaHe3O69hFiD91p0YmSlqTORFCK0jLsiX6\njXpdINYDeCoJYfA3R0yjnM5H4947G8jB8GLIiLv2J8dFHyg6Yxtb0G9mwY+8\naxx+6j8esZq2QcCmCeRgHRwPZ5LB/hWyui5A+zMk4zl/Xh17QVoKNx2nnRHq\nslnsAEjbzOBGSssaSkQGbyiFIj7KXA6vpJwXZy3wRmhCD30YwdAOwKWVHUnM\n3bJ/r3fCtzA9tfFGN9qIsnMne0TrFEVCX4sDbICai0Gz4I/xukwhtK3U6KPZ\nNYLLcdjnJwdSFhJIvf2gho4nmrgYyAHhuCQW1WAQXBclph/08/tdvQJ3oNjV\nDfy3\r\n=5qFA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFMwNwxNmP8Ra0zWgpbhWS4aGcoSVvZIsEl0vg0XQOALAiBEK88yx0mWVHJ2+OV9kdwa+DdU6Ck49XGrwff4DQ+dow=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.2_1552139078893_0.09360808337416726"},"_hasShrinkwrap":false},"0.0.3":{"name":"web-component-analyzer","version":"0.0.3","description":"<h1 align=\"center\">web-component-analyzer</h1> <p align=\"center\"> \t\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"./cli.js"},"_id":"web-component-analyzer@0.0.3","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-fG0t7pziOczO8ks8+PATweWysvMjVrjUGQdPtDV2MkseCk/6RlhZw0DFZ2bwuO4rSB7uh5oa6FN0yIpgncEURg==","shasum":"efddd21d0a8c8242ba82e4ff4b60453be7d3f396","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.3.tgz","fileCount":5,"unpackedSize":54439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcg8OGCRA9TVsSAnZWagAAdzEP/RKOiRfAVpsx7j5rnpfX\nGvuvFjvGwPBoBnLu1QNCWTuK0zOGF1Hy/RtnlqW+Mr6mYYVTUFFjsu0KrQEw\njOUMRD/OUPnIltL4N2uIGSAOhO7KbZSKBCKOqcXcTNTyY/f+kOvqu8kDWvha\neocY0XXTOMpP9xmWHVoVGox7k1/fR8LvSMFMujePWmTQhK482cIWTEEgi9cx\nwQlDp8P7pUx+vcZ7oNEz1kDfuTpOkh2hCqLiZh50eEHOUi8Heuvn5ePc9ZpF\n5yCotVtl4GfL7abMaCpLzGrO/Ry5Zfm7ZsLnz+DYxsXX+/09S/7ZEELrdIvS\nie4R56l1+si9E81DXLLNtrCGNXKwbT40XYCG/roqthbIDmEOqZHKuPTVREp3\nDvFgsR6IgQsRwKZbRUx9Fb+uub3Eii0CpLFpRkb4N3+V4yfOONneGYE1DQPb\n60OmOmm7dfi8dzqlSKrVaDpTbB6qZL3mlcz3MBlyzRpeRU38BW2rodrTsioK\nOayrfd7ngg9HCUhLeKqRCfsGStusriiz5ojMYyPfiDtCB5Uuso9r63mvGDI4\npL+Tmd/b9h/AK8ieBp4UGnrDblLVUzuaoq2NeTIeHg50Df1661IyZiAj2Bq8\nREJAna4ShytNlUuCEGZlDFhG8NOHzJG8y+WhYsqXE6Ibgx6BgXsxo0RE+vIx\nv/dF\r\n=/aZC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH0rx/pSNzVeU2QTQ2Nhns1C9RJMq2MM/D6EzjVQjqe1AiEAwM32HelyB+Spf3uh4RQJA+tER1UDdpdFQ1A87b3/2fY="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.3_1552139142191_0.9881784085670817"},"_hasShrinkwrap":false},"0.0.4":{"name":"web-component-analyzer","version":"0.0.4","description":"<h1 align=\"center\">web-component-analyzer</h1> <p align=\"center\"> \t\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.4","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-TPgvi+aeG/Sq1F+4+AoHcOPfDGsB4wQ4SK5U9TtcPNF/Zo+x2s8r0agSv3V4CS9eYP/fJPU3Nz9GFHSOTcqV7A==","shasum":"92fb5174548ec394d1e03e86868a5d709e540d47","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.4.tgz","fileCount":5,"unpackedSize":62438,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcg9ZUCRA9TVsSAnZWagAAJCUP/2RygaFo/t8C4ZdPvYb7\nWH6+zuN9U+u0HC72R6W1DYEND2ryfbZzJ5k9uLKWIrXtsi/3BFKG5AcOpUBo\nWhGV2x0TFYzxCylalL2gEc5C+6Dg2WE0D0x9ZnCbhLf5cFHceJBDBfflmW/W\nGi5ndWmKfHlzlPhmuluUKbKnNDwanGC6w62uya9BvKAYK2OWZtsA3R7d5p6J\nPdaS2VwlySwKh3WCwD5WG/Nj4mwLlpb0QOoH+wsNVX1Tovi8xx600oPa640/\nj2GNGtOPxxFbv/LDG6C6t2LenmFtOmCK4EJo0yuPuSY93j1E1U+R/h+jrJrI\nDq92b8iUOZEHAuQfC6v6X8AjbFfMVYEyYq8rBDyqyqT9P44nIzapIf/GPMKK\n95XIXwoqpoL6geW9uHwI+/CBSOD06GVkxwj0jxFvAE4WX8V2j+CuEwagP7X9\n/we6f0doHN/q4AnKNN+8F3PMdby4/+eVPIlZFKdAPSYW2HjsINQ0tmqSXQ7a\n+nJQk3y5YBzT5KXNU/6sz5zW9KKwX69ixOxy3Z/tC2pUUfyC2zie7ASt7aSJ\nTfbGz1e0eGv1DJWtA3bpjyqC95bme55TFiPi/Yvp+DSmcB68GW2RaRhqRtSx\nZPtpPbRBKKT/87iN8lbWXwfrMx7xvDnC3hN+6MSjTzWoHn61BcwqwD46bYXt\nbHLH\r\n=ReHC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIApYRsLcNJAHH58bySPP+o3IwyhLsfNAUkjrtFaSzXOAAiEAsG44GX8FswEUkHTYCRoIaOloub6Cjp99GkeX0vjMdpA="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.4_1552143955673_0.5203162071144183"},"_hasShrinkwrap":false},"0.0.5":{"name":"web-component-analyzer","version":"0.0.5","description":"<h1 align=\"center\">web-component-analyzer</h1> <p align=\"center\"> \t\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.5","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-G1D6V+uqmNxFaCYiUrd5XWW93Bsfs0SK9sMW8Wop70xIIdcg9rM5UePoF6VsfebsGaQqLF++SehXxhsgXAvMtg==","shasum":"26f3602e8c34be1d08df6adae8cfd499bf5c5e10","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.5.tgz","fileCount":5,"unpackedSize":61602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcg90eCRA9TVsSAnZWagAAPZgP/jM4/6mPQzBhIasYmTgI\niC80N9P/KNoIndA45UGMPPACfiKyfgGZW2HOuD40Eh7Sx9yaBUM8/B0q1TZv\n1P6r0Ktc0j6ffjyq1+J7mywPYy2CWnX6zkCGJoyHoIdXldF+oOv7129UPOxg\n1h/r6b9jF5O8uD3/cdVR6QXLRvLNk12UF7C0GDDvdLyRxnbYcLjOddp8ZPhP\neRyfZAWrK4HSv1QPjXiuy9nr60VGm4OemQGYyOHhw8wsPv0x5/3hhoqIrwR6\nFh+mZXUH9UJWETdPeqr4Spw+qQGT4gBAwbuhI8+91izQqkAjxgPTwsnmm//l\ngR4xgQ9uPxCAUwLXRrcZoCPyKXmmj7DoBk89wh0/RxB20tM2UnaiIaCyVbEI\nao24gf60kFK2nFulH2CUIm0R6lq+Pkcl7ASCkPn5pBvz1HvGXCh5RrubmH6V\nE/KwlDruZfp5wnvuCbbP8Dzxwz0ASEp34Q74aIWbbfgaebmiSw4vqNLpBMhd\nB8d9BkRHp0HZ+GAoZpgzWZPRqSjjaEqcr4ZZ/qqCslun10pcskN+LG/4eNPW\nSWYsAjV0l8DRtKaQgc3YkwuVDjC/hGMuiGA7Rr/ZKak3XQmbtwNAEpTFGOnQ\ncAjZE7gL+JS+dghcMZuf3o7oTI/IOIGxcpPTW5kubHSFZlBFBmEslllhz8XW\nFkAG\r\n=OfTz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA4u9/Vsr8g6BAxdHPWQpesWwrlTNXwUTy9o9mvYREZuAiEArvjmRCEPYQmwUB+UPXHRtEZRXkWK1amL/IqL8KthzAY="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.5_1552145693793_0.1891161396865273"},"_hasShrinkwrap":false},"0.0.6":{"name":"web-component-analyzer","version":"0.0.6","description":"<h1 align=\"center\">web-component-analyzer</h1> <p align=\"center\"> \t\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.6","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-sPPKR7wxJuxQweMVWRza3TDVDOCaqC6rNEf976ENpcHPyuFln+FMKKJd3eFz9B83cwFpnQ0N/0yauQbMo33O5Q==","shasum":"05f9cdbf0d8e3000e4b3a1d51a7b230b53e62a63","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.6.tgz","fileCount":5,"unpackedSize":69673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchArsCRA9TVsSAnZWagAAxQUP/0pDUXjZGcKsXhDsG/T+\n61CzBjqG8UgaHQxrdN5+EPNSypTvKQl9QgryG1+nsyskC/U98jsKTlexhjze\njx0ojesWJHLqndTU9Oj1rhEx1n2zuI9IaB252U7tZPPIE63REDiRIEPvrfyg\n4HVs7keCtOvc0Jowo1/e0NTahWH3B25GHHAHJUpA8riaiJeKb1g34eyOYMUR\n8dPmAPppODBnTj26iUpNMr1HrxDuZpFwDO4dkOmPk8H8JXm3c1tRnko+axzq\nKslESwRrvZNr60jmLUYs+l51VhBHfEG46hpZ7DZFkc/SRtmY60Eb+eQdbWoo\nLstYwfNED59Y1qx0TfYzZkum23lKHw5N9KJUF/WxOzTPeWJ6EOKDVeU5KbUW\nR7yWOIJXyrVZhWzw4E9JxSx0po786WYzVu074uDqTzIxcqhlpKubLeapmJLe\nIc7VdZElxk7+55AsOeGa3SEhsGiJyucAgtSM5XYTw205mBPQJ0P2iN69p0WX\nKqjCbkP7IWLahaAu9mrY6mTKCM7VoUwV16bEcwjzozl7mk1lKjLnsle4tV09\njOe/2K6c1EdUJj2Xpf7g1a9yjRpHdkoLw+EdCyJIn/4pWypW0jJJrzPpABbx\nRhJmPm25DGnhSeSGjom871dUxWA9jW32zj3ZsU3rCKIQOytfA4MFciHWWCDQ\nPihT\r\n=XMoH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5HpsBKyk/vSTBLVZdlxoKRYahmAp5M6gbC/zYTIJy7wIhAPSCzMGecOg5O8637ncYTV+n1K36CWvCA+KLKIbkTD4F"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.6_1552157419299_0.6403858761206582"},"_hasShrinkwrap":false},"0.0.7":{"name":"web-component-analyzer","version":"0.0.7","description":"<h1 align=\"center\">web-component-analyzer</h1> <p align=\"center\"> \t\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.7","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-gAAgAf2KKRC1dYyujT+b1b3OsgIJp6Kzr+CN+bTIHuTPyKRB8Qv8rU/k2yo/oRazomqoEYF233IchS2QVSQYFg==","shasum":"033dc1cb151e64ddaf5332b1ca8b87859c3455a6","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.7.tgz","fileCount":5,"unpackedSize":70290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchDd3CRA9TVsSAnZWagAAMvgP/jn2u35lhefCiPlVh2tU\nbwXGWTGgd1GebYsgJt3s2vziuehyuxhAcxqsp7509J/oZ1ZXSM9Ml8+U/2Wh\nvtdIKkD4pGp3FefwUvItdw1tuEo05a9aP5U+1kECAn/4gZ30XmBL0bcH9EHk\nh1uYpiBsQpqasW6kfds6T03SSACda5qmcwxq0S040otYU22Qgxxs7Tpd3qNZ\nhKT5QWf5RtO1oTDcoAMhMfN8dka3hCBQK8DVq+0UWZYYYYzvnpASaPtuL6Az\n5q6loBus5tOYXwX9BKpmWZHH31Y1hnSOaAlP7GYDJzw6f5QzbY2Pra5b9FAo\ndHDCGHu23smSHkigPJjAOPcbvfpL2szHYCbh9a2jXAjCVTEVm7fGZ5ou18rS\nariE4Hm5/Gyx5mxRyZZSIP7SwGDQTfMgWGo19hDj2uFEpRarhYb1fXEwlteb\nlPF9jnK9Xrw7733p9NkrS5qYODHojx1+AqatIhuFsT5Y0pFnf3P1BI794HDn\nCG5bXSLnrH0ZaltCA0JDv2bNblN4aiqiU4uywcFoo5mrDOuYbRc5rX4jhcbG\n947C5OhENGUgSCthUO8wcuIb8L2LmjMj/vt2QGs8HuYfQxN7aAFXM7zIM2cJ\no4Qb6b1qkuOtKBvpeU7DExA930e7luETvGnUCBMJAojdgeUZCyYOtBoS4unh\nm/hk\r\n=fHBn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDArfUW6c/RwQA5Wf37Dxlcvser1G7aowFVZJRW5ygytAIgYAbzRI432+o/LjO8VN2N7/cW4yXcWPlvhX+axumJ7Fo="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.7_1552168822839_0.5500286349924512"},"_hasShrinkwrap":false},"0.0.8":{"name":"web-component-analyzer","version":"0.0.8","description":"<h1 align=\"center\">web-component-analyzer</h1> <p align=\"center\"> \t\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.8","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-mD6wNPQSWGyTnxXYQN0cmzViZ92siBQjKr9gvCmeh+URdA9A5D+QCxywWm+RJJVjcKMejfTGeg04TJt8ka+pJw==","shasum":"2bb0ee2d7ea8b302adce136dcb1be86ee16cbbcf","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.8.tgz","fileCount":5,"unpackedSize":70719,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchD0yCRA9TVsSAnZWagAAMO8P/iUQP48ifOK+uvYzmeKO\nxH0nuWXeODjILvD5jtwVagC2wryJqp+nBwCBmVjToWP7yXqugcqBuB1Hb1GA\nB+IQ6SId9BGZEqeG5XwrbnJ+Ms9AM0NpQDbVz/W4fiMlkiVQRQWn5RMcR0fG\ni14dxK1sRfgY9MqJFH3J78YVRHe7YkTK3P6Jq89yJHuMb66dLa1xbpM0XLDj\nlQIBAY32/5j3kPxQ/GdHN0Zpdn5qTjWk1IfTkDkKHotdPo7Cm39N196yp8Cg\nxFueXgxK+CEYeEwkuXL1tZ7fiLP7nm6saxhlNVcfCOhFFWOX7ySLazsYCWIR\nSx/02TcSKh6pl8z1zgofRrKMHBVUt3BJVzvR82SRFAXgDRWS+lCwZXX/viWw\nuPSAt/SZT8q/pTVPV+zOQL23s8xIYDdkfMSkRdwkFyjglsFLHCxdjDsJymyF\nscS6Tx40TtsqWrtxGVlz+0+MMY4pjgMqEJY+ySTWKGvrIKpNdV+urzqO1iLR\nco5CtkBzP2giOJIHLeDfogIsrFqzQXW/jxveZ+FD+UTTji9Jinx/ZjFZCHVe\nZBsA34SxvxyA6AGhumDpsYTciKP29tO2bNgmxu/gRjjNIONPRcZ1cElK7/Ty\nLiC+tkFGO1MGhxl/vKzoxqGas8021jzWoZK58Y7FbAgG1zEZCSD+N7NVWcBm\nFkUm\r\n=3J71\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQKDNUmDZoII+QwWFghGRAJgJIa3PVmry0oj0dZeO+FAIgEf9H19gG3H6sczko+wA44JRtJA5SJZkktZL19CoXdyM="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.8_1552170290162_0.022336457324376502"},"_hasShrinkwrap":false},"0.0.9":{"name":"web-component-analyzer","version":"0.0.9","description":"<h1 align=\"center\">web-component-analyzer</h1> <p align=\"center\"> \t\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.9","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-4o57R1Nl4TB59O+X6A3v8daH4ve2xqV97LrjdqB8z3ZHBeVt9irkqG4ZHtZp6snIAR1u8Tc8luRLz9lsYBn+5A==","shasum":"ed87d5e48c0aec660d7e7e14a79748c2b8c10b50","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.9.tgz","fileCount":5,"unpackedSize":73516,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchFSzCRA9TVsSAnZWagAABZoP/2apvAFK7Ekx9acYa/6m\nJ9TKz9DKjdpkZCNBsXKe4dnTGztkBsVa8OCN/VPucZeWkocZjJbJbJ4CIQOe\nU1YRX8s3DUqSV1f0EF8mhzGkuNOZWr15ddHv/tHDvkHzX9OLAalI+uiDZz/H\nzN1Glt+ChmxXIwcY9r+3U+AWNpILtET+OFlh3rLLjt4zdgb2CvhdGZ2kXnuO\nJQQoHkr4e2vAKlFbkFdUDGT13LH23u6NBw2JzGij65D1HVlVvc6HaeLX6bAH\njBCLJ/e1l+yQneiJWA70SU4YzVCCTQzKSDe1Cp3Ui+ABUWssi5POldpuCKSU\nGgOjWe/qSXJ4R1+db6dkDmQLZ/wyPJepMxnwO04ZePTnkttxmjtIsgb4iVzA\nWGwGgi3LmbZyCSHAUtY7Y8LS9rtKHph4fD5hcsvYv45Yg3ADsE2B4RsMq2Ag\nzoSSSfxHVy5qXuodqKLprKUziYAclGohWuXQsoyRT7CYBFN2Oqii6LMpKe9B\n/23Bu6+qxnPsXtgii/eiL9WxhYFas1AeNfR+BISIfOocaevD7ejLBSnBl0TJ\nEKLLsi0FcZVGUdULoToY5KXC/vCXF/SfvAjK3ObCgeuNmLryzyKMNh7+IHYE\nGg/J8dS7X56nDda8ikDmfMmbVeworxNrLrzWugKwci+e633T24kHTEwzYy5u\nU6iK\r\n=jQRA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBbWDuUiQPi2wNSlqDnH4uWCgPlGPOptJpGWkvTrJLQlAiAMRPa02PS16fa2FJSNH2KTJf+fyN6xJwn+uizvthtzLQ=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.9_1552176307010_0.9560816216326489"},"_hasShrinkwrap":false},"0.0.10":{"name":"web-component-analyzer","version":"0.0.10","description":"<h1 align=\"center\">web-component-analyzer</h1> <p align=\"center\"> \t\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.10","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-TOiV8LWyD4r4tL4vu2Ww47La/XOvwUe5DgzVl/fstkd7Hoq05sf8hAlsMb/TuNb4AAQQXFjYMQigCH1NqbXbEg==","shasum":"8a1c45b442cf48457c5bfda3846f99fc560a6b79","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.10.tgz","fileCount":5,"unpackedSize":75343,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchQwCCRA9TVsSAnZWagAAlGQQAJ8e659P9WOrju7lFxfm\nXKR8KA2raWYBRngzNc3naw+V+Q/E4UXlTpdIcLyUnrIu6BkHBDsOdRdC0LYI\nzXWal6QCl7z06AthPFc93ahg515eMtqt/eT5OktTGGg+tQD+qvIzk5rtmNYw\ntEtpEcJ69tTH4PtzQjDNANrzIfDHZSvYk6Do2tIWVrMN3NvDbOJ7FegRZoXS\nLAYEaM0lWM0ZwACJmnTfspyy6MbygZlYDeNpwAMvuRdkTPWvteb6vkjmAAg0\nRcDg0DxFG/iKbsALlFN9S5jAvyR+tKv2/OvssiOCWGrIh1+1vImIOslspq/i\n+z044niiKbsCazzZGYnxyKu1IvnrmjbKLq/AA6Qd13ek0FI3K8QgaH0iSCq3\n6Aa22GpcAWfISSzEwQQ5giNIKDfB0eHecsIYbEBwV99HJsLK2y1/9oGLniSj\n8mk6Eh/nzvEaY2HVceHFHB/W03lWQ64PyAEaQbL9O1w/SWweb2zwow3KYHZM\npe58J/mCGp2QV1WB7RownQLrbtb19GSZMOBhNHxN8V60EoNTSM/iT2nZ4DGE\nWWAHqTh7sZLtyNYgnmqfnt1SzTagnCoU5p6CsBD5qnTegHE9/CI8g8+YapYS\nvBSxtCBomhewYp7+NvoF60wIUhI37yqOcyo2O+zm4CP40tiMNhH0e/7414qU\npVUq\r\n=kE/k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpkZrFZGXcLtMZ/i8sGhzqB0qwVNN+AV84qj1PrrPyDQIhAL4YTI87QIwYRJqVqZLZJjq3unOhk5ZbaaZCmZdutzzA"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.10_1552223233876_0.21100951346670982"},"_hasShrinkwrap":false},"0.0.11":{"name":"web-component-analyzer","version":"0.0.11","description":"<h1 align=\"center\">web-component-analyzer</h1> <p align=\"center\"> \t\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.11","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-GVdUIefDp4YCSk3/PSj2slLJ2NXagotRNXZhUGsWjEKEjOGZ7LXOPkVh+ahxGg21IbY6v95SFa3eDQEc0rjfvw==","shasum":"8627e6a7c9dde260b24c34913bab8045a2d88e38","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.11.tgz","fileCount":5,"unpackedSize":75427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchRexCRA9TVsSAnZWagAAhaoP/jktHk1s/t3sXuvT9oAl\nqfj48RNpSGH1T0J5+TfFqgQcWgALU2I0D3dSStqsUCt+zgB+AANKE4zNBAOW\nMIL56aIzlccVcnSAePyCpscOjeleH89b0cw7nG+JU0nd3SSclgxBsTN+dSwa\n9jZ1ax+a3SB8kgzXah6YzwsNW42pUD13gh9p9lkoLO/RJ+XaPmNjoPgulNMI\nvJ+hIixD8+D4IxOs3OYqgI5X17xxRbv7oGOHix/7ljSBjAfJ29UV0iUqs8e6\nLfPBOFu0WNcjfesGc48twVkXcjZD9fH9iNoUITmUpC7UEwncDveRrRncnlvZ\njp1ljDsHROHENvXrilBcSGe6erI63ghzhgVmRYy+jksXZW8pWYQfezHPke8C\nNqT7EZyTVnyWYN7fOQLRAq9Hteqy1A+WhHNj0DLG58VgmuPsogF3LS/3P5bP\nzg1AfX5rp+NRqzLMcQWtjAp0ryJp/4vSa4+T3FWIWq1TIiMmCSJKMuH5e/qv\niCLNhjTrpVGxvtYwODAz1QkuWF7E0gOtIvN4E1YkfdgcSinAmFKFdbCE+xxg\nu5J2zjay0XXieXZVG6tKJZ8e3+7gdsOk+FGeLW74akyAtsu8bSL79IicajE+\n5QUDTNmUo/CBJJwcn/nEYVroztsv5b86puVf+yGFeckv6Ra7Gy5SeQLcM0WK\ndWbV\r\n=n2Qw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF9lMPZyMbFwxJkq8RBH/m3Q5iMHS+gKM7ZDWORJKfLqAiEA7X6G/fsQWNpQRKRL6AO7IF/ZFV8tQ5h7//+pbPbIrtc="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.11_1552226224550_0.9516829873183763"},"_hasShrinkwrap":false},"0.0.12":{"name":"web-component-analyzer","version":"0.0.12","description":"<h1 align=\"center\">web-component-analyzer</h1> <p align=\"center\"> \t\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.12","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-5UHNiEKsVKARSOeIeAkhPCdjI90UPdKdux03qeo9YHoDIVsmS8yVYS8SC5r4Nq4EUCd34t+OQ6wGkDOuIFjk9A==","shasum":"57eccd8cb00aaae543ecb15b07b3d0fdd54696b6","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.12.tgz","fileCount":5,"unpackedSize":75934,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchSBMCRA9TVsSAnZWagAAcYIP/22GmRXmYfQi2GYGBd0q\nvvaWhS42rBkx/IE2EQ0G2wha/uJ5JTB3AZ6XTDqfGcYHPQg8BQ7dWgVf97ra\n4zSU+qFPeyY35AnReWrf3a0XhgCFHuZz+2X2jp3bIJTovyCoEQKcHkz1F9Iy\nPynddi2wM5Wglngt/rYx6RMKpqFmBC/vK3FQ7DmdlMfruGjkKYkDpOwWKi7U\nla5kY12cD5M1+o20Rvk4aPAMnerD5e+6iVC8NW7WvGbGvWrD6sTWJ4QWpKCZ\nwCcQu7Ugizn4q+sxXuHcLJb2u8qKHGATtjW7OsVPMLgXnh/TTl8Ga7iRgnGt\nKHdB+jMjcC93fg3UIB06U6xvO6a7a5bOKnpx/AO9B2SYjmWA5TBmGGK9Uyc3\n8hrsm/MGpVoxwAOZUglikVtjhRFyiQzBZSNkI+ystdDyLD+jxQ0P86/Dejma\nPg/EVFbi0+IQXM0DWoqV5hlqrRpIZjWqgY/UuVzArOq8PXufyMhfKTLR2S3m\nGcbAkLwVdSjSU7XPJCxI+LShwBTXUx98JZ7Z3LpEPixO4lIsk512qXUUiujz\nx7N8lrM4DEHpAAdAsHtjimXkEr8mwWoNniEbTIq8nKvhnoMeaqNmVSn9n0k4\njc1nQNOzgtcZA/j5ITfqmDGx8FNV3PLau3CLoctOHD39zT0QOAMwBeSiOrEf\nwF7L\r\n=JRNf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBepH/VH7FQ6BHaCAlih4CDIaUfao7fq1PLocChP/5dgIhAMllvAD9CQw7w6CQCApIE4kJPEvWhTqzBmb//dHEti+a"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.12_1552228427902_0.6605709778395967"},"_hasShrinkwrap":false},"0.0.13":{"name":"web-component-analyzer","version":"0.0.13","description":"<h1 align=\"center\">web-component-analyzer</h1> <p align=\"center\"> \t\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.13","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-CPhXavgkdmNMajRKkX/g0Z9dxIph4GQDoOrCn4pCJqrEQEoWALeFk1jm7BIhfJ+AZSbqkOj7LKLpptKS9DTkWA==","shasum":"120fac6ab29ebcc0bbbcf444db6861223be90e9e","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.13.tgz","fileCount":5,"unpackedSize":75934,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchSIoCRA9TVsSAnZWagAAlCMP/ii8TKzf3jLo74Ki1vPE\nW2qOAM9xY5MVObMXi2OZMvOq9gJVUJwahmqjtPqtjFImYP8Pl1wI5l++6MvQ\n/RQXGUFzE9RzZsTMK1qljQMMWLiKXOk/zUZCaZK9vFhsT1ba3kcQnkYYnPK1\n3NCrXDG6RC8ZA1oWK5flwdQwjzaSmnPv4fcfkO3KYj8OfshCfD4M193NfkDD\n3zg9IaQYO7/u52LGdgW9kg6r0fldDqYzA1HWIyO7FlUYGjPvt549lPtiOqWh\nPRAtAOHZwiEQElfUlr8pqZxXPTqhkRKc8aFQgwa5MZBDV5x6k1Frdd13gTPE\nBA2pOlrEFRMoe6XTMrvPtT8C60aDoxAV2hzItrLuIVniRjL0lZgaYxdWxXjg\nTwpBO1EnTyoljtED8A8H5qgB0vds1pi38ey7EmKnYWvWN8jI7H/lT8Vc6L/d\n96aoc07d46fDC0emLcKD3EBhXIgBJAH53zxUjLvtzozda6zZgKCYeO141zio\nJmOxwQuydbgJQ5IMNBVDTZOW1qRtD5uW7CYRoCS8nxadiMMuuDcC8UMsEYCS\nqVJUjJo/N9bJx5507uYXOB0Qy73kdpXGh9CCvRmsSLEXRKvc29OIwbmUbT0s\nuVwJbkY068XRdbDHSgZ8jRuvaRtGTCynImOHYbhgSdyf/F+oOwcu2kbwk7EO\nVFzC\r\n=BBm/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEVbAzEhu93qvIXkWw5ccmkgUw5v+0EFC0lmoqhxUduAAiB6ePtLC5hyhxImD6HnXJV8YikaZRNzD09ebxz6TtXSoQ=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.13_1552228903768_0.7293462171979039"},"_hasShrinkwrap":false},"0.0.14":{"name":"web-component-analyzer","version":"0.0.14","description":"A CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.14","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-oCP2FMdQA+xryFgnFVAcb1dfyj+LbmuTcE1Pt0Ze5Hwq4ZZIyyc5uuPaAjrgh6L7XMwBRDLWacQpiCjbuix8Cw==","shasum":"b43b3585bf5054dadb8ffd8337900ddd0e3d7ae3","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.14.tgz","fileCount":5,"unpackedSize":77071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchS2QCRA9TVsSAnZWagAA0t8QAKB8aXNvmRnkEvGeG3g4\nbV2yNqZPi1a/DDBotanrxi5cyjdTSCBcHmrBgr1/Sqg9EWEZRoAICAMkHuBl\nF3EYxiEOgQqySNnHTCsFWiu7FFvhZgYR38u6+49HMblHu6rOrvey2ZQqFYKF\nWFL0/cq2uhrolsxHyI2SVt+VN0Re9Jn50EGkSuKabDIigEymV82X+TPR45DW\npupOf92lzr0pGMhcpM0XbBMq5KdMq+BcoSxCcCqcTPIEWPZdSBPZanAk43Rs\nBBX0yzH7wb925Dc86Mmmyi3AjLWUl2+W/S8e4+tD3p4IBAzSjHpQJECaHcEV\n6UcbCHX2OoUqjK+XhrwtFidEaAYa8S8czQTrvaN3nuwa3CqmQ7zfcYQT6BLc\nRTeGJ9HbHT8mvH9SvhLj1XBDPtIbnzX45bjpMitLRN3MXCYvLXcj77xyV6//\nE692j0cp0PoLovvbNAuSQ1LHGSJOdfPogFCX8boaPm+2uwBaZd71SjNyFMz2\nSH3/kjiT2CxF13ts1BOmppviTNXWygr6lsv4mm5VpBP3EYmFHacyIYohjtwi\n4PDe0FLQRJpPj7QibA/GGByJ62Tg1ni4ApFDxJwsX+mgA3toozt4jqg9WuE/\ng5QX7AjE1BdsulobcJdClct3TvPt30Hb0UFqaj+R+tQtzz97GYGmnDSwffz4\n/KcQ\r\n=swq1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH0G7gamgoEsFx4bNpsTBAt1nBk2UkCbg9lphtyzWSX8AiBgTK4nQ0atElfAp/yeF8hquvM1VImbIEZbUtK0NrDdPQ=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.14_1552231823729_0.4108201299859988"},"_hasShrinkwrap":false},"0.0.15":{"name":"web-component-analyzer","version":"0.0.15","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.15","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-sGW3/g5oO74EIxxEvXVyQkOKdmis1Ls1z2l1LhwnN7TdR5rcuaRHo8CQHrTeBZ77evsEYcyclXpbznturYlb/Q==","shasum":"bd33c94df1e725842bb7aa28bd0a446bb2b5fb9d","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.15.tgz","fileCount":5,"unpackedSize":81919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciUm9CRA9TVsSAnZWagAAHDwP/0nNgglvzFnUB0ac2x2j\n0BpK9BfeDRRkQTmg+1FHbyr1+xzY/gSHgzdQ6SYez+EJDM9iiiP2hxeAtZqa\n9Q6Kv+u03h3ltR8+fl4j38qfL/454J8BbxZ4BPzuKU3FcUsb6vmwQmmWOsz6\nWqb+CwwVKJrj530sy1KZZ5/wNlk/xO7vbkHNnZ/kCol0eJKNOzGWPNUuimYS\nRc05sp0b7uuawbiWs2/DSgMsVCqf7GzskPNxuW8qIRLnmvC5M96ZYDS4g6S3\nGqBIUfdKUtED5+HjecVbZri8hQYXx+ARB1pqH2L9y2fnKQKDKlDY9guwlgP8\n+5rLk+fGq+V6QoS6LcBM7ZHTxNAzkBMDO4lgjcIQ74pbx5qDS5vKCsPFk5AK\nrsVvaMaaZmFgEepbQX2KMnP7yES/DVumc1Gr6WMyzCJyJPSodvahN0zJEGkb\np0MQEqMwddVwx7aY7q6qlpufWXke7J7TZSOEbQb1mCfuKNV7aIDts7v4Fp/Y\nEZ38Q4tyPT5StRtIsie4dww2RaHhRdHiqjdZJlB+w433CFbD+U24qB+Eti0M\nuSkFeTYD0W5WSFcfTmOubxQMeA3eL6ODYM3SQxyNhXuOK18DH//Kem80L92W\nmxE2EIL+Xbx/+nDxuko5CFovsDnlYtxtVfy8oJVuLVMpuyMnF1NR8wc6jQHW\nIlYz\r\n=SS06\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCPifl3Qj4eg/2Phd8NiCZImhahOpd39+beiiE58BFTkwIgT5vwUpDVR6kN+s0niaOfmlX2L4PCVD5ZDrZ265hG/VY="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.15_1552501180757_0.7518042534355855"},"_hasShrinkwrap":false},"0.0.16":{"name":"web-component-analyzer","version":"0.0.16","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.16","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-sJ7PuEb//1B3ZKOMXHxSsOk677mixMrBpwjEIiPv+NJxMpuaf0BQ4VFHCqN9otS0ITe+zMKyMuJ61KIP+wLhAA==","shasum":"3e857c0a5840f52e5f71dc02febd72b20e7a57c3","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.16.tgz","fileCount":5,"unpackedSize":81791,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciUpsCRA9TVsSAnZWagAAxj4P/3IgYtGRzMLS02GJpW/K\npTd0PatoSxBPuBNbznTrdskRxFCOmpszWyJ4gPq/SYi5jIeGpmD1a12guqOP\nvPY35ofrwXc1ueCxW4PQVX3KVnF2zYOxJQIZ0kFFUSfAaIbst2OV8wirV58P\ny1Mm0ExZzl07NuSU0nYjm7tP0imXguTMzvKnLcytUbTHuw1LO8DF9K0cUrQ9\nXwbHAZUPYme80JViFrkWPwjZvEyKnzMtGTHEK0uBW7jgz7psk93jgxD8cxJc\nVu0SMvwClljUsVe8i/1QVp5odlEHpYmiybB2R8rocEmrlOh+lVAPYoV+SGVd\nfvlJVtDOOYYxIfLgeOcuwU/MiyixFCUN/GfvOcsmdVVLObN+C2eXEGfunoBD\n/vlBT03Qs/xHAH0EpY1wUfpss0jQ5dzX9NAV3U9njSLNaWI9RcqDrjZbZPmg\neoCIQwladweCs/UANUVR61TgcmqVOILdUdHBkKZ+/xoInEmX2fTySKFbUD/1\nRJ+GO5kYwUtms9sCintr/lcGlCen/9Wq3SoTsPctvFjGsLOkKU9ofU0j8GXk\nFcPzx2jEgXWwCoz21AmcyjpDcsNMFTwQx8EE8d3YCDBQsABg6L4TYBfiN1R0\nFAf0VtHg36sRfN6yUhfJdSXMSmOe5ZJiB56OVZ9Z1FX/68dxWWZMwscNWwys\nfE6g\r\n=56Ee\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/hJ8x1UadxAutCTKzZYyugq7rpiOE6ThG/idwDjc9PQIgbh14Gt5upOU4TejXnkZ2XsO4nV95fiJL33MUiu/W0oU="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.16_1552501355595_0.6512934871394576"},"_hasShrinkwrap":false},"0.0.17":{"name":"web-component-analyzer","version":"0.0.17","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.17","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-f0DXTo+sbYNxLq0usZYgmQcumX+XVozzVnTbtGpuwsmDqXTlNk3gYFWk/HhTqcaryrPmpCTzH09JoUuF9op+zQ==","shasum":"9aa38d69fb2fee80a259725cdbf22e7c1d9ad3ca","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.17.tgz","fileCount":5,"unpackedSize":82273,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciVD3CRA9TVsSAnZWagAATAgP/0XsXJJUBGXePSHiUMfA\nrrHH38ZaAoP/pHxXD85anhsaY7cw5q+JVyYQC4QsVsbm5tpn1w2ZmddPt9yP\nS9Z6XtVmIeTE8m9BKju5Se8D85MV55L77ewIrNFFQn9+9vA1is90Bb+DaCC4\nS0PWyhUT2S8mYrsaigOl4NfrHpT5JJuMLd49xEGUUuoIejq5GHPFBmG5ohNv\nbD0J2z5KuAPqP+wkWajTzxiJ67WwoinajEjWxj06ZXVcaWU28fEMjoa2/XQ1\nB9UxhfTcI3z8vgaWd0zTzy/POHBklaVAiDzgdtUvgukyCxvWklggTvgP+f/A\n5AFU7gzIp8o8fMQuNvP6gJkeCGSCwnRxRX45ZJZYZ5omlpUoDsGdBB+MWh9M\nilJ/LJi/hYJbdSWk31mxZsVMhFNC8LpxPuJoe4EeMthiYLORuuN9rkEpW2gd\nq1u8nt1BgW+TkxhcmiDAHuK5Wc8JFRljQugxFFwH5mG9Xoj4wyhlfOuv0kqr\n+YRErwPXTKsbZsnnsbQO0rYcXAHHj2gMQwvMpR7y2C90xc9d9zbrswbGSvRN\nVg5d2dPqRaabkz5hPfvjeh+X66dm/gazH8s2h7mHGMrmiyIxhzgDZpf18bTW\ne7KeoFiLfbDhuyGnkyE3goC5WbFV1jP3zceNQE3/4z4zRkfGZd164HUYy21U\nPtnc\r\n=fpfa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZBSwblLRuMx1+CJZMFhMholyn40qwONghrAFkJCgZoAIhAL44VBGcX/Hhudai85SHR3+89GywrEl380lII4yitzV0"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.17_1552503030931_0.27536517068135713"},"_hasShrinkwrap":false},"0.0.18":{"name":"web-component-analyzer","version":"0.0.18","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.18","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-gz+nQGzphjOUyBgG1j4XkSubMSPN0kRo+Ov+A5r4cttBsSbFmldrGOd8sQ5i1LQm8tQvTmk9zDzHR1ljZT7Ezg==","shasum":"029897ab3cae10fc1084341058aca76725986734","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.18.tgz","fileCount":5,"unpackedSize":82905,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciVQmCRA9TVsSAnZWagAAecMP/3utnMYRy5q/kCAiXG1Y\nTw6WA6GMQDbL1Q0MqE64FzIFp83VyXDuvYYBP6s5hHgK9vXxkOk/uxKfOWJS\nWLbL4uL5vgtd/uGEgkI1qyR21WF+JcVZp4Ic6X1O/CHh/5OaSSbD4F2EJUr6\nq69cAHjnRaeO2tU0OJ0IOXl3gkcgSxyzrZ0cuGI/CWObTNQ4IsmLjUcOVLPs\nvFn/N7Q7e1Y1QmaJ2BNQKiuIwHAXmM7ROaME3o1qZ08lLpVt8rg5pCbKTU3G\npXVatsdQvhB45nEkkIUGSjbQLNaV/d3YQtLXeUlstlxpy3eA8X5qcSdT+DAd\nDPgyM/lsRuLwIedYwzbPIaTg1htBaWarjjIGwivD+lVGz41lehb1D6aBFyq0\nt87j7O7t228FBO37VZPWHEXaXwjloeiSPm6x3lx5Iho735+3wYlySCqnOzrT\n2rR8Zpim0ckgfFVr0ZdqYVEduPpusYl+dBG83NIQ1cdOhE3PTO/PuCY9YIKP\nrMUrDN+uWPB4m9guuQsQnHlfpX+HutM5x1WKV24rLsEiZtLP2Gx+1wxeePeu\nk6DG8yhA1HLWaT817zZckPXBEpzu/FWvC8J/m6XDdrm3PfnErnxmGgnJtIbE\nuPpqlxZpOO6Vlwgx1cmQyga7A1/DESDoNgPK+1y+D9+ZB1NPXjT+73EpjE7S\nkrUV\r\n=DC19\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIArrtSi6oZkEZnC4gjUoJ3p/i/3ttKp9ny6X7qT91H8LAiBTQoV+127beoA2cHKbyk+oaOmVLUGSAfDuH88B240qHQ=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.18_1552503845287_0.3076374992908051"},"_hasShrinkwrap":false},"0.0.19":{"name":"web-component-analyzer","version":"0.0.19","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.19","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-P21s24NdPUrp9wa+mtfruA1BltgdpNQDn/b2cXK0nfD5B8aq8MphnHj8VQU+gmEP9YnnnnQSMzjvBkSTMDPqdQ==","shasum":"7602a7907becedc267d2df7cf604a5ac37bb2faf","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.19.tgz","fileCount":5,"unpackedSize":84187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciluyCRA9TVsSAnZWagAAc/UP/jG8Aw5ahucF55nVrEEL\ndpP/JoNrb5/sd1I4ycQFU92k0WvPtU5MMglJGe7Kj/nTTJCBen4RAYUMZICn\nYHZaaEQCuw3rT9G1mWTDxI6cL1pikFVwCX0HjMOL8w3w+3S4MGQlYQVhEKQA\nDikEIo8KW/q8OeSqAozXJb/XjrRW2E6QlLJP67wDJb8QOgCFsH78kVCpJ45z\ngdEKnGKK9v8btuvPTZHGK3Kr67+oX4/UYKJKHlXeG1dVfAN1bS5WcnS77Fq/\niOeDIb0TnmFAQUHLZS7oMAnYPgccafPbPQp9hrNN1Q83cMqJl7aLULhxnWE4\nzmvutwWBgv4gLsQdo9SUCRyPVAIFhH8qvD3RDpbyrcxNXEsgUSd/HAL2IvY1\nK8HQEPrevaeSiNmNC0nYobLhiPqKu6q50sho/PFXbkbQV6MGB7ccK8c57eVr\nSGJ3pBo5TPvoGCmOZO8LAk+5ZU1YH3niJmFE9yrg/pWkNqXlwS7OopdyV/rs\nHJahSZrEtFXNoOwN/5Q69RWMbkug57aGWdHFnvSkVA8ymXK27ajpNe1/DolB\nRhYmZDGrSNQ+TFECUgmKEA6f3u6+o/bpX+wfFCrVRvepM7shqcqr89xhjwBU\nKCDVN35KuEAaCXXa9ge6bbutiph+Ew4v1e+TcnytLrJINUj9TeqclxePJiGk\nVyZn\r\n=QYh4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE2uXBXkK1GeFDjpw92dAwcuVj8zAolI01Vy48cv19UcAiEApmQzVRmMnhA5sDahTXE4AiVHyu7bTLOkP/1LmxPHe2U="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.19_1552571313513_0.10159430004971659"},"_hasShrinkwrap":false},"0.0.20":{"name":"web-component-analyzer","version":"0.0.20","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.20","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-RJWj1rPOiezEIY+HMQeShQC6dboiEuu86hIxiC8zwiIZAuHtpwJIAxyKk1tk62tTGZXHAZrdW0i3kflPNFcIRA==","shasum":"0e6d0167e692c9f4779e7e80204c81e206da7fe5","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.20.tgz","fileCount":5,"unpackedSize":83251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcimTlCRA9TVsSAnZWagAAGqkP/2PyN3V7AFiaV0WPXaV6\njvn+fTlzQVwUzBv2KpMJStQrK9TjSiLtirBTaGma1CPI1ulT/jYVmbT+odUj\n+3SLv5IHk2Vt0Qk4kG3gtj/qK8+IGNaVPm4daHxGDWHzmIgnqQHVnR/csBid\nooApGnzSRgL9WjebIuZOoZAGjZuYrttvGAIN73I1sdkrnwl8HrNLqE0hf8pw\nBpl0E63gsQvKJx2kpwD8kuveRGfDsluoQC4H1nVkmITQ0abr/05zI/tvaGe4\nptadp4/ffOjqjvsG7k3VICYNjAcYF44vSwlZ0vM7vtU/IL3XI8lm8pk9C1Rt\nxm9kEt88HVlTmaiKhIZzKV64I0HbceQVo52CP1mr9RlYWxmBrdvIyy6GPqhz\nRyTHBO+lGAwjbv5Hq390II1w6B/bCnw9D6ffPNaNm1VvRaGDJbostoUJNrgZ\nOqV2z2bvsSkeElWZI9vbRwRPLDOTq8HtwJ+TaaJyB8GmzSvkZLJBQomKoeZF\nh8oUuoS0QgIJCoYztIk2I5jswjr2OF7ujFFPcafcXZf3JqouObyDHRb184dj\n8nIYQHVIs5H5fm4XSAKGnL3kp+oHyEDCK6c/ZVXYER/I9apyYqXw79E0wlRQ\nWZlkqiAQyD3GzzWdtOzzIlhipLV0Q97m/QwxXOuph+VXLlcG12ZO/2z3O11S\nrdBA\r\n=Wdcd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICLupXOzMREG4Cjor+SSbOJ+ARGMQ+TjbsKJcf88t8VuAiAO6ItZ2rg7bsuqfOPUKV5CYcGnQuUDtMw8a43T7aJ9rw=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.20_1552573668411_0.09019961624524919"},"_hasShrinkwrap":false},"0.0.21":{"name":"web-component-analyzer","version":"0.0.21","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.21","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-j5oQCjQA1r03I7dt8wEwdXn2v/jXGaBLTdNIP1VAcluwxhaLI4y3dSLaN5T8Mim9E2q7j8m2mY5E2zwI450kRQ==","shasum":"ab3acf3ea0db650d7662bdd2492f3f1340fc258e","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.21.tgz","fileCount":5,"unpackedSize":83155,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcimrMCRA9TVsSAnZWagAAN4AQAKEoxpCJPlB0E2pTvwhy\nmd023mVDmtpGXeMD/XbCdfiBjAOCFeFqkfG6uaqswcmL6a/8d/eCr9EIMSaC\naMDo3uUui07xdhwcrvCNnPQvS1lP0L6scPQa7GuLRB4ZWh75epOq3PFYwvmi\n34P5kVhp2n2S/dlSpY0jVjgB5h0XourIhSMIOOaeoTwtwNqfGyhoyddbfYgm\nphjLwpd76ebvxBIwKAyuRhNdcThrQEahBCDzrXRVCx+Y9XmczpXlhtukrXzY\npfk9N8/jp8eNLhKmDBq7cPQWHOMigjYPht/O6gtpuPTOav+kqP4JiMqQ92zK\naOEh9fv87cdxatVkZN7vPktZ77rCyXTKlkL1lgTado2I6xNOwjZmqvJJe9qf\npZ743bnT+HodWjO0vfU45dHLKhiK7MmaYAum8pMj3Gbm1kbIdX6aK9DaG3mO\nwtaTquHN73iNONkJjBzk9IdvQJHAga0dwPCDXw8Xr4JL2/MwzsifenNSBa2S\naCKDdnAwpvc3294TM6wMkRNhWNHOlU6YpN563U64yjZddSNoMTE0RMR2Awwc\nACMM2vteSEfHLNwjKPUdMsOVKyhqnx0EwtZAhPUe2ghRg+Os3+6f5AQ9/4Hk\nY8EdghA5gnykQj1xPbCdvHM1yBY1y2dLQlXBldFEtafXRx8B38isdee0jeMM\nAKVi\r\n=l1v0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzMbZbfjs15t5Z81PqePehIPRzBlnmy25JbMyjG5BV8gIgC5Uh+308A43D5Iq2xgjUpZWhxkPTY0j1Re4SArTbsTk="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.21_1552575180367_0.20692438276846836"},"_hasShrinkwrap":false},"0.0.22":{"name":"web-component-analyzer","version":"0.0.22","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.22","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-vhbVKPf/gJFuKeqCRUcE+HYV47JT8tb7edDUR76fZNAapg9VrlRqgfYgC6rEbVjlIEDTpe+KDNDtwgmD1paA1Q==","shasum":"65bc87bf878dc6cf7bf9b9f03ea16316f8b2d59c","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.22.tgz","fileCount":5,"unpackedSize":83305,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcimy0CRA9TVsSAnZWagAA8w8P/AyMG1NtcROXpPe2J1Gw\n4no3fPXFizNmTDuQYiG3wldi02CMxotKe/juXjpVkKfXWB6OVvs8jrgIwC4S\nbVWjzWjRCtnBeLc/sSehrFhqqn3MS/fr6HwzMXyyKY41oXMRPtcfMOQj1eox\nIorD4eASJgckS38Be9lKYCNUg7Z9BHT6OByBHuRMbj5TT/jSeJWj49QCn7dS\nhjxj8/jqZJ9/iCPgUmTbO2N3MdGtiU8nGbVy+g/7pdwcKMDeZjTkwLmXMdVo\nQzHKCjWv613uWUFXg7n0+Xkw3L2bjFnP44cDM0ddvBzD0aM9x/NRNUjT67mS\neDxzNGO0ku93n6KoKFE/UrlB6MHukMQOFPYWPgB0wYpjzJiIUu0ZyMF0Mu9Z\nU1npeN+kxB5CnHgPRGqf6ECWdTMUqUUN1tn9JC8NoC+lwH35J9xyAd9/aH+D\n5azManM1sIFUXwk58E8ekM260j9tamHzMH3xfBxPscb8XufByeakizivrC3N\ntuoltITxHk0PhD3uL6u4WLR8Mg/9j2gdkvFJps8bvdvubb6ebRfLMlqrRmVd\nl50Ga1QbEgJ0DRcoYq5aV5NfJLZefoCby0EA0x9YsyZqIOKWLKTbDLqdFLo8\nMvd0T1UZ0SSxGOVer9Y/AnYKjjcwZNSJ5CSNRypC8xpWx6U/ym8YLBz7FvzZ\ncRbX\r\n=8SBk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBwB6JGcEJQkvGdaUQmSJ1l+OFv5OIOvxD87R9V5QKNCAiEAtOjLS1tDZuBoUH+hVDv8s9+RU/foKgjee2XeKAb+a8I="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.22_1552575667376_0.15672716474200765"},"_hasShrinkwrap":false},"0.0.24":{"name":"web-component-analyzer","version":"0.0.24","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.24","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-tv8j+qacjonqLGJxqnm/3mJvsulwrl/kHHNd1zO5ao3aHNNCYpceF49sxr/jNuwROTZP4h9JN2DfWS7yYHpGIw==","shasum":"7dc677bf66fcc8383d19b747b4afc336a5c03063","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.24.tgz","fileCount":5,"unpackedSize":83551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcipvzCRA9TVsSAnZWagAA/vEP/j6HjwKu660NZeb4/rEa\nfTZhdGcQEFiy9wxPeorU5EWAnrPHE2d/Nt5axjLNCAxSJV9gN+BabbYNb9yA\nxJ3RiNu3289cs5u/2dMk0m2mbVp4O6kUse34AHRMqMGhEztySrmKsoNswEvr\nm9q8zekJFTRkk9Z+ToxQSzfC5fAwRsMNuASXZTe0LODqPLyQXPq9a58y9Xz2\nQP8JVKX52j5e7rz3zzk7Qf0uCLh+yUuxoKKieWDm7z5b3TthKoFFt6gIE4H+\nnTOH70KFIt2BOZlNp1ub8mtmhXQOoO0Hfwchh6mm262mzk+fCaVEt+YFuKig\nXA1w57GYf7M0TUtWGmVzDyM8H/kXD/iW7a6r6Y4SaBQ93EF2WBN2wPUbIs6l\nBhdbWA0DIh75Icbku8kvuWoSDTumOM5iXzxPdXpjLYwuP2Gj1I4gKXAW/No3\nb/ZHiz8Uy3JBmNj0tyuSqcjEt8XHufXRKOUdbbAUFsz6D41m1wd0xtYukRME\nfTdmJIz9VP45l2SXxXh8h6Bx+HpRhe+TTQvZl/SqzwSKgZInsV4D4RKdGjyP\nMvRWsLrFe6SF0KAuoWZJ6kKVmIz+foYRBtQUwhjh2yi1jNn6xu9aPE7sxt8x\nEWaxSmhh71S4jDG8CdQtiGbo9u331TDBpsw+khIzXKC9cGw7Evc9noKqJLIo\nTIRk\r\n=GXMV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyF8R+piVfGEfr88itXwiogp0zH3ZLHGoWGkiPu13tcAIhAMckwAKzjEn/jpPYUT6ktt0Wt6spXVc16vdthTLJB3/J"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.24_1552587762671_0.864994029179492"},"_hasShrinkwrap":false},"0.0.25":{"name":"web-component-analyzer","version":"0.0.25","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.25","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-hnoaeRo1Bqj2YuHb33fOFa2AYrNPKQTF4wGtTgC0X1IZbrBjz7qEYQuIBkQgcn1t0fRIxVVi3qUd+579eSUOHA==","shasum":"3de6061c45e680ab8a4f945adb9c9e2c624f49cb","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.25.tgz","fileCount":5,"unpackedSize":85848,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcis5qCRA9TVsSAnZWagAAp94P/0GDyxfe9aTLab3Ecqsh\n9LszFk63mpZowdihpKq9mGjSB3Q7qtyQtTeJy2ns3cSw7DaXbXs5PJ4la7rg\nekqAlUymn9oV4FZQ8+ZpGAJCs5ULiemHq0LmpcK/566WwD7e7bDu093kB0dG\n+RDMWNn7dzLKUt3v6Se4xoatWWyGnzhDlgxU9341v/pByEW3XSu86I6UGniQ\nuJeud0c787dONyWQvLv1jdGubNQglBpL75cAznTzzjqi480b5pqyQl0q4mRS\nQcH9myJEmrHZWehMRmnqQ9d/zLFPlGsQ/eE3AUFDMkYJ97bgpSIn8Y8Q8JQZ\nGYvjJSDWVCfLhTjNMkFSeF21alQi898i30iwSTczvaP6tsVfVq9QzL2X3ZvO\nmxdw22g/nMedtsXBCPwYgbA44EKrsnR3WdpoBvxGKKfseCy3bF5Yg9aLRbHU\nZSTo3YS815KGkhVmn+Z8hRtqCahK9VCX6h3IOaa9jsttmDUMxKDa42UXxnke\njKOWntiJ6HASlYzN8lH6v6bAC0MJg9BJwDyuvElWqn8HP5TjeIbv5bX1DV0M\nT3Vt7RF1ZRPFosY3Yz8M89VZjUi/u66sp+GyhTDgNEqZ/ADaGrI3dNWx4lAA\nh+2HbGj7wsqxyqFSfs936+HBVd9W1VDvJEVa9kww2EDlBUXLHgWdQAlb6gmZ\n1tj8\r\n=gVDB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBPY5FOgzOQFXUXQbDE+sC7znw7d9oRGk5vZSoSnuf5fAiEA4uw8dzPPFHMQZfj3yt8Pru1Y6lDIjIzpGbwxX2ElIdM="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.25_1552600682300_0.4520581125942271"},"_hasShrinkwrap":false},"0.0.26":{"name":"web-component-analyzer","version":"0.0.26","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.26","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-imgna/75hNoXdyPAgdrZveowJkHUPsK3k2plcsebH1MfwQMBEHvIDrE6UgYDglYykhYw5ZSt6DxMsHNUyW5YRQ==","shasum":"7f78a4d50b76d3e0a1e6ebd612b5e78633870aed","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.26.tgz","fileCount":5,"unpackedSize":87613,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcit/9CRA9TVsSAnZWagAAeHsQAIke8ZBiBVA/19m8PcWv\n38pBWgSeh1AISSOt0qDNEY2Pv+lT09vtTPOaPu4e3sA0sA4at38cmtIEb6Kj\nBFWzBaUlvT9uhwUvHSnnoHY/qfIHOpn9e0GkDFBcQ3XX/UJjOFsBQxDXCCUX\n6WBaN3GHuk7nacW59xq4BdUiHi9ytocHUl0RLvcVDh4LPHtua04zbJgKCh6z\nBdjwLkJacTUoJSpZIjzM5L0nGCev84QSzpWnD/usH03IKRZnQAWvMt75NslC\npWa5gC1nsS0I4lAb66DGQBnkpOEiydZATvdUXt+7WCdPIya10t6jg54rq9g5\nLBz1oqrAYizuUMJ/scYFMnaPU1xn+t5D7W802v44wA+95wKvAFpkYMw3QZ3x\nBewg/aJDBKrJyI6BqOsrH0WY9ZMTI+CvJWznUopsxmxWnTgn3sA8OL5clcc2\nnklKC5Opk0C+t1VAI1/K1pjEz0l65815OoB+OLifd7QjbbrPAVYYWKQdeelZ\nXkoXeO4sMXLivbvVQJ/bVk08b9DuhXKwmDoJ0YbwUvwJPEDLYuQmBI6BOY5K\nu213ZQNH6fvBOB3bRzwM61tpUOuxsFT2cVqdQAhKABDEVCc6ZHVeZPzAZ4Oc\nN9si9dGw1FQHWTcEtrPj/5Yz9XtNQZYQ00x0XyWYRwE+693X9xFzGhn2/glx\n6w8P\r\n=73E1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZeUZMb7bM6Zb5JVtUySCZ49V3Mh149/N7mnX+FXIv3wIhALajNq3Mu4lyPQSMB5igJEOwxusDHTy5DDVTvoLmXxBh"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.26_1552605180524_0.3548872083153951"},"_hasShrinkwrap":false},"0.0.27":{"name":"web-component-analyzer","version":"0.0.27","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"watch":"rollup -c --watch","build":"rollup -c","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"_id":"web-component-analyzer@0.0.27","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-GkeNjBo4HTkWBBod9tduIzRydxtiCG6BG6iZwZR4dbh2VW6lgVAM6uqNuZiUt/JGZP9ZAva3L7aitn9dTOQLpA==","shasum":"b42e5a38dbfbb9e1c3e3e31c04f100ef2332adcd","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.27.tgz","fileCount":5,"unpackedSize":87866,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJci4LNCRA9TVsSAnZWagAAky8P/3AdYqY5IoGmsd4Pl3Pq\nZmCdFRLsCxkflMmVihMYgroMjP3P1Jl5tVD4Vwyiya6n3OnevMxqZQ1HxCv+\nBMPqjSvqLIHdl40QaNMJ3wEfpTm6xplkVhVGLbV26Z54OqegFEWm2tlqZWGf\nNg/XX6D7n239nKsRBl9d4t56usnejtTZKXrISwR6LDz/x3T9amcbOeFLmT+5\nTrefg7BC5+ZwgeHQjRkV3iMJsd1449qnPcGDeNsMRGb9wjGbRv9CHpRQrlsh\ns/EgF1JavzQ7b4T/AFV1004Qx6hpTUBt/cbG4QW5kHHbDDiwoYsNpP4EOCeW\nIai8FwTKv/VOM9d163YhbBbErTPR5/Kqgm+pmp39H4eehSVSikKFwnwqgqyH\n/3/JR/y9UOyk7pIxffu9c6EqfwMAQcN9ISgoeSsRf15zLGd8MyWC8xMJ0Amp\n+1xgWYZPw0SATP3rXhc9SfYnnhzUUs8/6sDccUXNTRpMvs2Volw9EqWHUopz\ncQ4inDI2tOPn9p8ovcy+cICwB5xQ3rXVuyO9F3rphPT+7AUhLePtb8mCFwi9\nc2qDom+VFEYw2+EMyJCt0TXnAxMfUpZLgGB+rYdZffjAEue9pB6X+4A9fDvC\n8uzKuqHsv4Y/VetpKrkEUPLui4faJVFpipFYbg+u1Wvbtx2O+MlWAw9lk6vh\n2oQ6\r\n=xp7I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1V91ni9AfedTc9wpKGWo7nB4funRU9IT1CFBnGs5hxQIhAMR91JaTxngUS53RXPIQdKMDP8XzgLG4lpdY0/BLgkcN"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.27_1552646860878_0.6665370160031965"},"_hasShrinkwrap":false},"0.0.29":{"name":"web-component-analyzer","version":"0.0.29","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@appnest/readme":"^1.1.25","@types/node":"^11.9.6","@wessberg/rollup-plugin-ts":"^1.1.34","ava":"^1.2.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.2","tslint":"^5.13.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"fe8471039a722dcd57e0da99bc6a6b883e2dcb70","_id":"web-component-analyzer@0.0.29","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-SzM5KI4BQ9zmZ8AWMOUzo2lpbJyEr0U8L1Q8i9RVrqZeduAlggF9CeKKfbviTiod2GdIPttqPw22doZpWtNZ4w==","shasum":"c29f0e57b74bfa569934c3d62fb46747be6a57f9","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.29.tgz","fileCount":6,"unpackedSize":113276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcjDAhCRA9TVsSAnZWagAAwo0P/0je5dVzFPZYqoLQTe8+\nC6dtUkEYMcUunKrajp1P5fbZjulJrbHpcuSM/K2rbexUEG6rEE8DzHnvth1d\nlhJiL3DLJIPwi9E3YKmAgUbV8jr1mWPFwkEEIqKRMJyqdLECr3WTXsax2EdI\nlk2bAIMwftNvKjKotyoWtZHDYIY0VexRcchjR8kp3eZKVUxDZ6qM1Qk5ux62\n6k5W4y/5g/m7kgVun2lbmQ1E1Pbbn/EofHYWp4ddV/2yfUYdZ3lN1SheTIOy\nrm/hrpphMZL82rpfLHlt33jDkRpIH9mc791c1/e+9q3W6j84JjAW9cbUgrfJ\nKQoffZ7MHv5BwmfqrilhuPuWSU1S2fG6DFzxIaQhsWEIeoEqYYZ85GoUu4dW\n6FSUS95SyXfhrkj58Ux2A/EDrw4EsRlp+7GUQTOw4ZZ8fA5lBlD0UkVzOiKt\nKYbtAlyF9KM9hv9VrKaPXVZCQ4op2rozRumDlUgp1LquEgc4qR7HRNB2gLYc\nw1LkX8kAl9WLKUrtJkCOuzQqVmplmruNJJNb/1l7BRhXSV9NakHdzNt//sAZ\nFf8uCgpRHX4I4I1zF5xWYbyerlzO83hbIEj6CWs3qKnn7bqdkeCs6eG3Vftb\ns3RHRPphI/gbxIF6GEwtmeznNGzqe51Mv7o/CIeeAUn1iiqSilxDg+0ehHMT\nYYX0\r\n=TB5f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF8ylrZE/HmhMfUM8ODgr/4r8TsvyCSogzk+aXSQ0hG/AiEAveN7go7v+vEvTSx9iZ/QxZ5gq5B6sTQRXdDi1IFskIQ="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.29_1552691232405_0.8589266169635021"},"_hasShrinkwrap":false},"0.0.30":{"name":"web-component-analyzer","version":"0.0.30","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"072359a741f00ededce19298023061c8030e6925","_id":"web-component-analyzer@0.0.30","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-5w3iNFIX39/DT5I+uHCCTEg6kP+FsNNpYWDPFLuuuaHgj90jesKfqqXXOWwobzqwNOc8nsPWaScUfYaZeapvYQ==","shasum":"e3cc45cc8e31567f5e967613823e1a03b974f166","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.30.tgz","fileCount":6,"unpackedSize":113332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcjDQyCRA9TVsSAnZWagAA2A4P/ApYJjeKlHff/lAfKhxV\ns/8RacPqSPG9SGsTdrzP9umlY6HRu9kZYuMy+BHhpPs6tDSFTzeprf1YFhSA\nhREcDcHI6bR7nStcV+t/MQ+bahT4zCZeRgH+5JanVqcSQoT7lzYy1y8lhFli\nUxkDPsxCkE5YCoVRZiySpNmGQo0Ejf8EHiJ9BP+5SbCwVLJFjhQFfUHX+qVc\nUYjOUWSidhAtgL+VXkfa+IamqBElZbV9j6XEUL6oVQ1dBz+95o/SArUv/28i\nnhVjlkdxyqw9mvLqAu3flDRtW+lJ85HuzK803N4gS3eE6jnozGj6fTMbiVmP\nD6VV45OewjM79O09Z7vAWsaua8ElRK7e9O4Vl6AbP+zqFrb8bLe5WhOdIRCJ\nvXcbNryAMH+j+e67428K9vc6cpe/CE2op1yYrR4zZanRsSjtcXKZMKfRIuvk\nggufIUjrpSouIxdrp9KEtl/hN9DVyn1MMIdAbkZyBrwrnTemiYJCgKZPiKIz\nH2WzZEQuYX3vD6+T4EcGwx0NYn18smu8YwmKAn6Acbw/xF5hza2GOqcyZ2jF\n3hmGS6KlLIiv3h5WxFLY0P+IFrjvjEBy1h4GoaOPHwvYPKyKJ9G+ud7P2pkn\ndASCA8QX1b7ZyQFoMmTSjgR8PXKE0I5lojQMIRSXOwM7uBCaJmxkNrGE37OJ\nfIUg\r\n=a1w4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEjFIme6uFhV000vmhImtWzivhkNz7MEJzeomUGTcg4BAiEArDPNEKsKywoBOZibyIqaYRLDEWguZfZ8ZkhayRSLIeo="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.30_1552692273322_0.4288968049369777"},"_hasShrinkwrap":false},"0.0.31":{"name":"web-component-analyzer","version":"0.0.31","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"d7a0480a4ddb7918504b92c92f8d60820c3cc4d7","_id":"web-component-analyzer@0.0.31","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-5ZXFpddbF72xqSE9nIvRamdfEPV9VNG6xsCvH1o1YokwTRJELCRY5OwdUuiUGWDGtssDwQcfD0Fb6L0DjNF3oA==","shasum":"123b6bba1d793b4df094e8f1447ddfb2a531c63a","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.31.tgz","fileCount":6,"unpackedSize":113626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcjDoLCRA9TVsSAnZWagAAo9cP/0kArOiScLZin+51+qMV\ni7Tw15rHdXtdbn374xbUheZXYqS0fbyit2XXrUhEtp/d6glB6QZKrocbO8aY\njrPM/8D2moFERcNB/S/I0U0FGJtGadmVf8aOQr/1Ovg3uiwWH2dyx/CI/ShQ\nvU4lrFGhULb8BjL3IcfZPO7SNysnt0Kr4oi33NlbJFWWfJ+ARAZqg0cTWG30\nLYNEi9EQJNKk9sNgiQHNrb8IW1p9Adjo8uI9TscJoTqnoBUC3nKufGWkixCI\nDDD3+kFCyRd0PaXrfafCZcG+fZkwJ2IQYczqWO+Bp1Gmcr6WiDRVBDJhOJFT\nppTr4R6DfkIcjfBr6Nq7wRmpA2O0JClfzx3cA4pYI4RswSn1+CG8pLVnBAZY\nvT7cj49gIutYK6mLYPW5rUF0Dp+XBRti/LgYpPplcQ94v3ERdOToNPI++w1C\nj2Jiv490lEuSAqvA1UwZu6+g5ZQV4b8m7BpAOkpABBKP2Y+YTAlCcxeIwqIL\niEnZxQqivg1Yd8U84BlHg7s1tdBf6UpVosB5XMJTaGOGB/3nXX4dEU+37VE7\nZcpsaoDmTzA/VkgK0ln/dwHo/uy+bJlhTS5rYS9oaZlKUhgxyG+QZNpyWip0\n/j6ssFuz2DkNCCFcSG0FBpwyTEK9BxVWT1znFLLL9DVbYjGUfGBx83vecTox\nqddX\r\n=NhJu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHdZtaTaCndKou8SkGZmb/1bGuWHqrFKfquWSKbx53BgIgf1Z65dJQpnuiyuIocBwX7afU1wllSbhSNkOdJ76mTrw="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.31_1552693771231_0.7185867151580465"},"_hasShrinkwrap":false},"0.0.32":{"name":"web-component-analyzer","version":"0.0.32","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"b02af82dc697f94cac117891b4069bdb2d4ef198","_id":"web-component-analyzer@0.0.32","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-+EKa4ka07ZDE9m9F0zQDIJe2BPmKvqbRJN3jFl9zPzgaNAZ6g8nZwWnWkrCMACcEPGvYDmfW8C0Jwdilyn5y/A==","shasum":"a3e398e7d115b3de12a8224f5641fbf169594e1a","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.32.tgz","fileCount":6,"unpackedSize":113684,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcjEFBCRA9TVsSAnZWagAAAl8P/0CVNJNtvFzPipBYimNk\nFJyi9gNtmBQIeSbU+QdSkUkRKjJPfAGAQngqk6/i4JGGMafghAVAbpDlfS2f\n+Ju6AhO5+umXrvc4I9mBZbuw2NExYieeQ8LURUTEy4RXFAQFfOeQvWX/MfxZ\nAlWLI/BBBGtN6x0tZk2qwgKqTp1CwLNAJXqU7QdQtlNyDn5/A9JTRu/cI0wM\nD/QpCt8M62QfKyxJeBta9XjVgAyDSNxhFx3hsxsWinvsPbMnfyXr/wWnCYdW\nlRjL1wSaeLuHT5z7tXCQ8VgzhhvZ5gr9w78klUECDfvvvAZOf8rjKFTjbdmO\nbtEhOIrtPcH8a2WkJapdf/8mEa9T375ukZH3dDRveKWNTbxwpKBBdhArWeNd\ntaML11Nhxm/oRFtRDJ6H+Nwkdixm5yBNPccTyJiJra3jWmx7n+3c+CILYMeD\nkvbDqHxOe0m8i3uK/yOAFDWxm+ZB1+OWWEoocnvB97DZ/wu7/lXBGp+lCaMh\n/HX7JiCLZtASwI5ewprFmRXH/qHAKLvWBmPF9aQoyNaAgXmgtVbiljRhm3bS\ny+4fzhfzarJ2PQZvyKG+R2o7LxvEVo67nrcET+yCs78ca8p1C2sNEAxrt6gh\nTVRoflcbPmnTBXJHs2WqDqzbb1rfIlK7HVNQZohL3WEda4+LnY6onIf9Vfcn\nO9OQ\r\n=uVu9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJToYNbeGOW2B3JeybiJplHiuDQ2vvu07s4gtQ1JWeGwIgUgXXV4fvzdPIFyOT8J7Bhw6FsqXy1wekYWEt1lUlGfo="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.32_1552695616415_0.9422228340791226"},"_hasShrinkwrap":false},"0.0.33":{"name":"web-component-analyzer","version":"0.0.33","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"60eaab8d767952ce9703ff7735c362f72a0e4e3e","_id":"web-component-analyzer@0.0.33","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-MxDkTEjab3G3zH/H1PLTeyr5VkluYShbw7hGuQG+QutQd/lbXWbNahD9s63xDL/ERUdOoysz9/i7gBqDkiv3/w==","shasum":"d77f8343df2391b990d444c71e1e52902c71ea00","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.33.tgz","fileCount":6,"unpackedSize":113847,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcjntYCRA9TVsSAnZWagAApeQP/RQhPbKxmPQPAcUbvEhM\n5UADIALOEx3n33gTdr0vLFlZMp1v1VbvvbuC1T6zlPZleL7ycg4Uxif4TCAq\nCencqGnzb4taPwaIISfLfGwHPDhNp8UEKtIRygpXIDryEStfqeERqz7wEECB\nCBou0CbXM9ey6gk94vq+aGTGmUdawJlp4/HTpaVPenc3kvHJUZhOsgLu+H2h\nEZ9qg4ScZJHMqm9ACMWfkUR410mBAv1HJb+YwT/59A455Z6EZfdESz9xyT+b\nMZPAnrg6rX53qFIHPFNVzDdzhCDrr6GXODIznIjp53JgG/fwEehUj9KUSmmB\nrz+9WiKR1KfIx4F3tA9nvw02MfA4wMaIUqjnk+mGFP1TZN8/yeRMGbwwsyeo\npmNCn1cXOkMk3UHb2ZcTwO4247JwslOs/W4K9V9XTh5FHyy08+8jq9KULyUG\nTS4KZ+GpyfaZuWkuWty0ZX3OdBFJcBbyx5+VX41mUW/uF/eww1j/KpD56PcB\n0/PE6ujCjF7GtTlDV1J9YsgEuxA19XMQSJ+1Tu/bShkrW1GKQH5s+8Wr+/xv\nM7b2AvhKjMF9Gr6XpNobn3gfljqDoSRPT/sUA0dWB4FaHmlHYIXv8siIVFh0\nLDU5b9v3rfLKxQc6x49tAJ4p/KRWjgolUbBjzna7FDg7uiLQKHkSXqkJC5+Z\nHx3x\r\n=Wu4f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuRbcGCKr8zXPx4hWXQ8knc9mHcKAmefpRA82Ny3hEnQIhALDRMbR/97lUxLvfcKIqR3TgfGbUOwH9xm2WU5+W/rbV"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.33_1552841559795_0.08969288451015633"},"_hasShrinkwrap":false},"0.0.34":{"name":"web-component-analyzer","version":"0.0.34","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"0ad73c9fecc9073a480f5ce32076a997ed9bfe2d","_id":"web-component-analyzer@0.0.34","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-AbreOZQ7xPXgoYqosRTwGBMDFY5BxumURO/40FKaHYZq+Qor9CpnZQjDeI2heysl+dS6IJ1/numYaeBHRSJ95A==","shasum":"0fffc669a28e295b9a4bf75b3b90a7f1d3763887","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.34.tgz","fileCount":6,"unpackedSize":142460,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcj+DKCRA9TVsSAnZWagAAt/IP/1SEDDweW6G2GwqKrrpw\n8IEP5NxsH6dkUasZ2J8GavBVtw6pcYC/GxsvYeUpE2xUGMkSgbYrBUIIP60l\nHL9Lh41qWffXHo2ye5qFyi4M8ovXZK0KVQb22uAR3HW+MqSSZOjXFge5yNoD\n5aBi8NxBwNJZns0psKHOkrQSRzj88UlxyjmCIhdtFGKtoACzZdJkNANHakG6\nwdu3mAHUAqjicxIvNfg18AtTcAnWa/FULM8+UJbcYAv3vd46/28eLvOenwlq\nKVvJIH0ybUALjB9H5+JoiqBwKeElR4OKr+jYIvVt3rj891dgyykWcqP7J574\nVGgkPe6Cmi1sFv0p4oJEu2mdXwJtB6NrqkW5rXZtF+iVZ49VX5vm804X86FZ\nArwvgdV+Ogv6HULXpy4Iudi3VQGOxOBTGwxa+Kn4NcXIXvkHPJmyi0kl1XkK\nXK6xLK5VJTLGTkI3ZrTYzZTGnnnsk6yflYcwzNKlKO4eisQgoawtROHI3vf6\n/1a16LpN8H3mkKWKJ0YH03qnqLDYUJ33Qh3t9VyD1xJB/fUj1ErSgTaqLj4U\nwqYJc0Qk8qkSaYj56PBF/wJuMohu27jdNMsZv7s8qNalVkOS/2vE+jgSbNPk\naD4aZkNXDwdU1GEhlU08fiCH/TsggG4ZLGc3E7UxqekKLIeF4csHeOS01OsY\nA9m7\r\n=rck3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA8BPfT2iMgj2zH5jVi68trIBy+2EbA3aZCsEIyCGpl1AiAZEcbYM0hV3Jd1raNB6hZkmGZI2lla3lLclNXNrh2a/g=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.34_1552933066131_0.7631003983896532"},"_hasShrinkwrap":false},"0.0.35":{"name":"web-component-analyzer","version":"0.0.35","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"bf2043cce85a7d865cbc8455674aa73ee20656c2","_id":"web-component-analyzer@0.0.35","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-7zo9U5uxE9fBtu9GYPHuHfUBJeeF04G+dICbhHRmwliZg1Nm+bMMRVh0lsehLYGsedxQNAEDWIqhQVKFqmcI4w==","shasum":"880eda3a96e3afa8f0d551da930fe03a2ba81ee8","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.35.tgz","fileCount":6,"unpackedSize":142451,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcj+MgCRA9TVsSAnZWagAAcnsP/1NR5CPhBD5R3ICWFLCM\nNgxyELV26fEDw69nH1/LhkADfQWtzqbSgvcWZc9EM8Nz751zV51cjrui2Ir7\nMuo4hLieFYPMQUDlnIcRNXpuO+ThGSB76LcHSJEBzEZN5R7A2/TmWtXrLgKr\n6Vns6TUJMhIXyhoYxrz7UxwHNRmyp0Ven2sL/2C9NExBbdxz1qmzGFeWBdMr\nRqigAcpBpKFfDhNk8d/Z+xroQmRCYx7p2SGlSdZ9LUrpAzSp2PVsjc0i4Civ\n3Oz/BPsmC5liY+ZGPEXO+3Ix36WZEmPg21isq04y3zWw4q667P+EzuFV+B7w\nzJurWlF2fdCFh4+qP5jS5BSRc8dcbBJ5moLrp9zZRsdwuiK/CHayQMzk93rg\nKvveHRJNLRh5AIi9EiU5tPO8VlVXoLtk6Yvx+6nriQ93bYgJe1vGgSH0X6Vo\nLnBW3fhZSv7d4v8Ek9Jw+1Ata5ccoMttAGO5iM+DxUCf2YYkdCY5O5VCTlHr\nYE4FwdErWVM8EM2jQ4xqwi9AsbmMyk5IaqM0rMeQRwVveUA+UQAiAt1sN+1S\n4/AVnooH0zLBZEwkw77b1X8gh6eKnbvW3HntZOrXN/Eya55klrQeZat/tx/b\nGrsybSgK9WNGyPvZMp9nvFEx1W+7k87mrP9rbdBeQGnuywFET2QB5okChSMd\n6/1N\r\n=DiXX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChsC0SUoxwRUibLPDYYLZxyZgtgu+tFHngapYOjpquYQIgWgIrq0JD42YS3C48rtWQeFowT4r1UkXbKf1BAP+ghG8="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.35_1552933664305_0.4840915361931559"},"_hasShrinkwrap":false},"0.0.36":{"name":"web-component-analyzer","version":"0.0.36","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"2f3a90bfb3c73d59c12d0d2830fe6521a5b56645","_id":"web-component-analyzer@0.0.36","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-oMt+K61dS/1BLV5W/t2hLwm7n+RcO3bdTFjPFCvI3qYCGBpfpdrzkaOFHb+PvED+Ql/mOnJhlQCsLe3Ca0VKmw==","shasum":"ed12ad4dead1f59a821a46806245d9101e802a5f","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.36.tgz","fileCount":6,"unpackedSize":142458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckOM4CRA9TVsSAnZWagAAWj4P/R9NCJqtV3FydBl8DXcP\nlCp5Bew5ViIDeEMuAYacR27xGx3qCwdigNCLfEACma7PirHOk5zkQZCs0FCF\ncx5aED+b26+JMEVFqICNK8xnWbRAVBPYmfOvfkzjXLASEoD0dp2VxhrmwSCR\ngbteN/9XnkjB/defYJUG1d2EDpGKqTgeLJ2Q9ARXS9vaZDiOohhOLv5kEgCV\nuq9gWcFBNXNFoOjeiE75nbxRKXVkaaROVaJyt94eBsEPyJsMbdzNw8Ohr3oh\nDeziJuIbQk3sX3shfmViPIkdnM2/fqxArbTrNImUe2hpnRUQCNyVRW8tenXd\n5EvXErwfgYCJwaIB0+618TlqM4LWADK2st2OWro5aRzpQIB34FvLUjvanh10\nrnua4+PKpB1VGygIGcJ+gIm6TafvHQHvIJ8hF4lbVjQc8s4CKUCZhsn83JDj\njXSnPjNXsDmy7EzPRCD2nSwEQMRAqgZrh1OhMBzOFWnVlE1fm5FLs+ICIBKw\n/S1LES01ego4GtHcPb8mrJvmbV/elcHI40hWPbNfEeEUDO3VqEpoybWkEZLV\nhKgojEVEv+OA36HwfvO6l8FPuqC41VFKChd+EN6AwII4affvOtD2iHcAegym\nDV6piimDe+TCOhX1+M+XCAEABe6s1k4xh/hEvLbnfZZJHgnwc2g8FnTaYCDC\nfJ0h\r\n=g8hM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLtMlWhw7MzRAJr2nA1yh99rFq79TkqOBSOg4GlCLBCQIhAJjOzorc9Jyy0Ok8ftwwZ4rGJk8B6C9HZueEm4rz4quP"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.36_1552999223338_0.17313922236298462"},"_hasShrinkwrap":false},"0.0.37":{"name":"web-component-analyzer","version":"0.0.37","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"052377efd5c22ae5b7a460eaf7cae90b326d4ed6","_id":"web-component-analyzer@0.0.37","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-65YQDcORQCr1obCJqNXaI0bTydw+BQJw3JJTLQ5cb5iN7fDIS98cnYFjx+5GncBwXyy/dqq3qYOb3fTwfaxIrw==","shasum":"606aa3a02efeebc2f44f68dd190150d3e645d123","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.37.tgz","fileCount":6,"unpackedSize":143272,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckUhnCRA9TVsSAnZWagAAJI8P/3jajxk9LQHbkouyekOC\nMbacoTVk+Hg95XQpR2If7X8LnCVCBMWEV/824AW/ILK8rFfr6L9+HEaXeAN7\nSdskTGO5JtCcbO6UHqf9Xnm8HmukitDITWDgKyl5BFynzIsXZRiPb94gbnn8\noXOYW1mZ/ktspgluPY4ouuZ8nZZ6k1jcF2wuZRh8jO8KLcjI6hfd3vRlFyHv\nn7sr/6WuiJxLjLW8TammKueSz0nl6vQsjJzzDHBxuddEO8E/0cUZ/AuOLKrc\n+Lie0MVmfNci60vzL5uCmLG41w2YBSG2KMX1blVg0nxnRDqc5QY6nH7jzvio\npKM4O+toDOdhnIwyCxhL/2zGrqDMlNNFD2/9UarA12x0ABsh3rOyIMuKzraT\nvrVDvkEcOB0LrDbQ+eO2I8LF5E+5xgzof9I3jjSiDH5DAajP6HnLQuxOE+Ds\nzZlfJhC1zJPYSSlJlQmtVeFt7pMPm24N9NLFEp1EgAZRIQ8tOd6P8XPC4NmH\nrmITio2PCMHIXxjsuZfXfLLYC5GW1IOAV/24IpM2YZter+uMSnrBo/ptAKW6\nsS+6lYaKvuPVtw2c6Hdbcqjp1TtGt/g9YSit7BzPw9/wDNhs6BO2lyNtNwt5\nAhTnuPNfEx+XIsOBJAV50NVMbwjSRXZ4PPuy1WmG5qzm8dJS+j3PzDIuGEG5\noFgf\r\n=Hu50\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/sEcWTfzN5PHCP3ThFDC5+DZNWF7jQrF3J8Lbf4dqMgIgRretr5RRnoO6GbHflTwc+AcTUjesG5jNRKICkwJnjzk="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.37_1553025126769_0.663151079653334"},"_hasShrinkwrap":false},"0.0.38":{"name":"web-component-analyzer","version":"0.0.38","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"9f3a6d1b36d54279738401d3966b465fcf3fc478","_id":"web-component-analyzer@0.0.38","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-dB7DBXu5tf/ZFEvcLZUmt9AxkFMXOlA+oC0oc/twf6Pbx0IHh2lF2gzdSMfNUzik6JDcWoUMG/xl/iiPMjFmpA==","shasum":"3273f4e2c22911706697551dd0ca869baafed8d6","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.38.tgz","fileCount":6,"unpackedSize":143909,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckj91CRA9TVsSAnZWagAAdnUP/iPsi6ooDes0AHJ9BDay\nHPazrl7HNluwvcCg2tw6wh/DxhxAaLJPx+HCvuW1RcJdfAvIXcpC0m3jomiT\nIqBA3kb0/UUszlykdGk5s5iuc8Vmxnthmq7jIC4nZwySPWry5ZalvKKdCm3X\nroyYGtI6khcCQ/PKWyA4w0EuB3KZh2KB2IeGYakQqxLIQhxqhRAN2dkZcz2s\ngxwD+rAFF8deHD83jkB12CHziqX7yiTtxaaJWNrozntP/85zpR+oXA5JISWE\n7cXKeLpRtXmMsfWYvBfuXwARrGjVO9tWdX/ucouN4YqQwPmacptJqUHOM1oK\nZr7WxsAXeAANLffyir71TmRmjTd9HA5/833iSPQ3z14aiSW57HW+oN3dArWe\njKSvouhBGoOrFZnO77G09cp8WG0D4vMkf+I43qLZPrjZVarhlcamokDMo+2j\n9YjZ3JwTp6vyXNYsr1dnWQ+I+Sj6INEUb3ASsaahG09Gxvia8HmRtilxvojs\nEc76coWmBNossGf2MGn0VV77/TSsdP4m5Lr1Ys5dWtdKXvkK95vyyGZ2tBv3\nIZEw6tp/sLsFR/XIYl4n9ebtPbGU5gNowHOp+FKf6vTbNpDw6RbVFs977TZW\nghZ6VXWboFKZKnLgBBbPTjdtx1KHnzWIkQUdXjpcVLA0mRaenMUeiJX/U93z\nNEqX\r\n=OcfD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICWIrKyQRi1wSdW0M9RNNCEZubncxxZYse3h0YYWqsBAAiEA7t7dnOZ4dnSoygdAMFGvR2FfP50Pb54fG0E75VjPLMM="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.38_1553088372882_0.7967693830610612"},"_hasShrinkwrap":false},"0.0.39":{"name":"web-component-analyzer","version":"0.0.39","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"e788bcfed713712e63573c1cc0ba5eb0ed6b5edd","_id":"web-component-analyzer@0.0.39","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-1GoCXo25kZxh9YQY8V7cZuptgK/MKbjLUVO5nUxfy51YXy5TSdWksuIru/YN+SUuEcU3MHiPiCLXMJM5tqlTvg==","shasum":"e09ea6db846e14d3027f3fab7659ad07a9f9eaad","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.39.tgz","fileCount":6,"unpackedSize":144718,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcm/IsCRA9TVsSAnZWagAAQvAP/j/Iqi9KDzhvauVBZKvy\n0CQgp6GwRHcz31CL1XDwH5I7yZ6fJ2tZCYmH7+qVieIJeqY9p7++VnQTZcJt\nb6zZKX7020GxvDfs3NnbtGHDgYh+NVCppCw3ysmpPgD6ciXsm1zz/yM6kX1a\ntwbNFwjEnU9y3ZwCCQIdnC+nrEOzCnPckcJkPXRtyaKpyn79/hbzOwpkJFeg\nycEVtwx6c1JBANx0Qf8XqgKpYPfiu7HgWhuCOrnOkja6RzzGRa85KqU8NQnU\nL7uxXyHsIWazEW9m+VvOLscCWbJqztIjMnwyhTlv9MlSiHIj4IDc04npreUV\n6+VTnmhWRRz0mYD20ljoOD73dvIxl0sRRa8hRujbxdCUac74m8OmFwxNZ5kF\n2k7+v+kPMwcn2d2jRO33CsI95lWsBsSHtSqOhPqcRsljIMk50vni2Yog/CvK\nA3pk2tVnyWdPcOYngJpj+H0rkm3zCsP6OA8i3naHsFDPrT1FUBBLeuBM7Zvb\nBEYhwxj3yIRFHN37GdoMxFJSW4WzDME+KK4GzX5lz89Gxa5C+aVEvX0wc7ZA\nKbrmduQB0DvSmHNrf46hzsWcKgq4NuvAlYmpN9W8j8XA8eeULO1/kOzkfOVV\njZlNoaqnJ9WZlM5hpBjzuvnlI1oCbDW4WkHZZRm/P7jlzbajwgySnXe9y45i\n3fTi\r\n=LdPE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7roFJtwvah6hC/EGcMzyxkxM8kZS7XOsh9yBJs55+SAIgVanBNSIyBVY3zyED36tkf0ikOc1lyDnAtQholFswPnM="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.39_1553723948241_0.7869675908485374"},"_hasShrinkwrap":false},"0.0.40":{"name":"web-component-analyzer","version":"0.0.40","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"c5ec35b0e63cb368216b613472db7dfcddef391f","_id":"web-component-analyzer@0.0.40","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-3VMf3vnqHb1vG5tzHOoYc7xMOKeyKSZyj73VbFw3POiCAYpYMDz8+OyTwgbqY3VGr+PYwDAE/394QQlY7RtY/g==","shasum":"103988af02a11a798e094c93e00aed189f55d8c4","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.40.tgz","fileCount":6,"unpackedSize":144754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcnNrNCRA9TVsSAnZWagAAGIwP/3AwTWGAxxNKQ94M/Tre\nSkcEQk0mauaB2nX1BBpSY8jDCqJ/PbDzNnQIUIHAEJ0vGIb48vLqr/2LPt0d\nCFG78p7/647Ui9KMwE0n4MAHnwrlEgZQXl0UjxNirUBfIKVXd0EGvp9EFH66\nYEh0SNPjbc5M3nbHyBWikvcxy7ZbkKoth3nZGUxYxmpK59naUE4hBTcF+e6v\nviw2LKu40c53NCe6hyXJnXxJYNgpQuKprFoKGRonQjoI3zlflizmpznK0SY1\ncI8/qBIquDrNtcKwBW8Gpgy6DM7qJqoIAwRQ/IDXv7REjL+qjrrGcLleAz6c\nBqRMFxJuvCQEpdgoqMfz0oHIDLqe39U3WZP6hW8feJsy/Q2dhruvtUhZh/2T\n2K7jVxDQTu1xsLzwBCb2PqKfJulB/6/VE0R2UueNopj+ghAgygblDDsk53eL\nttBIt9KORN/rtRkSzhlG/oTI0Z5NnxuT8FeHyJe1cLtJgE1WktXTduZWZ1ND\nQwPODUvy4a6vz2zn94CZxfnXma8aIDRJDic0Q/nmDejDQTg4M5Ga7k/c942a\nj/h1+BZvLcYVA+6G1gfVy5CSMEGAfwY1P/wTJaePf2vGS/kLYMJe7DJWjkp6\nQfr3WOTO1btQKlYXyewrdSZC4k3QbpdMhKXeViqkj0wUQhTOFHGPZeNiBliV\nssKr\r\n=duUk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmMFe387fXS4MUJ4OBYRgVhQwRtFKdrTivaY4fn1A6wgIhAKqzbslaBk4vXY+8/dKpxGRXQ7nQ5NWt6txuSEEDAIL1"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.40_1553783500853_0.2670018474586948"},"_hasShrinkwrap":false},"0.0.41":{"name":"web-component-analyzer","version":"0.0.41","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3333"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"791dc0143b38cf89ccf345548ef03456e9382a16","_id":"web-component-analyzer@0.0.41","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-f5me1dV9wTrSVHsv2DZF1QcwLQD87iZobZYxy3XKTYMDIlV8DvPbS+pzz61j+F0p2613hjuA69uB09qn68v9zw==","shasum":"e68013fd9b051570f4c26cf35efef45607fd2721","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.41.tgz","fileCount":6,"unpackedSize":145828,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoS3mCRA9TVsSAnZWagAAOWcP/0wBlZHEMNUEUlqg0MkR\n5+d97qhRVTt/Uz5YvHPV/lh9l/vtJ1OLxbTVz0eSLdm3xOjc1f4uMpBKnyGO\ncaxMP3C/h6a7e9ghsM3gAKfsuBYgwgSnZzzCjRl306iwx6MzTOYoCRuxneno\nCguOAehGIiZTHnjMUd81tcb2erriDR6JeTD28f/wS847JmhiBehc6X5ZyDtS\nHAB95kilbgcoqQrIK7x44UHVywAm4iK3zXs/6xTA6Z6SOfgU5QltnOlmWB+c\nUp2XgFi14sMJomtwCv2f1P2Gw5iaOV+I/i50ieY3443U5tDadDdcb3VnTMhG\neLZBT/U2wfC22yy698IXqGExB+FSUGNJEjOOyUjJyNkoRFffOCpA0l8d4vHW\nKKU0kPsmLsJVYrk/5EBp2+ZJDEL5LbWRQRSfPmxmDH/ZqpxljNUuL3rUNLhd\neyx0tPVFN4YMrGYW9Ibww5l2U8EZtNOyEXnwNSrmgNsB5M0ycz+0s6UC9S6X\nhyVmIxzqSGL7S8fcc6FbJWR2oYzC/Zfji16V/ogeYfopg7YJaJp5na2IBlUz\nGSxhZMxdU4QmQDHKCO/ujIVDM+zCxkoX36UJGMEEc9kigVEz63WhThsO6Crh\nK1MmLwocqJwf23DvOZ5OCRKltjwgam64Rq8bhNsn3ghD8zfdpCAfXPgTB8Zp\ns1mR\r\n=viTd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEis2D6IH/MoymgdbOKRntiNsN107QrtsV/7D02PNNz3AiEA2EfLSa5NpRsPEhUFoxoLHlz52p0GoUpMUF9XA+uQwfI="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.41_1554066917617_0.8818283073033262"},"_hasShrinkwrap":false},"0.0.42":{"name":"web-component-analyzer","version":"0.0.42","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.27","typescript":"^3.3.3"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"6bcf8fc6f5b8bec2bcf06268f74cd286d76a2ff6","_id":"web-component-analyzer@0.0.42","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-fMPO6ZNzYYRlPXtJJFlFPsBdzdJZa+2bg7QQK2gvhKRgXVf1YVwzsSnY/HxHi+hjCnPa50p0zGZtZeVXSo4kwg==","shasum":"e1e424c95ac15398b5f6a56f39df0297b09d92e9","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.42.tgz","fileCount":6,"unpackedSize":147468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcozCsCRA9TVsSAnZWagAAFI8QAIBZE0kOBdpYn7UzFN5U\njw6FG/Fv15mStG/2EaVk8CBI5U2F2N+7NQRCC1iePRSB0zrpnWFFeIkc81b5\nkh68f7Z6fODKm4KbbtWgdPeXTUWtP68uy4YhcXtbn00ESAY5yJgu6LohTc1h\ncYuOxBg/clstCrjYB09lxS1yiauPetgAV2ZeNFqeGlKryFgpQFaX3Hgkbdq9\nnKuuTO8+DwxuuJUKlGTHHlUFPNh5DnEr9mt6UHWGafWcqAS7gyAMLsMC0XiP\nVP7ICTrhdb2+vXwxi8UhX/M89Kf0+79lFkdLPJ5i8o5uIH+DnJ/csrQ3eq7x\n7c0ml+WDvIuBXtHXmzMJPLFOBI5skkaSeAaaTe615XkPPWW/IMZod8FoDFC3\nluXs12bXJ3U3aezILuMFClw+pT8+wuM5f0f+PA4uuuNylTB9t6dT9Zdp1B8H\naFbpuEpfXyCbU0FecsusqPBxRAeLqZVGHAan1dctMPK/uj0g3+KLCJp8EPVA\nqrrlpd2E/Q3/PBqAR++HLaoSgmrG8l5YoMi6waf8G+/ddTEz8w0b4qNX4Pjv\nktYebgpeoeVp0BCfkXWLsnr+ZqWH1hfDlPEGg6IEmANxAeAVOS4fD8C+D/ld\nW1R6WoAp2i8mxV6a1h+ZMtNNz7/ZWoodB2tNRCeDJQUQrc2nGhrNP1Hdq6T6\nQ4MZ\r\n=vQo6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBSYcp04Z/d74xRRadB9lhXGS4Z/UjGCCTz+DQlcbz9OAiBW4Gkf5BN4f4lcJlMYgwoi4fepvpU4/J8PhmhdtdghvA=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.42_1554198699567_0.6577092646786082"},"_hasShrinkwrap":false},"0.0.43":{"name":"web-component-analyzer","version":"0.0.43","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.2.28","typescript":"^3.3.3"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"a1361b06219ec8c6907a5511a31c9ab85d000c4a","_id":"web-component-analyzer@0.0.43","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-oXg4PsiylUeyAVxiEkj3V0qK0zHeSymKxgMc7Dvc1Ok6HCDCcnmSQf2yc2Fnf35ZookVUdkZGgfB/j5lErW9yw==","shasum":"f88f92ddb5c62526b207a72cfec4a0ca5bfea82e","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.0.43.tgz","fileCount":6,"unpackedSize":147516,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrMhiCRA9TVsSAnZWagAA8y0QAINhtrj4VwX6XyJXS7WT\nTh3NLMSuuNfDUdDDDaV2AtmeQ4zbk1wQ4WW2QyrTKTvq0edIh5uVZ4hLHLvW\n9ZzUlPtOSwXh1JrmlTKn2WfuEKX+B/jIwYdN5ZVfcTjXcq4vZ2Rol/mnp5CU\nHQUvKEDJbhCixcSr3W2DdmkcZgKp8+yrXTRG0UkKbG/DflyE+BBp2TRbNwiD\n64qPbILx84C4E5eq7qkAFLaBKWq0WHHk5IRcpyoNoc7oJwnED0zXB6NQwlOw\n8NDlwpX+nqIsn+LG8dXke4b0eEaAK7RFnWK5DJXfiQPJHSW0KI3RUIIn2tnE\n9zd0Hb3KRRHip+6crPq8Y85QBrVbOBL5Wclm+478JI9s4a4HNA8cTntTQGr+\nIF3Yeq7gFPy2brWbNVreeZl7CL9NfdZR0p2chBHeudHMgeu9VLQkX1uckXzr\n64rfmek8966g0kbQIta3Wp5Lckj6vlkkxphksHV3L6JmxGfhp/GqVSaphJOF\nAz3xR8gv2Z1I9rP9W+Tx7JXCDWK2ir+DyP6T2kewhAQQGlG9AATpCa+AVyjc\ng1oNDyg7GeUaAcsxyUtczWTxf/boRKSq6sEWeWwk6cgl+ofUetStu1AoTHAS\nRAHh4hAVtATUsETLUbyovu+cQgPuKEOydXHIECxTq/XChfaO/m7zdfXxY2Ti\n9y3h\r\n=qKuQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICJhspigRVCPuVtkSSVIE4GURvrQM6KqQNQMcN/BV3bAAiEAxclVywjUzI91WaHyKPnupNgQd1eMT7qmN1hxwJVgtLE="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.0.43_1554827361716_0.5195846593844047"},"_hasShrinkwrap":false},"0.1.0":{"name":"web-component-analyzer","version":"0.1.0","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.3.0","typescript":"^3.4.0"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"6309462a5571407837ec4fa0823154ee7cf02f62","_id":"web-component-analyzer@0.1.0","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-sDW438ky9pmuav3zzV+QPEBmC8Dl8X9wCq8LR4PMBpVpzDM6JJEDup5IxHknyXndKjIQhHJ03bFPZ2/39ycLRw==","shasum":"d03da6b3be93d4da88b9a70388389e5bae5518ec","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.0.tgz","fileCount":6,"unpackedSize":152106,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcv2OsCRA9TVsSAnZWagAAY98QAKHnHxJtKnM3zmmpCcau\nOuyxu8GyX1CoOanCPro/QqUAHsJtCGM8Vqg82V263eWrjisSZ8CzY/Z2k5lf\n0HzgLecXgL0RvaATl9U1hgGZi54KpyQrRid5muWXS5qn+akXzCUH3KQn5zFR\nbJhxhy0P9Djma573yRzrZLiGGW/ulXAc9HmeZ3xGD3vO6b9SDL+YjOxNMMhS\nqNleU4k8mo+BBfY1N7fmMFgvdl2eLgbkzxMxIAu90TklEqbHazO6M7SkG4Zn\nWAskmpxSA2XWY5vjT90L+Q9l8QmvgMSOLJEL8ed0KTbNohHMXxHKjvLnH/uz\n64MiclTzB+7foONcNl0cvUAdCnGJ3RYppBbU8qjHtIX1H0I3XfJ8U+TuWcYT\nNHBQlZ3hPQh8mz83mN1Dl6awnDRgFMoZXU1mZxBqUy16wzWu0/sW0+yfE502\nnwD3mEn5efHuRTH5v7r1XnJ+lyB+pmbMJXb/Yx8dU3M5lFwEew8/wxtcH169\nqO80ljXXqOLIzYPtulu982C3CE+lP1X6w+nmZn1aJmVDiluxF3jFcvukWPSJ\nhZDzts0pcD8xHHpaqRi4XvSQ8MUjfTdGfeKvlZFCQbO2FVbb7R5ZUBft8i6H\n2KI9Ln8gKCOssFa/wNfJnT0qWvi3vE2Ft+ywxOecTIQxFhx1Bne4jlhkWp6n\novn6\r\n=tYz0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCu7rXnpouaugabdaCNqRp5mhuazoiM+2XvTwoIuCYKDQIgJglWF5PYF8UvKSnGq8/LJOGD8WMz+qSVpG4j20nLoaY="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.0_1556046763702_0.16395802672411808"},"_hasShrinkwrap":false},"0.1.1":{"name":"web-component-analyzer","version":"0.1.1","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.3.0","typescript":"^3.4.0"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"99ba788386380d295badf89b0af4ef668a2363af","_id":"web-component-analyzer@0.1.1","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-qVIQnXh3rQYbU11Qv36T+n4Y+5LTwwVJdJum1iUfP0hoXAlcHm9/pJhIEhmoNMHvAjnuPOMvIv0NxBbIO+T9FQ==","shasum":"7188c5ad0d0510215db40e0aa5744af0d3b9f42c","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.1.tgz","fileCount":6,"unpackedSize":152105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcwJ5BCRA9TVsSAnZWagAA+2EP/06fnblKPZFRAdRqW8IJ\nIyApDIENFlhgWfME0sijFtD4A+1zhuQmvna5Icqpx2v7iw15g3/vINwYDKMw\nARe7hhquGPKlkarxWPWF77x1sM251h9NbgJQu5l6fwKRKEuqWmTVqqT0fv+1\npTlMwmybY6NVYOc1t12EnKV8o5LZE/O3RPJ7sJoaoQkFeMnoFRgbrvguonHP\nLie6QBbxAxbfOnkpPc9sSViaa+5avjZyb1MOrOZk/sXwF6f0BrgXSH/qwYXU\n3G/sBwUchrEPlnQ25UMtcdWvNd7A2rRnz7cR2+sqbAYIIKAZNlX3/hyugrWI\n3CKmADeontXaB0WWnJHNrOE5W17/MNBEwAXFRroDYwtqBjYZP5CzMCdnAVFO\nVW6NVwMorVodoHAc6j+SmoLlZNV20bL5vkVqfbIx2rkkeI+BPQ5TC896sCze\nosJ3iKQrvZCNGyas/BGdZUvHW2x/e/GX24kLSVeg9FNlNsX1QITjwocD6caE\n+Z1BUc6FJJS/D5ZoE/1S8+GKKh2eXBFmtdfE5qjZciwZDMVolcHMKyElOBN/\nzsjSqLo15T3B2FCqfMUQao78vlD61EpoHobGOwm7piB20bvwLYc3zhucPv29\nk8AKOsIef3T5vHC0DWgBaFIT9dj+1lcVmR5BpY2Ys5cDt9lXH+F6EInAOYvJ\nZzfQ\r\n=0NdW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICYC/ZyFgs732el8FLps+LqvhioZiH3TcFQVvxEpVka8AiBi38VjWmgFu7NF0vCCN5Q0yPn73GzJJUj+nYPc9hL7uw=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.1_1556127296583_0.1741359841227692"},"_hasShrinkwrap":false},"0.1.2":{"name":"web-component-analyzer","version":"0.1.2","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepublish":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.3.3","typescript":"^3.4.0"},"devDependencies":{"@appnest/readme":"^1.1.27","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3","tslint":"^5.14.0","tslint-language-service":"^0.9.9"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"94efcde37064198d44f862de47ae4184f9c8d6a3","_id":"web-component-analyzer@0.1.2","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-RiNaQiwBmTF19QxaE75hp4IqBPD0kRMUe4oSacosG1R5ci9HW6+1iLvcnPRZLXBXn+/CMoKSjy91mNgsozEPMQ==","shasum":"4cbe2da59705bce9e1cfded0ffce8d16579013ff","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.2.tgz","fileCount":6,"unpackedSize":155607,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcyrukCRA9TVsSAnZWagAAbNIQAIBoumUmM5qV8bUdnrxI\npZJSSMnVlO4BzN3T8+br5xEb43SiNuVid6CsJychT1eGzJ7tw48WLCAQzeUX\n6X22ab+TIY6I5WD1vZ21DtN2CmXzDCEQoWg3YpxsvV4+6DmLJ+TtnZo0SzdB\nfd3E1tIyt0ZP5QfoN74tg6ia/loRBFERix14hn+IjO49P1/y9NEEI9jUzCrv\nDZjfvgk0DkXkm7/oEkKfzqtZHMpV7RZq4HEuAphejEB8E4HmqgErXPjl7KWV\nVy6/akUzUkXf0WZGDn1bKTfXqHpk7kZCTLU9pkjuWboUrK/06km4I82ozj+p\ndyqdzNP2dacEGZ6firy9kyLgKxFkEjifrBzw8SVV9biqCf73OPRGKbn940+r\nJrd0NoU4UpxwYgwk3YnZiDfj+f0gvbkvRg4/PN0YYc6ItZ9snIWEECEyehja\nirwK0ppFSzBp+esRJwXhHnItf/fb7GhXiEdoCM89Uo27LXkBnmdmpYJU490C\nXSfoWGgekV4uI72ib7RMDmwl8UW8HZk1rIPIheJAx9qmraluu5hcjtuZuZs9\nwAmZKsfonHlUm4X8zmN3UrLUWBEp3hrvE5c2qht5/YHQT2OADc0TiqPzYiAU\nrduNE1XOffgYcZDTXTVZ2xFVEvpCnKRlhlNfxFM9iNoxfRuE+cV5pGy8D9Zu\nzuA7\r\n=zepZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZfbdk1LlmJDM5WybvWGSJCnrEtzQSSaecDJebevzNzwIgXNDtW5wAE1o/6yOPOTgCtpqi6aQlQJJ7yg71wcu25Rk="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.2_1556790179515_0.042953560493422804"},"_hasShrinkwrap":false},"0.1.3":{"name":"web-component-analyzer","version":"0.1.3","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.3.4","typescript":"^3.4.0"},"devDependencies":{"@appnest/readme":"^1.2.3","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","tslib":"^1.9.3","rollup":"^1.10.1","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"ed35ea5eb2cf050c7581142ac05c50bd0eeb4ad0","_id":"web-component-analyzer@0.1.3","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Y2Wi1VbfexfdYdA8oCQlc/wsHK/rdM1gWAuVQgGwg83lOEDqrCpgFYMmOE2jfWpzNY4+zBq41H+NH62Vviq/zg==","shasum":"1ba606cfb7e52df8ecc72af81cf1425a098b28b3","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.3.tgz","fileCount":6,"unpackedSize":156474,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0zkxCRA9TVsSAnZWagAAl6kQAIzZaMac8wBVvGOpgOsQ\nyr5qts4yMh9cyAHNzhpBi0BcRjGLQenecaevOOjrbhhg+dfTZkO4oeiAuZ7K\nzrWE5rUaybi4cGIMoKyeTNS8KTpQZdp+QmB6awlY199EEKTI5ePmU8lTbdnn\nYr6ldsiUngnXFkW71D0Wv1zzjVZivPx+UeusGFN5i9fBaV2Sn2mIq9WqJoVy\nmAk9ZR3g+Pz5mt1t+CxC30tkq7sbT5STqbGEJkvWkSAv+f7G9XxkDG/ypAtX\nXbpiTDXua4V1akkBf2nP6UZGvrJhpd0+WQ6xjOWrCKvyKPwLy7sDVqJ67m9l\nHn57P0q3W7JUydQQSS5mLVUlcfrp9WM/0HGZOlFTdzEBB/Sw10Zzj9WoeRw3\nrlB2HOrVSobbkcS32HcDJ6y8jEjRDCVHtadFLSmQoUklB+UI86t07nz+wNx0\n1hLm9l+yR3xZCN6vKXl78TYUChMhqzLflqqNmelnHwwEl+O9EwVOB0Dz6gT+\nn2J2z+k5ZOac4lyGZzY6rZaIMQ5/0pzru4Mt+GxRLflaD2yFVeh/uXX0kZLD\n0cr+hSvZYIjayKSsi6ZrKLUyooFw17M8OzKjRL7wPjXnqDMjIxc0S8s3yxSQ\nZCEqacmUbg1IKBbhxV60yfr/tf+Y1rDXFQ8xjpeMNVgW8L6lxmToA0qxJKLj\nIT5z\r\n=bZsK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFXW1ni0n0cVuSpK7cPdijZaTqo6fDh+wIyM0XFiAG5gIhANS/h54T2h0+396+lfF9pZI5fPyM+sMkZkOx5FRfEDxJ"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.3_1557346609142_0.33240343174504017"},"_hasShrinkwrap":false},"0.1.4":{"name":"web-component-analyzer","version":"0.1.4","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.3.4","typescript":"^3.4.0"},"devDependencies":{"@appnest/readme":"^1.2.3","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","tslib":"^1.9.3","rollup":"^1.10.1","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"cbae27078c9d2e52251e8e1f6a64f39648bb58c0","_id":"web-component-analyzer@0.1.4","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-XVPxEzduWiMEYYTRxluo0KW0PQHUodywAgWRaR3i82HUPw86tRXGXSASRXIhwvq0iWwkDe6j4ctN3keYyheqww==","shasum":"48c4fefd83cdfe77e5d694215ea999e7416e889c","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.4.tgz","fileCount":6,"unpackedSize":157237,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1faSCRA9TVsSAnZWagAAzGkP/jCVnTxOQH34YPGvN/mb\nxzEV5j5yD522rm2gUmSLJbRHhyz/hTy9vMKIdQ6NdELFrn07Z71Y76xhfeXe\nth8A8PuqYpMxz8TWey4LOWQ5NTWuk4wIK4pIdFwnclYejgUS0/xkx95t0MMh\nCh5TY70DS1OU8qJVPyrSqTFalGoZVdzPqRjm6WDOJ2bXKVCO+LNidKxqhd0I\nv7mXRbOXxPZMGcTmxJWgxNmsGtMTsF9NySpynbzIRNnmukwv9EIPM26J5qCw\naWkWuPNdnNEsZABMF4XtJFw4K9LkZGbKTEcGtaCqZel+bUqCcL6uqab6vf3Y\nJamOJVM3n78t7+asiv7BnKrG0cQh3B59xuUjKmTwwJOJCnw5b1I4wdTUj1Ub\nOZrP9ZuV7psu2T2Qc1nIMABMJiskFz2k7RLMdh9amMI3i6jVaxJKjwEZLw3Q\nTb/Y/+NSKqhNJDhYmN+JOifYhM0Gi4/ICeM/86mSyq++rVZBsk6KE+Lamu2X\nOLmDglTkNd2tyY4l3Opr4Sj5Oifj4Za6KK2oeUIpKRTH3g+XPnrsLsz9Knuk\n6U6+Tjsj7O/TnBEbY66b++eyx7WHR+EWkRl9MdWQGqd8OlXj3TkoXD/wnE0F\nObNYfk5h8fvn44KDYExhzXLJz3Yxttfzl5/ZXgvpezr2YxIw+gsUVQfWqN5q\nIer8\r\n=Uk3e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDLKErQptvY4VXtnY5nL19Q16FATf7WHXtRXtr5c8NmWAiEAsnrmNXpT4bJR+olz5ygIwbWltjQCtU3c5t9wwQJ6ObA="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.4_1557526161907_0.011786076129131962"},"_hasShrinkwrap":false},"0.1.5":{"name":"web-component-analyzer","version":"0.1.5","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.3.4","typescript":"^3.4.0"},"devDependencies":{"@appnest/readme":"^1.2.3","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","tslib":"^1.9.3","rollup":"^1.10.1","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"9f5a1120d7fd14beb5ed6de8118fd522498c0bb7","_id":"web-component-analyzer@0.1.5","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-MZdJXcRkQm2jbmqYlWnGoSK8w4rX7wlY5D0E0vZArYsyesWyWgG5gl8kWkzYDmxTPcnxDkEB0g4ZiYFb+w/86g==","shasum":"9d543be6aa65f401549e3ed5ddde964e87ada662","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.5.tgz","fileCount":6,"unpackedSize":160088,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3GMiCRA9TVsSAnZWagAAaUcQAJFjhuCB9c6j6AbLvK1P\ns44298atZsmAXR18sZi9GXdZe43RSskThmCCg/wCfs5/3kLsMtVa291FJBdE\nDUIrIWe8/5VyfAdp/qpoX2f3kZjt9Ay0KsJmetQmTzT96MB9GOn2WbfYMcBw\nbtK4POsQ99LcbeqKEOamLKAOygEXStud5SqruTI3af/GtJUMpDw/8hf8buJu\nAgrNXIiVlc6UP1vpLjsHR8nj0iOjIVxqva+wuFxKTOY1HH0dd4JFMosi8n0M\nu+9l92ztu+JrJ9T/SPIhFWkWYvaM4CG50FRPeAq2nE2wz3WwqdeM5wrMZyBd\neSfd3hqAeHGmFx/Cw/Tp2YmOKH7h7ECCUFdN9ooxlXZjpuSXsWDpFD+ZvoVH\nwxxVcxZMDfBGR2EibI0FwXhBVgMZJnu6AcvmhLYnalu+XYTw6MnXmj4DWwLg\nhGIlWlfhwnR3QZkUiVQxjB9OJWMnoLKmSvDoB7crBpxIyYi+ttBPz2x5FqWj\nY0thee2KnJR3g3BNtiJkk4a9FJqDybHMFV1/euBskzlGMI5sUBqDkTIT1y40\ncO0ohwnPEvSZ1aB69lxMdavZNRb1mv0k4N5PoucZcmA1JyKxU8zvmRQ9YP/8\nliLRdvg3tIS1WEej3oqLD6ebMNmjWF19JRDjfZYnF0A0Tn6WttwLIZX9RZyn\npfak\r\n=NXpR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEtWV9vMcaeKjPVPZZKRAC2WB1H3OD2QI0FyqTnk0vAQIhAIpF74VVqkmVQgrW1n7SamoOYmzx/ERA2PrOJbDUAFRZ"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.5_1557947169635_0.4462323928577623"},"_hasShrinkwrap":false},"0.1.6":{"name":"web-component-analyzer","version":"0.1.6","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.3.4","typescript":"^3.4.0"},"devDependencies":{"@appnest/readme":"^1.2.3","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","tslib":"^1.9.3","rollup":"^1.10.1","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"1b5abc4ed21a91669d8cd157b83140275ed5586b","_id":"web-component-analyzer@0.1.6","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-FBGPfwLGTiOFiERk6Wg9MorgOUYWFTO2Rt0ysZKmGweeoj+YsSAn4iFT4QpCW7uUcD7B2wJLBmQ1sSdJTow03w==","shasum":"5cf5a4f1bebabe1df4663e7d6effa9e11ecccc28","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.6.tgz","fileCount":6,"unpackedSize":160459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc4BFeCRA9TVsSAnZWagAAqJEP/34VMfsSxehJC6QnG5GZ\nFytCXK2/Uvo+g2sq8HrR2I+YdIrCWYD0WjRSJ86jDsBu0XwFebBA2LlmtCVb\nYutNTRlIqr+F2PjksXCYeOKgcdrEfeBFnp4r5bXFkL3n9vb4EcURvqLVn1Vl\nk4P0JyKyOj9fEAxKuqu4+bA0+wXX/NY7a8FIF3wm2xtWjFFyGsasf75an5QR\nPV4Z/29warPHWYsE/fGKoJpLszB/BxrKFh7bsXvxtin40iWAkuTO/CHxYWnS\n/mXCYAFEWTY3pjwyW87s02RBA1K5lTMR8XcWEXJWXgvMju8reXCHcxcptsM/\nr+YnJaNUcIZglhPp11BS5ThbZtqoy7E4WJAxFjcLgCJWAFDIFJW3VP+PwR4D\nDiIMto7cgjAUgR6oXj0zjoJCbQQuzsxdHErJsQOCVRbafaIERn2qGwgzDAZ8\nH4uz7ze2W6uYV8oizHDgmVgJzIZTuSGPFI1tPuRtMVYJGXm/C+UCC5h4Ogg5\nS9rMvRg8E/0unqoH6lVjYEOI4X34t3UWVK6KW7mryPJlT1R8ec6riVvoxO5B\nZTWe301SKgBKPMJCC+LvzEUwm4WELPFpkmLz7OqWNPHBWTLMWEwayu1FXb33\nTY8CZKYRFDubj9E74vfpNovfMVYQBk9nzH42rE31L2ZGfejoUeFvK0tf3tFE\niGTC\r\n=gbfM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgnGGO592US6+/dxNlhbUtssiTXNlowfmBcrup8adm9QIhAPUh1zPC9HIIJBX9MeunNl2p4kkvwmKwagN/cBP3bjYa"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.6_1558188381492_0.9793428170427296"},"_hasShrinkwrap":false},"0.1.7":{"name":"web-component-analyzer","version":"0.1.7","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.3.4","typescript":"^3.4.0"},"devDependencies":{"@appnest/readme":"^1.2.3","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","tslib":"^1.9.3","rollup":"^1.10.1","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"a71798726fd532448a0811abc4379f9b96c107ce","_id":"web-component-analyzer@0.1.7","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-thjgq/JcbTkqv0TBQSk382IXWVIWir4BqpQzKWCyg/7YrsmAqBtHrYsvqVZFVxsaC2w5GCVK9NpA22VdUv1c4Q==","shasum":"94f56986612cd023aefd90f90f9ee5e23b70bb35","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.7.tgz","fileCount":6,"unpackedSize":160465,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc58yeCRA9TVsSAnZWagAAl7EP/i+z3EVK4i90Skk284wv\nDCvDcnJEXKTuJWp+4ovW75bWs0XEoDUOvu9CQO3bU5PPIzcI8r0Mkf2Jerva\n4f8yXCb482LMAFYpzq4gqx2jpeOXZ+882xMa/a8pPd35rFFaW6UDKlCw532y\n1lRDbzpobcMYKbjMFpSUfihkrpPD9+DXLNZXpYuVAwub/BoTCsjDkXX+Uc01\nwKnGrv4vLnToi5IP9GByX/RHs83ugvlwZ/kAa96fAteSeXd1j0aCHYU2CLF7\nP4SSMLqUis6nZP0TaJwDrbr4NZi5bKOR5QuzXnNM5wh4Tvf/LSiTJaXrQH5Z\nuGXKawlw2jRq6CCGCsXF9cx/FHTeVX5Ol7hbqUO82xQQXMl1pvdwylWlRuQ/\nn4FD9E6kUsJ2FFb70orGMDxrnWwfMeJ16O8cRzx7tmDg1rcO6/t8XHUlsGXH\nh9AZwYNGCr3oIuEM85NDQAekid+CEdU/n2ghW1QEdh+XrHZn3fQ4bQ0GDgO8\nUGXquu2J4ebC4V4m8OmtUkG2uHst/jxj5Xp/fentcy86MGGnKAJhVmObgLL6\n/Z7DcIP6p8Z7YUL+YBg4WrU0C1qYphAYIdTKmoC4wp7qzrTLtuPEAxv27mVW\nd8MhBtVdoE0odfWFoD1Xbt3bMLRPpRn8giWf5Jj8cd7Wd//lnSxZWUdi/ebx\nf301\r\n=CNlk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAsip8u/e8iscwROwKPz3m4t1XQisoWEtsx1/roIZLhAAiEAosKPwnXP4yasKkAZRqeg9hYA/QT10/NyBhL4Zg07FtM="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.7_1558695069878_0.736607324601757"},"_hasShrinkwrap":false},"0.1.8":{"name":"web-component-analyzer","version":"0.1.8","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.3.4","typescript":"^3.4.0"},"devDependencies":{"@appnest/readme":"^1.2.3","@types/node":"^11.11.3","@wessberg/rollup-plugin-ts":"^1.1.35","ava":"^1.3.1","husky":"^1.3.1","prettier":"^1.16.4","pretty-quick":"^1.10.0","tslib":"^1.9.3","rollup":"^1.10.1","rollup-plugin-replace":"^2.1.0","rollup-plugin-node-resolve":"^4.0.1","ts-node":"^8.0.3"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results"},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"aa3477dc16d85f249ac0dcacbc6aa22d06c09d2b","_id":"web-component-analyzer@0.1.8","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-E7Q687kM2rlLgp2cI5RCJ4t9yHNySc7JY6BG6DeXZDbkIag8gBUcyytwWn9P7L3LUOBBQKNv6IltE/gydaDm4g==","shasum":"3e6e97c3d13b7786645f0f0e421c5ce9ad1cd97c","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.8.tgz","fileCount":6,"unpackedSize":161184,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc7V/rCRA9TVsSAnZWagAAs88P/j6bD3E7MW2M3YtW31Lj\nldWD9K+N3oA1llvQ5vSd14J/103K9u+elOV6IHpu8myj70ok7f5knLVdfsh2\n4z8vFL9ZrDGKB7FGVl8stgmLugylVdk2k0cp7rdo6x312jc2W7hPd+C0x3Uo\nAJQRaL82PQpfvqywiKU/S35Ouvsv5PEULUoZQH9sIMVhFhme1u0cp1brqPm0\nGu6/qwger8i6CkDI6GWT9d34QKXfXotachqSL8khxU0qxOC7wnBFpZ/Yb/H4\nOXwSJxDcnCVPOxsy5azciEp2YmA/VMkF7A9NODmh3or2Aqu07//9CpVOYtHZ\nvuNgZeclcD860t315xcmG7XksI4f0n2F5AVcA+DlQyohcQahuWaDeVyFHVN2\n9sBNredmgJCPyTmV3S/scjTEkNnexET67JoIC5H68Ftyo/XP8npcDmeKKfaf\n0mMjEeouRGn+SDtGAKjsc2NaedwpAefZfWlWXKGQdZ4S1Y2xksqjhPAjaCcN\nYNnNn8ln/wVwUfU+QMjoa5AKzudHgVA8eVtdDOvVVGdQvyl7cQzeJkwHE4LW\nlJ+driaI/qf1TA2ljjeCGwrrnBv0HI3+uRnueHkKYNqan7WVDirT/Gv4NCsw\nU4NoutnSfUIOHROSaZfPy6SCpkRuPveRD4ic7RNzWn1mOLfL4mPb1O1+doTA\nUnnW\r\n=23ft\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjTcNgAj3uPxO7RntEP8y5R9j/NUYO2ZcUAHIuJq5bSwIgCDU/D4dHWiBuYQpP1IvWXq23T8feAJoXFi5V+p/j6DA="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.8_1559060458317_0.04559716784043988"},"_hasShrinkwrap":false},"0.1.9":{"name":"web-component-analyzer","version":"0.1.9","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme generate"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.3.4","typescript":"^3.4.0"},"devDependencies":{"@appnest/readme":"^1.2.3","@types/node":"^12.0.4","@wessberg/rollup-plugin-ts":"^1.1.54","ava":"^2.0.0","husky":"^2.3.0","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup":"^1.13.1","rollup-plugin-node-resolve":"^5.0.1","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.3","tslib":"^1.9.3"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results","files":["test/**/*.ts"],"helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":false,"printWidth":200},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"7554bdc9ff30d0b466d54a648f5ceed201222b25","_id":"web-component-analyzer@0.1.9","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ADAu0nYf2++gF43eY5URyHcmoWLz1CszoCKH4LkKHJgb+HTZaVXe//aAzTxXgHTG3O+Qd5B4XnM2h04/THMlBw==","shasum":"0a132c889652f98562ab3671a1319016d89cc064","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.9.tgz","fileCount":6,"unpackedSize":161950,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdChVoCRA9TVsSAnZWagAAbXEP/RMFaVjvX3UYDfg1/GSb\nP1NdsVCjWx+/CPxcMzIbpFsgRXbEaKxqCs1L6ApM2rQ86APMwkIdjGw9nKyP\nGtPEBsvBmKsHqRHwgmTEjUWYGaDiZlZQBPiWLXHdg9KklUp9N//foWaes5mp\nlDr2Gp/ujUMM3Qf26D6VSkjtRBSGZhn11E3w02rx83WwXI3eIdh9tVP+Vgsa\n+dAkobPeAFpgO7Ap89aWAF5PWeB9Nb2XKpIcWCmqhxvQloQ6EMIeIcN2rGrm\nW/OO0Zyn79yOWpaV9E/bg8HmM3nBhg9eI6UJytAUcybG9miNRG8sLwDsu3tT\nObfqo/+ZuPD6WFE0KCWvPO4eA6HsOHwmM44NSH2illYLChBmPybQEJdyQpUv\ncs4gVVJVDNF1Yzx+WFSV+YmpWn2gIxnGVGr2EWxOIK1O7KOPvvuTmhC4Zerw\nUqePnYS9NJaNDyXWYowiwap5QBHQTvM+JaBauXBjJQrAhZsoCC0XlqCsr5Dt\n+0TBthGdmD9/VSy+7DyOZspH7MzbLjD1+up93KhYndvFKqEEulh1Xk3cSF66\nVXxL/L0z6wfvVf0R749MVK5rMTWPp7QxxAX2WEhHbVVe0zkui+6tzf/YxoSr\nPByxq2G1faOWL2ZZNB+ZJOT9qXRyZNkdp1Ydk7E/2U9ESbAq82uRFqEGVqR2\n/NpE\r\n=h4L3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEGe86JIb6jNyalG8ywFmSM/G9X2FsxMp9RXYNtwlvHoAiEAy9PFkKbZv8Oy5p1N1mmQT2nqp52tFTCn1VoDgsBuv5Q="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.9_1560941927999_0.28601076324839725"},"_hasShrinkwrap":false},"0.1.10":{"name":"web-component-analyzer","version":"0.1.10","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme generate"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"^0.3.4","typescript":"^3.4.0"},"devDependencies":{"@appnest/readme":"^1.2.3","@types/node":"^12.0.4","@wessberg/rollup-plugin-ts":"^1.1.54","ava":"^2.0.0","husky":"^2.3.0","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup":"^1.13.1","rollup-plugin-node-resolve":"^5.0.1","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.3","tslib":"^1.9.3"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results","files":["test/**/*.ts"],"helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"ffafb04a7a6b732f88d4f72b488f38dfb77755b8","_id":"web-component-analyzer@0.1.10","_nodeVersion":"11.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-vI5AGMopSOWdl/RdIYce53oR/KoZiuluS8CSXxXOVHAEkEI3OBNn4+MrP6fe4dyByQDIuw/Ivyom0DwqAWttBQ==","shasum":"8a717733e207544a9d28f112a291d1e6ab1b0bda","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.10.tgz","fileCount":6,"unpackedSize":173286,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdE714CRA9TVsSAnZWagAA/QIQAIxIvTS6noP0yVSn4EE0\nFYuHct7Pe/MAx+w4W4AT/4qqv7fAiEc9TeJCn+mNwUHhFYKDHFaxRyHQfXdZ\nE7xUgnfIYAcEkSsacvcnQ2UJI91Xn2ssenf5bVljFyhhRlzzFxJX5zTG5Y4k\nX4QnEpsg9ywsFJzSl5FLYZ9wHUbf6GJWdOBilDtwS9sUuNJ1cQi8z46CWMEX\n1iw0GuxNE4KCBSEkCZxQAlcbwcZkWhpcu7Pjk83xyFS8S+ix3XT9GdyWeYVk\ngxxqvWmqEi8TMsbFDpoQU/h5Ukfaayzd2fLB4ttbNaWXWlyP0ZLqN+Yd7LSr\nrfeUPAG5DxgOZC7z4vpiO4XSyEvsqIm9tiUfoHZ/bOz7glyAXE0Ei8G549UI\nYYaSgDFOJAVKXJWutWmheiINvs5GXhuii6Yigy4hioLviGlw/+7SFzo2SUob\nnjNYGFzviGmy3AaK5P6/oYV8t4gtErRteW3jiioNN6ageJETIT1BiaSNbgUX\ncqSMmKdgPKwLIvfC/DDVckUF0XrFRyFwT2H2485aUZQzsTQMuWPH5tG3g6ni\nXx8nJmvKjYPhVEWc8KknqX5DqdCHEVH5O+j2ja21WVOw7/vk/gavP9mJ9RGc\nXaHSNbYQ81JciqrTvzbhQNV0YdxV83ktQUQMKm0/wTkhg0lJomjVw+rzHCRv\nu/D0\r\n=QuLh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBhrwLbyTOrSfDumOyLOUwQdopleicAoJniVVZoWSwwSAiEAqyzBwtpwHI47fFvrDh08mEITHy1h0IPZnWfTA/zOHD4="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.10_1561574775866_0.6148902183450526"},"_hasShrinkwrap":false},"0.1.11":{"name":"web-component-analyzer","version":"0.1.11","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme generate"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"~0.3.5","typescript":"^3.4.0"},"devDependencies":{"@appnest/readme":"^1.2.3","@types/node":"^12.0.4","@wessberg/rollup-plugin-ts":"^1.1.54","ava":"^2.0.0","husky":"^2.3.0","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup":"^1.13.1","rollup-plugin-node-resolve":"^5.0.1","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.3","tslib":"^1.9.3"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results","files":["test/**/*.ts"],"helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"353018290575b0aeed67af12065c986178d959f4","_id":"web-component-analyzer@0.1.11","_nodeVersion":"11.10.0","_npmVersion":"6.9.1","dist":{"integrity":"sha512-FQ7pQm9WQV/pyn+D1tKDNC0zVH7lQijfO8BDHY3S/C86jyMLVfm0ofNh+iYGt18idPN1Y5O8eUovgzFvaOzi9w==","shasum":"4a2f5bbcf5c89b5f5d8f800d2019c555c937b2e9","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.11.tgz","fileCount":6,"unpackedSize":172084,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdNPAsCRA9TVsSAnZWagAAYfMP/jHMvlqhEQbDg64HnWTf\nS61ckMidt/xbcj2gNhEpwk3Jck3wlfX0thDVnWijunPgPuiRkFRciDUNBVy4\nmY5Q6twgRYYM7rkPFouzVTd9fEtZGA+AXB1X6T5ly4z4RDopVUTkLLsfcoBg\nqCTVgMxr1KHNempogL+Yhv8lAt2ghB2j9L/NK58oL/J4B7z6bYoFU4/ZW/yk\nk7WCd4SpZauxA+BVC3sEqQ2LPxKopPdvUp6ltRUZC8xpuCaq7UYDFeXe0TsM\nLFT2ZUVTF8dNfQpad0wRSHTyp37chrW/4cxi2Ls2mmWYz1BRp7hpLXKWtDf+\njX4gYLIVmmDEAHomtnZJb2Vx/zSqkGC8QogfYcQcLPJEiLOIH38NLdSQECuH\n4ZqeeSg80WC/O0fexT9mZ/NfHbXPmUe7nwBU28R3XSYuM0H6lV7GuxbFQMPZ\nCuvOfGHC63jJOLBjq5s8EXN8UtcQ12+NSMExtklEuGkLt7lc0PVy41BTvnUe\n7RQ/g/myh2efLvKxkSqN/2Ur/YUfPBsrdc5BFoHZvg0xWH2epM3iher80G6d\nvYSCqHpNEEPK1awxONeAsMNyAlwaxmvy/FZW9lbjNYncmBDlsHSVjl5mWVvV\n+zHfz3Yv2dW6bV3OzUYYYe+R5oJndX/qgWEVxRq9EOIbACXOSoetqv7AGai2\njWJx\r\n=TmPg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGxHRNnL3bhQXLpTzXgoe9uKBEiCN9IuC0ExZTSt2ZuqAiA53mmQ1oUwRn/x8CtyAmcIGCXBX10DQlSXNtOGrpbarA=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.11_1563750443880_0.2180484148551749"},"_hasShrinkwrap":false},"0.1.12":{"name":"web-component-analyzer","version":"0.1.12","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme generate"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"~0.3.5","typescript":"^3.5.1"},"devDependencies":{"@appnest/readme":"^1.2.3","@types/node":"^12.0.4","@wessberg/rollup-plugin-ts":"^1.1.54","ava":"^2.0.0","husky":"^2.3.0","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup":"^1.13.1","rollup-plugin-node-resolve":"^5.0.1","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.3","tslib":"^1.9.3"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results","files":["test/**/*.ts"],"helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"38f47f92ddf7d8045fbc70d951477146911fd831","_id":"web-component-analyzer@0.1.12","_nodeVersion":"11.10.0","_npmVersion":"6.9.1","dist":{"integrity":"sha512-+NMQqYRBOLu2Wqr2elS4AumIrZzSab0I6yhDjj2lpK6RAdjNVXJ/3uYVtqMt4/HaOxxkTdJIhq33W2DMLh/QQQ==","shasum":"0cf3e3095a141464aef1b84eeffc33fdc0b186ad","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.12.tgz","fileCount":6,"unpackedSize":174325,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQ2aMCRA9TVsSAnZWagAAktMP/A5VHr6KwPcKi5J3EQFs\nWdaa561+OH1pUeHutYmxk9gOput2fJJLah2nqnCsXC6br1Ff/+NJlOtmsNfq\n+5+pp4vjEQazZdGdFDK/poj6OuBlu5buxC4uu6ImZ4cD1mIYEB9fdcaQRuyR\nh+yX8pNxtejBn1UiMmwZ1/5mQvof3niKRYNLnv8NuTUnDyYu93LfbMNhb9vi\ntVgXNUR0XG5KKRf1f+M2cppR8iHmiFH7MomdKuJuprUK0qi44xcnen6Oui7m\nwuF51vfTqT3bbF1a96jag/dfpb1kITjD239/UNT+GoGI7WVItB+9MyM9GY73\nExoh8qxyc3e67dtfIyyT+emCzEUPCiqjzHEvjzSfd1/N6djjMI2El2HPeDm5\ny32ZewQOXXxwKNcA6wL23P53IUPk77Y1ddbLiOp/kAyfr8SEC8ZJRVGCvWvH\nQ1bSZo1tTg9vbKeluT0Mbo65xlRiJUiCmIxXil+jsp1fopRhaZd8CwZqJ2iV\n9bntjPIIQkheUmE4fFrBdjZIko0ZVT3jiwtLsWg9zDeKAdoecPaQPE3tPaFz\n0U5GSF735avMe+hzdtKYyS8I7rAlyX+jJRk/4pLK9IvGYGgOive9yqgwlTI6\nZ5ly/TGipO5zOGt+tpVuPI3VKf82BAagx5tEPxa6RJtBE+AgyFLdbxkZlVKp\n/3dn\r\n=ubkY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDf7r6oYd+B7YGg1lNME/BPRZ7qo7W7XlvmD4T0CPic2AiAlPblgJ4/3mkEr5KvE8JTihkikP8bKSrD7AcuQPURl7w=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.12_1564698251342_0.05618754106562385"},"_hasShrinkwrap":false},"0.1.13":{"name":"web-component-analyzer","version":"0.1.13","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme generate"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"~0.3.5","typescript":"^3.5.1"},"devDependencies":{"@appnest/readme":"^1.2.3","@types/node":"^12.0.4","@wessberg/rollup-plugin-ts":"^1.1.54","ava":"^2.0.0","husky":"^3.0.2","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup":"^1.13.1","rollup-plugin-node-resolve":"^5.0.1","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.3","tslib":"^1.9.3"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results","files":["test/**/*.ts"],"helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"c8b34ca4f34f1ca502b914af431e94b86723c509","_id":"web-component-analyzer@0.1.13","_nodeVersion":"11.10.0","_npmVersion":"6.9.1","dist":{"integrity":"sha512-Gt8YLHB3K+g9VqyOoRLXXlT6lGaIpMn97qUkjNudP5SkSw2hZpMVHmij78aNRWSFH3ClF0F5mDK3j4GfTgleeA==","shasum":"1cb837c89e3f19e93bcea164c935af3e91ae139f","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.13.tgz","fileCount":7,"unpackedSize":195336,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdReyxCRA9TVsSAnZWagAA+UQP/Rxoyw8jbYlDla2VgtCX\n3eD1M2EfK1tiGO6ryM5Na+jVYh05fp5m6gcVNa7e/XPQ1u0703gHVkw/MsFG\nyJ47lEQkxZ7QKDHYwvz6qf0pwqavxuliwAoKy11VjwT0lPniygC3OJEgRjQu\nw4ZCemiFGV37iGX6NUetKsJJLYnV2ujCdUvzu2sEVyDvGspFT8FLtEsa1Z1m\nqBL+eRxoNq/yZ74ynFMMNYPpv7zm29qUX8/6iOKzc2w/twEOY+f0X5RokRtR\nmYjZIMAG++A34MOt2d+bJvVQjPr3OPc2Rw5T8/ZXJ/mZBFwkmggQEVpqWA1j\nGDWSRmZX/PdJi2GmoChlNdd78xOsk8GbIMGGWP5ABtfegQXsdvoUokkLXiFV\nVl9jPx6ipfgap9OfW5nShJV8KC+/JjN3dV4/aHOv3wsolWhGEAR3/rQAThw5\nxtjYyN9XF53cRM75TlOBXU3GbxumYxOSJ7dbIjH0H8A/4wbaVZDbg7rUITDb\nLhxdcwaLXypaJTJm6Fg3/JmejdiZ61/r4F3SO90m0worwLujl+JnMgrsbRV5\nsOGtPLIUWbcQqMVXcjWvKLonYOVhg3Sx+D6pJO4Ttd5xbFvtvx+KJS/WGbQC\nsdHVG8V5l/zPjQC17LBFrHM6eTsCsA+aThBKHqdlsYuw2mzbswgKkfOTMGqP\nOENC\r\n=q8L5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEVhMZ2zvECQpSfIUkmavrHIFqD55dAKw3VOle5wGfaQIgeNF11xqa55GN2QHbYS/E10K72LsPE8xQwt+hjImpQos="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.13_1564863664970_0.16164825862862164"},"_hasShrinkwrap":false},"0.1.14":{"name":"web-component-analyzer","version":"0.1.14","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme generate"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"~0.3.5","typescript":"^3.5.1"},"devDependencies":{"@appnest/readme":"^1.2.3","@types/node":"^12.0.4","@wessberg/rollup-plugin-ts":"^1.1.54","ava":"^2.0.0","husky":"^3.0.2","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup":"^1.13.1","rollup-plugin-node-resolve":"^5.0.1","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.3","tslib":"^1.9.3"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results","files":["test/**/*.ts"],"helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"2611c07b4e4c6b1e71de21094aab27c39f3d11e3","_id":"web-component-analyzer@0.1.14","_nodeVersion":"11.10.0","_npmVersion":"6.9.1","dist":{"integrity":"sha512-rzNe8ZYOi2jmbQGNuP8g6vLvVZXhiTABh1Z1WvwCy4hVCHHNnOrLYM8doRZa+2MU7AJPOshyOA+2Ku6yX7bKmA==","shasum":"836cab8892523e3527c43d8e8e8b7fdb7428e672","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.14.tgz","fileCount":7,"unpackedSize":195419,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdScfhCRA9TVsSAnZWagAAT8sP/2Z6gAg8nnnxVYyeRjDw\ni7G/xX982cnzm0w6iKdivt67CCpoiWlAWuoBsNEbpD88r9832ZoySAXrjqey\nRk3vsAfLp+79SeoFpqPZowXeD0wRy4AwZqtL04Bequ9DhXgoKnYm+v6QHEO/\nfxEKV/FDYeeaC0J1kLq/n46KZehSGwqUQd1k/2AfeBfMnTW/AM+AOAG/l9iy\npjJ5wUVEXn3Cse+1M1o37yvzdUNPb3LXDqj3P45e3b1l2nYPnEXKHzESg4TP\n80IrUPa9n7RxCIMOpWWeeToeVTsGoXfMV8f/5HZKYjlxneHN3HxV4TaOrrES\nNzyNW/0s/GCkDOQwlA0R9rK66Bz0QDY6B2aVurutnDBuBMBSK16M/0xfvIhm\nSuok9/qw2Vlv6c5d2Uv5SjsbpZBCsK2wVVJKOi2zwzPLL+kKddrSB9tZElXx\nwabHMiLrnM9TeUTn4WIswR8c+Csk91ESkIOx5lFwKuKEh0BcumspVc79J7+L\ndDtMyZDpX+weaEzD0xAHWT4IW9/LgV8zU7PR8NKZ55cH1nUHm4AnR6AFkYiw\nJitg0jevEIimFzE5HdEV1j33tgJyjK8vnnidgdyMO9DT4vRLCapn9q6Lb94o\n8RMkL8FzZkavybKLqJzY4UzoBFlSXa141dLY5aKvLL+8U2jYOZNR66ybJNLn\nl1gB\r\n=cJJ4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVeUss1Wrp9H6JpYRD0Q8vo24nsLwF55xp5SpejbUs9gIgSeIm8ak/OMc3w3ZQ//Rr7ZKMIS4ahXW+wJdZSmquR0I="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.14_1565116384984_0.9440389036108132"},"_hasShrinkwrap":false},"0.1.15":{"name":"web-component-analyzer","version":"0.1.15","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme generate"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"~0.3.5","typescript":"^3.5.1"},"devDependencies":{"@appnest/readme":"^1.2.3","@types/node":"^12.0.4","@wessberg/rollup-plugin-ts":"^1.1.54","ava":"^2.0.0","husky":"^3.0.2","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup":"^1.13.1","rollup-plugin-node-resolve":"^5.0.1","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.3","tslib":"^1.9.3"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results","files":["test/**/*.ts"],"helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"00a20221a8877521f548174066c1df5b93c021d7","_id":"web-component-analyzer@0.1.15","_nodeVersion":"11.10.0","_npmVersion":"6.9.1","dist":{"integrity":"sha512-jVgN2sVaPQqA5Y7TcYlSUdzTkUzWzIMGEsUeCxdki1kdhTBbe0Ij5jcNn3LYh5Kx9mAGutKIAua4UQ8Y8+Vvrw==","shasum":"a9eefd23c2fcb49c4b17786189d36c3e4bc3c89f","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.15.tgz","fileCount":7,"unpackedSize":195489,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdSdK5CRA9TVsSAnZWagAAHeIP/AktJu2rpXZcDsGmfniL\nIrmx7PpoaVuJcN4I0z4RaXyIcSDHnJy0QClhZXWOXqpI4xA6DTDJreKKxvwg\nuUdejfgOpsvY/83/2FII+YhLCgZIIHgmouvsaS277KAy5Z0LVMrCWlTnSSaI\nyPAo9l0VCiNLm0H/QRTfUO7rGZt+VsqwLJydSlvQuZFMRuibpPNp/dJue17f\nzRazYUWuc7gyhHZXXOjI2lw0hgGNQ/X6cB0u6bMJBsmvplMVfzLPjxXHR6Ad\nVUgdFwb5+1+FiPiF861HfXDe27/kW04fR3OAwTjcxrrEn8BuFFdl/yTcQqSB\n3WxL4+BTAyiVjhxAf08taMgSdMo8beEJY14rwrIa7If0fVvtVMnKUDc7ElIf\nch9g04RTWngCsrtK3FerBR5t+A3wLXV814r7H2u3nZdKiliHRi42L0FNoVch\niuXYflXEuM2HNetwn4e8qoJ7WMn1eY2HoWP5L0gFACf2CS2VWSP/a/YJl6Ah\n9KNBulYtSXheda9S2RUfHaRC17T9hs4nYdt12v0iZTlZsgQfbJAMpc0WScLq\nRLaWTUWfVl9EtwcPEe5c5S4+XRN08mcYrR9Wim+LZD+hzx6c8C7Lv8oCiZ6b\nMVMLEXD+qV1Xl0elN3Q+w9p95X84hdJRYXcxdoIt0JgDQXPuQP9Y88yNQ9s1\n22qn\r\n=iquZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDWQ4HdLWhDeLzGsReUP+SaMcOmvKySbjoPCiaSjrojFAiBXC1Q1jaKNMsqrfBFCvDA8YUhRsFRvF4kmEVIitnV7bw=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.15_1565119161233_0.7700892381083666"},"_hasShrinkwrap":false},"0.1.16":{"name":"web-component-analyzer","version":"0.1.16","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme generate"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"~0.3.5","typescript":"^3.5.1"},"devDependencies":{"@appnest/readme":"^1.2.3","@types/node":"^12.0.4","@wessberg/rollup-plugin-ts":"^1.1.54","ava":"^2.0.0","husky":"^3.0.2","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup":"^1.13.1","rollup-plugin-node-resolve":"^5.0.1","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.3","tslib":"^1.9.3"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results","files":["test/**/*.ts"],"helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"8ec3f27ea8ee76002ab3b8badd27ba8ce4db0ceb","_id":"web-component-analyzer@0.1.16","_nodeVersion":"11.10.0","_npmVersion":"6.9.1","dist":{"integrity":"sha512-NpGGVmkP9uk17orjTFNyxKwWfLagoJaA3azZjVMZPjYw+JMX9/QSDcEetaQudq+H7pkQRNXALQZPvGWYaj1ptQ==","shasum":"db0f60980d01f583c23d85fbfa58e7d6215e6af3","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.16.tgz","fileCount":7,"unpackedSize":199924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdYvVJCRA9TVsSAnZWagAA/1wP/i5ndLLGlZaPxeKRvesV\nq8pnqllthfvzHkvWmmqABP8aXklE9r1Rpcb5Kq4WTiJZ8MIQo6V8W80z2u3O\nUG+we4UHcMq+Ni/AX2IFyietYmRSeZVIGkXyiZn99bYii5aaDoM/UH04x0Ng\n3wrpJVfDwMP0IJ5pVlxyPPYTJNSPsCj/fAOyUsEKr1Q30UoDdn0o2wG/hZHv\n5ZD3LWvUALc/Y4mVPkF6Pe2swTtz7+nYoVVPAXrFl7YiTYzHo+NQm65ddcg1\nwZrDfrQNz7OLbUFq2Lu/7A68rwpktIMs3fcAJKWZRvL+rSdvou25cPOIZf9Z\nIFgotvvEBJTyGJSZRl0ecVaPcYuXsRh6H/fOVW6jYoVxDMjo/Tz+VzAPvy4r\ncLkT6IldvbdQ+OpK8hOc5/TVbY/fPkBNN7bkfEd3WbbgVUko3vtjiCQgPh59\nKaOzk/5pW77KQPQkXGFl7aJpFyh2Coft+Xux9OEXk7zwypXe5uyxyY1AY/Fq\nduhPIEsPvBnAWmcK302egzygc7K7VqR5uUcX77MlC7NhBzKKBog1wxg4xI34\njvIzf/zz4Ke9B439Kn43p4KLsq5MGx+21lnRtocWG4th8arxlacexNqpv135\nxTi5k4v633bF8NJNpZPP2sBazGtQW87914+Yb7goEMQJyCE/4Ey88VZ+drz9\nXCz9\r\n=RJUR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBQ2Ta+lPFj289tox2Kgmtx68+4CE2u9Iy/WSg2XA6NAIhAJrxsFjzVAiToMUIo9ml2wtdtn+lkOg60tEsOhoj2l93"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.16_1566766408936_0.9463352503011626"},"_hasShrinkwrap":false},"0.1.17":{"name":"web-component-analyzer","version":"0.1.17","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme generate"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^2.2.6","ts-simple-type":"~0.3.5","typescript":"^3.5.1"},"devDependencies":{"@appnest/readme":"^1.2.3","@types/node":"^12.0.4","@wessberg/rollup-plugin-ts":"^1.1.54","ava":"^2.0.0","husky":"^3.0.2","prettier":"^1.16.4","pretty-quick":"^1.10.0","rollup":"^1.13.1","rollup-plugin-node-resolve":"^5.0.1","rollup-plugin-replace":"^2.1.0","ts-node":"^8.0.3","tslib":"^1.9.3"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results","files":["test/**/*.ts"],"helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"5453e1d83d07df0fc199c2c980c44da7a1af68c9","_id":"web-component-analyzer@0.1.17","_nodeVersion":"12.11.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-U/GQZA7+DgG+vo9O/qnjXr2Rst/fO+5GQQ9ptzejLrVt/O46QFCHvJ9AHh8WSOouF3X+A1NYVVcJjJpD8SYOiw==","shasum":"1428894d0845de84a56fcfc2df90eacdc6a873d4","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.17.tgz","fileCount":7,"unpackedSize":199675,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqJUHCRA9TVsSAnZWagAA88sP/3k+H1OsBa37avETJRfN\nwXJYzJg0k50bIMrKpiqKYpHP1YwD8xCW59tqRhl7Fn46W2b6y0onm1hCn0o0\nkDku6XcvzNbqk/TfF2Rq4m2VmCpMz7N8IrEumle7JXASK/JGPEbQufUZqTat\nad74LxrPEM0CFebM5guBhR/txAesvfXSgLKatghO1nAW8ho1j0UyG2yOdITX\nGu651ewIhPmAqjVKtgmQEbchv2ICVNmHkrwb3u4eiDfEeDu/vYc9hU8t5IgU\nIAiaULEHMZTbBBuZPtnDmq0BSa1AB9ve6WcWPoHIW+2wyt9yMdgE+QZILk94\nUtDp0lsGBdLYQM1Qe2PkWmOu+2ayQultsBK7Cr1NV+r8iuhX3POLypgz/SkZ\nGBr6K78dRaLbMStWeilQD33o5Ja+pekzEyl7naoH4F/gI8/DmwxHZs0VID3Z\n9W9ZZroCeYlkLKhsKjVhMmXo4biYFfeHcIMz2We2gkt2HulqQHsz4CKL2hqo\n3dTiqsN0AbnfIqw696mLRBSAWlw8uFhv4j+b3wbWgnVp2j/u4ini0fbpaIkf\n2jmiYydRI/8YvX+Fkswnve8XT8cx2QqxE/4sg/Iw0diTP7RjCoixnpdJcBei\neUVRVbKs4O4iHV+hfrnHcU0e5dZqzHpxAm98N2wyoRjY5nrN1YYvN/tLrIye\nDBBy\r\n=Pu8M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA6GteQ425LaIYwQsV4/EQCJX/Mhsv1NkhzNc3RR+hOYAiBk4h9cjdFtZh4QKGDSuFfQjGgPwYt96lab8AzcaRW+fw=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.17_1571329286361_0.46677943697202706"},"_hasShrinkwrap":false},"0.1.18":{"name":"web-component-analyzer","version":"0.1.18","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme generate"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.6.4"},"devDependencies":{"@appnest/readme":"^1.2.4","@types/node":"^12.11.1","@wessberg/rollup-plugin-ts":"^1.1.72","ava":"^2.4.0","husky":"^3.0.9","prettier":"^1.18.2","pretty-quick":"^2.0.0","rollup":"^1.24.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.4.1","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results","files":["test/**/*.ts"],"helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"9d367bff322905baf5ffc2d9e9735c0398d5a47b","_id":"web-component-analyzer@0.1.18","_nodeVersion":"12.11.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-nqd13vUqLxCMO0qcnbZ4gVKHP0NMxz2AfUWKQI0c4xuBW334Sn/KrDrWDsDKZDUrpeKZq0y1DIlnEZjKpeiYMw==","shasum":"0ea525ba50dd470303c82dc00379a252fe80503f","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.18.tgz","fileCount":7,"unpackedSize":200708,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJduMJnCRA9TVsSAnZWagAAuVEQAJE+NAYb7Q092OfqKijI\niO7JRSU41HtsnzPg1EVYCC+CmOibNcYghwT890cbJIQJRBuPnH4PcTNN5cUt\nofFZlEebg5Jem9C+Us3f5wHnK5gd6c9oFSVTEXSGjNhNIwydweQEyhLk8GKS\nL8u/p+CAN0QwiVbj4WJiqkR0di6PbmEDQW/ze8beS2f6OXomV3sNUaxIKMJ+\nIKF345g79xN/omcLESwq3hb5H3Y1PCy88cQ0n8vUrDh7EPN6EiVY9HhxU1yR\nmI+RPzZAREPgb5i+1na9Ug/qEBXBN5W25S4W4aA97bQ5VpDV7pobhcYVp8xO\nzxxhXaMdJ7OGLQ+cy+YT/lAYbamLFP/+qqnG8dCWfaZLuOvpYpSNOf0LdbTk\n0HWZUp/ys6x1n+TdwZfnNZKfwVG1nL70ttgYleCDULqLrpEWUunx0AzXiBKY\nK/clWJ7YEdBom3Sxm8tjqGDMPTqZXQy/7gR47CqWN151vMagO2tpYiRUpdAL\nrVODKVnw7U0jT/lXZz8xLXMJ3QDif8X5duAfna0mt85EqwEIUIKg5bfDlb3T\nTElzMGQYrOJDD1FUj/G5OFNQw7+rjBCXuFvxQjJHFVAcMEArvSFh+75LsEvc\nBjTCZUGojFCIYJzWOXaxtjeeWYg3KNXprK608JZcDyNLTkQ6TkRNPmo5Kg7V\nhmBi\r\n=uuuX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAkjF38JeaBtiTz/HYJAf2ufaQzVyvpDhfAkIRJS9PUdAiAQjQ9L1JZ06ZoNBuaCX41H6iu3H4z75/BPAJEr93Ey/Q=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.18_1572389478541_0.9933698533817088"},"_hasShrinkwrap":false},"0.1.19":{"name":"web-component-analyzer","version":"0.1.19","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme generate"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.6.4"},"devDependencies":{"@appnest/readme":"^1.2.4","@types/node":"^12.11.1","@wessberg/rollup-plugin-ts":"^1.1.72","ava":"^2.4.0","husky":"^3.0.9","prettier":"^1.18.2","pretty-quick":"^2.0.0","rollup":"^1.24.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.4.1","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results","files":["test/**/*.ts"],"helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"90ae80f8d0012ccd155533f80f8611a24c3dd3b6","_id":"web-component-analyzer@0.1.19","_nodeVersion":"12.11.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-SF16YF/0mu3+1C3H+fjlMuKVT9Asak+LR3biLZRqoefqLwaNOpnrYvSGO3wzuJOHmUM9++6fvigLU0+Mgnu+VQ==","shasum":"17b573d2cfc62dacbf43734b9d1e7e7d99246650","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.19.tgz","fileCount":208,"unpackedSize":599348,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvg+hCRA9TVsSAnZWagAAcoQP+gJQqcC+ILaXaJHXDSnz\nuNbkuPJeGZrMrU3FNDHXTpWnKEnYbZM4MaNvN1fsV3b27exmiB+7OeiBHN6X\nJmsOgUhVVV7olDJoBqZ41nE7EWUOKfFjbaJ07fAi65ZuWtAvwzDKX9pb/jhG\nTgEjJOdaxyIIMN3Fb1bM4wEBG3uT11URtjJuAtgcteSSxU1eojBZXd4K+KK9\nZDE3chAjTXnLlVDdPAR3NcGNWiPlHu88mYmenM1irA/I4ytTrLGHgZ+aY7H2\nbVoMORjBA00lgj+6/6iOfPp6uzjdjeyJWxJBzlRbZYbZrxJpPd62Pq5hSDN2\nxm9g6rCUfTOXc/87Q69GEOoI8egL00v8ghgUz6e+MmJKQP3IERQVoqtcXWDo\nxjrNWFzWQhrDeWO436q2MhLZuNHNgnQMPNB8BaAG/8SL8ntyZm5q8oy4u505\nVXgELG2c/TugZVqk2hNFyNtn1kEUydEwenOxeNwSbL6j+hMcdi8YAmKeXv2B\nKu32UupbI//rJhf/K21CEIce3L4DpklVrWcS5BYVbZUyOYMOKFoMcjxJcUR1\nETei3OXSN2ytwX2CjuU7CzlsxlZoAaa5na8W9PaD2cbxsELfNJGaNljVa9Hy\nBP1Oow0SABkZ8Kg+JshsRADXIUzMhSEvvdAF9e9zUoOXGiWm2LXGbcdv/SOL\n+suA\r\n=cilr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA/yVEnYh139BvInQqzOqNIWZLLt8ir+yE0k0A8xQU0WAiB4weXjD6BbatmJz7wEtmIOjg1c9aKFxc+7jiDtvDQigA=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.19_1572736926659_0.42796796122836844"},"_hasShrinkwrap":false},"0.1.20":{"name":"web-component-analyzer","version":"0.1.20","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\"","readme:build":"readme generate"},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.6.4"},"devDependencies":{"@appnest/readme":"^1.2.4","@types/node":"^12.11.1","@wessberg/rollup-plugin-ts":"^1.1.72","ava":"^2.4.0","husky":"^3.0.9","prettier":"^1.18.2","pretty-quick":"^2.0.0","rollup":"^1.24.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.4.1","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results","files":["test/**/*.ts"],"helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"f1e6da188c06b240e19af578fe3d9b200a8db2bf","_id":"web-component-analyzer@0.1.20","_nodeVersion":"12.11.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-gRQs8QoWlolyqhP8X/gVpeutiMPhZSyAxgkiuVHMf9q5B64U/Ap2Aec8JXQDSjayo2Yx7woigYaa4pvN9QATJg==","shasum":"5d16425ade061da07452f35c50cd7b23bfdad270","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.20.tgz","fileCount":7,"unpackedSize":204940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdviCJCRA9TVsSAnZWagAAJwIP/RwJCjcUdtlRRTxSvkdC\nBRoajlMkkUvvMzu473XQlaJXM7EUtaB+AkzbnWTdJbn8fKXIlI61h3uf0Esl\ne0CHJfB96c7wirP7ELImFPZvN6EjknwC1Mfb1tX4kYiiDF1fvDkpdcS26n1n\n1/r5pGWdJwmRrTr5Nz11KY8jGJD39ZuBRKc97mW836Xewv+r2KX4G97a8bl2\nwZAwM6TrKvEKOZ/40tfve6lAyboXr4BClzxjgKwKDJbkH0tqr7fi23yPg5wh\nXHvwgLp+glo7zerOl1T1aWnPsCtBbDHyQX0Hftz4yF8HsIvJ21JJscPPTygc\nymELjs/RpmYyws7czsRaCUMgmgzXy65sNxbNixZTMkjTmKRu9YkarTarSXOW\nUOAIZsBIcwrWVnxlMpKDzP95BukAynHlZrJY2/l/gYKosp3oRGaMUDsQPjDa\ngAbEi60FkSDTZ5yNs9Gw3sdj4GaiK8GSbNFxsganIvwbOu8lqxDhyH/qh0B0\nzzFCIitxx3V/OPVfm9XP7FvwxK+xs+8jWg8rZS3IRR7Mbw0weKu3bYLdA7sb\ns58AGQKP/JiTQbxJ1jVzZpNOwTa1tIFeVm/HOSMUqin8foVWPmYKbASw38oj\nKyFFCZGvHrcxvOebDpmWobR2L8Q2jNtw6s/K80NxgbQyf6s5m5VWrCPF/wUY\nUBm1\r\n=EnxR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF7zGhwdEaXZukGcmT1eq0Wsp9lLhkZ69zkOtE6A3V5BAiB0Kc45uLDejXF1vGT/0hP6v/wgc1bz6Qrdf5/APdGjjQ=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.20_1572741256681_0.84383665120304"},"_hasShrinkwrap":false},"0.1.21":{"name":"web-component-analyzer","version":"0.1.21","description":"CLI that analyzes web components","main":"lib/index.cjs.js","typings":"lib/index.cjs.d.ts","scripts":{"prepare":"npm run build","build":"rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.6.4"},"devDependencies":{"@types/node":"^12.11.1","@wessberg/rollup-plugin-ts":"^1.1.72","ava":"^2.4.0","husky":"^3.0.9","prettier":"^1.18.2","pretty-quick":"^2.0.0","rollup":"^1.24.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.4.1","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register"],"snapshotDir":"test/snapshots/results","files":["test/**/*.ts"],"helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"gitHead":"17030010b4d841d3aa201e3869898beff939f97c","_id":"web-component-analyzer@0.1.21","_nodeVersion":"12.11.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-ZDqV4fZ60rDt6pV6GFDtVG9uioEAKzrfbHT92/4q+Ps9IcPPtaNAJxoU6kcNs7htedjPlV7Jbz5yUFlTjYxNxg==","shasum":"987fc47802c966004e3f51c8589bd70fd9db1d27","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-0.1.21.tgz","fileCount":25,"unpackedSize":641177,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4S0FCRA9TVsSAnZWagAA7T4P/1JivQ6WMb5TuUz2quvG\nwCYpAgn8yzp7nJT3aHL1Kpa9v1ZfUUN39Z9MyqWZE0Q9/K7W2KM1BQquOZfc\nZJ/5u+bRZ/w7XaA+Nlob8f/WgfSzRN6Rez0oaWyiCrZCXcoHrQpZlLwv1ytz\njy3AX0IS3aw/YKWCbG2Keb6e6R/j7P0Ub/+Kalx55M1tCYcyzykQb4eS0jdI\n7CxfBEYv5n96ywhBJiV5r66OILzoscj4q3V7OXBqG/6xwbsi4xC823g8pd1d\nCmrhXczKc2Umjvx2NOF3Ub6lD3G+VuyXfVXwVqR5pgfeeyTWX1YJ68ObQO3f\nDNiGzav6baSvt1rlyHAbf+pBt5IHz/TKfpzhJVr9LaTyZNS3OhDXx/OQLIAs\nOp6X3S46J/mi1y8if5UbI6ygz4U8GosQfvmp9rOtxAOPWdp2lfxd/g2cbo7F\nCFD5iaUXY9s3Akg42/vDautd5fv7+E6r1VFzD9CJxSASzEtEFfqbs1aWkuGZ\n15zWcwv6fqd+nGrW2jpVklEjex/mHtYeLELXlO5uem02t/HwyiRuFy9JIXwP\nrd/y2IVbitLErJyYKI5UMt+tFkl7aTbEJaWptRY+PuzVeiXFui1IXxy0Zmkd\nfm4+k+cI9Tnk7oQZIEH6ejE0WHObYHgnbc7VO8wKQCxoJha2S8IoqOc7iClk\nlLc1\r\n=w39W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1rF2zJp1nmLlaQqaEGuqT0B9K9E5rTIOVd8q9UgUGWwIhAMyxIbppUTIWrmRJfHmrqKKZpGe9BKDcw5tPbhz50Ako"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_0.1.21_1575038213056_0.6685159846265667"},"_hasShrinkwrap":false},"1.0.0-next.0":{"name":"web-component-analyzer","version":"1.0.0-next.0","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6"},"peerDependencies":{"typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0","typescript":"^3.7.2"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `input glob` and emits the output to the console as default. When the `input glob` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option               | Type                             | Description                                                                  |\r\n| -------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format FORMAT`    | `markdown` \\| `json` \\| `vscode` | Specify output format.                                                       |\r\n| `--outFile FILE`     | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir DIRECTORY` | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Documentation will be added as soon as the API is considered stable.\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeComponents } from \"web-component-analyzer\";\r\n\r\nanalyzeComponents(sourceFile, { checker });\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr my-attr\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop --main-color\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"e4eedb99a4491aa38305b9e14789ca21d2304fdf","_id":"web-component-analyzer@1.0.0-next.0","_nodeVersion":"12.11.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-KPydI1HKLpmINjmrZDTjCXQpmeklWJT8yCrcDKrKW0dk7Oco4qk9g2k0CybjXgCiktmkPe0Z2rYTHiqYMWwRRg==","shasum":"9fbf07de1614dbb01bf76d03f8434f7120a846d6","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.0.tgz","fileCount":22,"unpackedSize":449953,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4TjCCRA9TVsSAnZWagAADhIP/3k0ircfFfZheNUKhexc\n59PiE/P47MhovucIKc2PDeEVFS6v0xhsQBLpi7X6HgENU+1FWx3rfUTRitXX\njGEX9ZCIPo2Nz31JtPkXfOcOU0PgaPz+WenwnMgDmWaIYhBM1OMKkkg8d2IS\nseltcScq5kktEOTK4wzZBviI1ziesyNOahqok691cSHenSJMvf+6v8Fwp8p/\nmb8f2DvrxoIqusdZuIX8p/c/3v/p+2GguteJr41jq7asCmmMF3O8XVwcAtpC\nQePeO8r1v9SgB59BrtB8VGEUU/7wlxXrxL6H6fofrmkIAm9HmtUX2kbUVO/o\nweM8TSPA7aWrI//nyd21d/VWzZ1kiJkX8niszrFPO9bghwRwfAt5SW5vanJy\nK21WvItD+OYBZU3AIgJxzFLL3IicCJZHsIY+QL0WvFSqljOFl6TkQ/s4juCS\ns8wRsn0WUUwXTyI/hGKwspnQDCF3W0J7KPSoKCabAj75Gt9qReE80KRK/198\n2by0xx2edhU2hqQBdT5oXxPwfykTgQPNooTegHVcoVXD4+iTIhHOFocFqmDM\n/qrnErtSROyLDuBFaPCb6qMf+iK4fU/ot7rFCgDhOgM/xTRuAd6oci+f8IEs\niG4cY/xVEp2d2cHkSYxAYaCmkeozl2/o6e5JisipfsRxyaojoPlop6aC0pZi\nFlxj\r\n=+4/d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEE5y6Y7U9jp8agTKO2D30IalXL+ue4fd9rs/sdqtNFeAiBnfVvIOsN6VLfXTbO1+nrPzKAV/XjB6NWyTXEr1Ud2mA=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.0_1575041217877_0.9713294127022971"},"_hasShrinkwrap":false},"1.0.0-next.1":{"name":"web-component-analyzer","version":"1.0.0-next.1","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `input glob` and emits the output to the console as default. When the `input glob` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option               | Type                             | Description                                                                  |\r\n| -------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format FORMAT`    | `markdown` \\| `json` \\| `vscode` | Specify output format.                                                       |\r\n| `--outFile FILE`     | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir DIRECTORY` | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Documentation will be added as soon as the API is considered stable.\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeComponents } from \"web-component-analyzer\";\r\n\r\nanalyzeComponents(sourceFile, { checker });\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr my-attr\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop --main-color\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"57f12a517f594397d120feea7f62403d6ea6b940","_id":"web-component-analyzer@1.0.0-next.1","_nodeVersion":"12.11.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-eJ44zgejAbxED5Jtxq9mzcwxg6VV+1giRtfuDbQpHngU+eHWINRcyU6hqfsP/rSAGpol0pePyzkNvsXr/BoGSQ==","shasum":"6b304b977ee209b1831cc7e4db9f3209ba643be5","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.1.tgz","fileCount":22,"unpackedSize":449901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4TovCRA9TVsSAnZWagAARXIP/ReSLakcEmeYqxbAVYRR\nx2LW+kGYWFNEBRTqVemTKW27HL5Jo/KqQtrk8khOUYG/XrCMTgSP3a1i9oLx\nc/p2k7VDkLF9hGCaF+5rN/BkJySCm64wDuKt2OGY5BLLSj/rUT7woFYmdypS\nKkrbAQ/PaaSru+BvluVDS59gwiQOB2o90exqLQMNVeNHjhuiX5YfxU0k45Gs\nuUkZPWLAV6VU5LxjQQxGeh8NEfNMro6pPC9uB0OcDOgAAcr4UBTsp3qLdfHN\n1C8b9czYT2XFu3z+jYAzCDxuG2CArEZ1/0Iw4kIl+pacJ7F9UDK2YHD0PmoK\nhfzUBFSak++twW5OVam5jVCnlRYzrya0w9Du2xQaDfvwm0xoNzjjlHqtZDNt\newRRdive6VEaMwXM4C+s8rwrD0+PIdK6mE84Dm05r77msiXzBWkdXLA/DsCP\npOz/IdAyAT/CySOLjiiw7+ysIRNklYt8RfYFapMYshzhCdHLPdk6RBKfnyZN\nDYbzq5Xs3vfxbkGqp1JxDMNv3hwEbYfYdiFtstenTWe3I+Sh3x5N25OJpOEy\nVNYQZUGsPEG1EKBMjSBgV3fJ0qs3U20ruXMeUgtezWDkUsKS/DUbGoSUXbNZ\nuAhpnydfF7MTxO03deX0y1WEZja6XJU2l1LxEcOnYSKzICE7JnQrC4j5z5Rr\n293m\r\n=r8jS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNRtMPJqB3hRWXkLU5toRhzwDFX+pT4upkVWCB2O/yUgIhAMknHZkCdFX67G4qmugWThsIEAPFvL6ysNibkyteNmUw"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.1_1575041582803_0.09473947234137237"},"_hasShrinkwrap":false},"1.0.0-next.2":{"name":"web-component-analyzer","version":"1.0.0-next.2","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `input glob` and emits the output to the console as default. When the `input glob` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option               | Type                             | Description                                                                  |\r\n| -------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format FORMAT`    | `markdown` \\| `json` \\| `vscode` | Specify output format.                                                       |\r\n| `--outFile FILE`     | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir DIRECTORY` | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Documentation will be added as soon as the API is considered stable.\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeComponents } from \"web-component-analyzer\";\r\n\r\nanalyzeComponents(sourceFile, { checker });\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr my-attr\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop --main-color\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"cd6be84800e45f5d40a85c9309ce6765a023e890","_id":"web-component-analyzer@1.0.0-next.2","_nodeVersion":"12.11.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-6TEhDqFOjJKMnPOp4L3eK3F93nTplGRbwId19UiqwnWKCu6CQ6pO3svtEa211SWdhmdeaTghf2Y9FiNyB3Rs6Q==","shasum":"8871326d0a82c8d0d9a13fcfac4f33d91e9a10c3","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.2.tgz","fileCount":22,"unpackedSize":458760,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4sUWCRA9TVsSAnZWagAAKasP/RF4snE5YiCHTkKWoOoO\nFTf0UnIL/PXR5ndsNPx3JnXQfMu/TcIYeoLj/OSyTsDlw0n4aTlq0hsQueqB\noMjOGPZZ5mgZbgcZJJdVk/Xq612C7065dz0+8DMSOmgxI09xDGrQm9LQ/P6b\nXBCBByE/dFsMFSsAlAiXe7y6gWx+DIJOz7Sx9VLelCtjt0otWMQM2YvDBYHj\n/xLEL6Ool8i0kvr2A9qDbH0jMiAfAU/C77HDWPB0uJd71/aOZqLoZ4q9jrCV\n5oRjVEaJqcSzTc5EpOlz5Y8hwVs3kPEdvbyzVWEjpa9QC0f2MGmqhMP+Nbrn\nBlHnXUM1kVIirivTvvMm1ilOGHb1Fe+tmBYXQXaQQnrPdt6jV7UwFP17ght4\n+Nf7w4JmSxbIyDb08opmZoJV3LcrB16wVEdfbKFbnPfC9mTUucSXzGooS4b3\nhY/0KAYATk9POL21s4MY/aUFhaFABr9yVCbE4vtbHNDY0rDWOO15O2BXA+JU\nqNFiAmBtffdQIivSAY2kjkRYL74w0RH466h+5tFxcHP71NJFGORI2uynIPMx\ncdm6HF4W7Wz2RwHVHCxDhQDMiBiWmIWjq6mxGBWT602pvulcLdjluqMwRnLs\nRuiYkbWmVYJobzaU0R2x4dV6wp4lG+piTSvnZ8OZihQ2F/qwWZsVMe4CZ9e2\n39Vw\r\n=26uA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCR712BkC/ly7svAP8kujezxbs6baixyls+UbnpT137TwIgNxs0dE7oHdxQFIuK4on3lCgTEatNEybCRl8PYu6ZcbI="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.2_1575142678443_0.24167563366286293"},"_hasShrinkwrap":false},"1.0.0-next.3":{"name":"web-component-analyzer","version":"1.0.0-next.3","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `input glob` and emits the output to the console as default. When the `input glob` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option               | Type                             | Description                                                                  |\r\n| -------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format FORMAT`    | `markdown` \\| `json` \\| `vscode` | Specify output format.                                                       |\r\n| `--outFile FILE`     | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir DIRECTORY` | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Documentation will be added as soon as the API is considered stable.\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeComponents } from \"web-component-analyzer\";\r\n\r\nanalyzeComponents(sourceFile, { checker });\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr my-attr\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop --main-color\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"dd680b73f2a7afe802107a0eeded676767b9c595","_id":"web-component-analyzer@1.0.0-next.3","_nodeVersion":"12.11.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-ntZQA8/X579LTFgzSLPQHWbEUiC69B3Lcq/KK1gkr6Iugved9Mu42Hbo42QImZYCbGfh19RlPTHe1jjCkz/67w==","shasum":"bb84bef9f6cc6bd7c54490b081c3db92d33101e4","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.3.tgz","fileCount":22,"unpackedSize":459848,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4s1zCRA9TVsSAnZWagAABaIP/09RYt11wocDWaHSyHGp\nd7eCZXqkD5/8cR7uGebWIImUEH/dEiJsZIUVhZRqjhmSCYw6W8uFSr9pg3PR\nIixiL3VjUGB7mxdz54vEjSQvXxgUMpEkS0VGyRGbf+Y3rKXcU74Z9LAzgAfE\n0PqEcIBtG1qqWYs/KLwdLfpUAQ9xmkEHqDc5iAQx23ntZm4hGAs7l66x8+R6\n5sjTIU6SUoD/UAA4cuYOoFNKVebbysb0KoLoZy701CcS14q722aSiCb3Pzjj\nvJ/RMJgnFl5oMJcXOlO36AXMQt1DuhyaYooGVw11aBXLapGKnlZatPxjQctK\n60nOCJI/WucnnqdZaaPnWgeI1SDoDmwlaDSQqfqNwo1oB70vUuQrYjD4zHfS\naRiGNAuY3ADzO2pPZt9GZeAf7BlIFkvql8OCeK26ysTG5/pT25aF1BxumFA/\nHunLkdou47LqFIjT6VJxSJMv7ytQ+oLFBTQWr4vU9CoXbHlvsx8WnEUUbZKN\nyl4FWCEahfm5Dk2b7/lDHEcYogRGxQgPksYwalp4SCS3vKEHnnWc+5EHlIgQ\nsGjAvt8R9XQi2BtjbOnlc3r+vxO0oAgSXf4yeQrenWb7x1ltuuctOfQHF6vX\nWcfypqNthywTS7v7coOSBd/lPIH8DW1g9nHorX74h+Y6Ibvx7KyeznYWX3q5\nvtak\r\n=DLZ5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPbgay1WUXUOT7cDJN7OAs+wNm2XTxG+vkY6gW41I33wIgRNRoIChhK8e0sR9L1+uxpk09q8+yVPV+Ze2IFPf161w="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.3_1575144819206_0.12160923670951784"},"_hasShrinkwrap":false},"1.0.0-next.4":{"name":"web-component-analyzer","version":"1.0.0-next.4","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `input glob` and emits the output to the console as default. When the `input glob` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option               | Type                             | Description                                                                  |\r\n| -------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format FORMAT`    | `markdown` \\| `json` \\| `vscode` | Specify output format.                                                       |\r\n| `--outFile FILE`     | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir DIRECTORY` | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Documentation will be added as soon as the API is considered stable.\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeComponents } from \"web-component-analyzer\";\r\n\r\nanalyzeComponents(sourceFile, { checker });\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr my-attr\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop --main-color\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"f20d85bc85f72d858e61ba21b9c905027e1b2bc2","_id":"web-component-analyzer@1.0.0-next.4","_nodeVersion":"12.11.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-vcQSpgIjINAI0k865lrFj0TZ2xQeHKkuBMZVSKw/e20OXvQaSj1zcKSm6pZEKzyC+gaEJx+dcNWAoXLq5m3abw==","shasum":"7fbedbf30a1cb57699d577eaa9e3a78817a1e598","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.4.tgz","fileCount":22,"unpackedSize":460328,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4thxCRA9TVsSAnZWagAA68QP+wUAtcu/+tpCwerpmma+\n5ngBu0GenWExLBLqaiSP9Clw3JKTTjpnmCWyI+ZF9eeBQdpvJpwm0FPJWM+M\nvqUbQJ5LjiNBdSE4BYLhZj6vnRlE+Z4P18v7jbnWp6xquqT/Hib6Ogj1gu91\nzfYVG9geQQMdIi7kxzUC6A5Op8pueB6L3UWJ7L9PmQvQzED+ZmJltCD8Q6Zr\n0hGCAFGgGG7+DdXcJPVezy79a2TPsfg0oCjOVB8LMNVdfCkw9Ygy7VaX+Awa\nYZJGSB8YduqCWgTH92elx/7FtEsGqJw1iWWIwLFUhTY7ycaZjJzj/qP1Kng0\nhfBDaqDsXq/q2PY3VBytUubY4ShYyGnDumZAOHamLoEzY+KAb+7tVEyWbZ0B\nvr4BpIsYIjDXMiInv67W1/kjYYZ8kIrs9R7NODBR7XfIwBRQ7RydjMSWRKSe\nkRoWhaWVxAZLeMRx9xps4KbQ9QuKg7aM4LEf3StldPm4bEfftgld5AIojRw3\nleJHhRd3lN6X+cPcOs5VSqf8ai8H4JFks+S4wrRJd08JYiof96ymlyKV+Ulh\n+g/gRVzPbljOw90Cs/qgGhzZcX7MrCJTeE1Ykdmq9wSm2hSaPY+LHvPWdGZk\nVQ+PHfGnwxcdCL9x8/EcADuAUMPyNnVMvtj9IPkI1T14ge1QcK3/ws7HxpmM\nd103\r\n=zksD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDV/rm6NmomAeT63e3jnE8LvowhndwmvF0pSmhD8eHArwIhAPUZfK18c/cK0sm5jMQIon0bv4UeeOz4cNJgsUzSx3iP"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.4_1575147633302_0.08961206308515735"},"_hasShrinkwrap":false},"1.0.0-next.5":{"name":"web-component-analyzer","version":"1.0.0-next.5","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `input glob` and emits the output to the console as default. When the `input glob` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option               | Type                             | Description                                                                  |\r\n| -------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format FORMAT`    | `markdown` \\| `json` \\| `vscode` | Specify output format.                                                       |\r\n| `--outFile FILE`     | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir DIRECTORY` | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Documentation will be added as soon as the API is considered stable.\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeComponents } from \"web-component-analyzer\";\r\n\r\nanalyzeComponents(sourceFile, { checker });\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr my-attr\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop --main-color\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"6fcdbdc08ae3a70ed24d0d0b324d2caddfa64f97","_id":"web-component-analyzer@1.0.0-next.5","_nodeVersion":"12.11.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-mIqn8CshgCzmDhCKJ51zQ1TguF7od1ib4hEqoM9hNzVbSVTzxp6zFe2XC0wrukPZ0EQ9nKu3FDbXezynKCVz6w==","shasum":"111c54f15910559dc6d12e7d22add94a7971fdb4","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.5.tgz","fileCount":22,"unpackedSize":461384,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4wUSCRA9TVsSAnZWagAACf0P/1zKhUnJIlopFiBHWytq\no/W3h2bldThkTfQtL1nxUyokY7xnU+AXR2xNvjIP4op9J+H8/98njUEvX6gy\nBeQ3DurPVVSSfYCvgjWHNpTsOGOUVeCarZc4+UqJ3MqFxkxflStEZeWHiq00\nQwuLclDcRaEHfFvt+WGg08xlN6gdo+jkpHJhaNDTToG6nU9zPRhIsrbgMTBP\nP7zrp1iYnIH5hLmC2sEHUyzVDgc+nBOJGusEDJpSWu2XAf+4i/zkNkofR3zg\nivyKZJkghs6Q9DHAVJemDL+mKeZGAbJvecb0JaxzCTMPkdLw+hp+sbG31eBl\nhdCrghDSFCJt+Ipwd/52DJrGn1gY3VJGgztG3VjLYSR3AX22Ijqrj2J5Ww8M\nYa1Pm+3t5jtHcf5czAe5CYns9CnXj3xAh7bzFJLPdGvt2KFHjYAgOt8FOSAT\ndHXpgQq+iJgbCvYgUMOL87zn0KB1HtOCvCOVQd7Un5q26RPh7p++t72/N+TD\nwxstHLsEU70+piipA5vw/bK5+AgK7jDsxpR1nYk1VUg40DMR8HTNaBspIeZ9\nylCYtJMGp7RNiKT2+a9EBWS4J0TV7kA5OJF6Md4n4INnEw3AgO2SVzGEN3tX\nDGSgFVQ+MvBr65+1+KquuDSfpYvwxjKjXhKbQ7ClhTpUw19YrpGIiRdJZtyN\nd8Yv\r\n=AdMc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAResGnqN5VCSflQos0U/RGZJq/mw2Ghxh22W/Aj5pw2AiAPFa2OlYHT2p3iFBgfOGtDWOuzWaSkbJq+QrCv2Cw18A=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.5_1575159058121_0.4391063984246477"},"_hasShrinkwrap":false},"1.0.0-next.6":{"name":"web-component-analyzer","version":"1.0.0-next.6","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `input glob` and emits the output to the console as default. When the `input glob` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option               | Type                             | Description                                                                  |\r\n| -------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format FORMAT`    | `markdown` \\| `json` \\| `vscode` | Specify output format.                                                       |\r\n| `--outFile FILE`     | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir DIRECTORY` | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Documentation will be added as soon as the API is considered stable.\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeComponents } from \"web-component-analyzer\";\r\n\r\nanalyzeComponents(sourceFile, { checker });\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr my-attr\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop --main-color\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"27913390e0d02ad18d2ef46b22dd4d1833ef6ac5","_id":"web-component-analyzer@1.0.0-next.6","_nodeVersion":"12.11.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-CpIlukF0ayhoyLUCabs+iOEmLTdxle7h08w8dS9axnGrSD/L3/5p21IekSgT63FZVf5ZoTUt3fc3ia5zehpi8A==","shasum":"7a4bfa8c459504992accd4cf59decbdfc507c3b6","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.6.tgz","fileCount":22,"unpackedSize":462452,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd44WQCRA9TVsSAnZWagAAOv0P/1ORKBEk8wpsaFi3VSdZ\nqeaefQmm9Kb2ERSqbA2dFdhVwQFz010fZfwaDG5jQq4/McIGqISgNu70dQUg\ni5ddMAxwCgV5CGktiEqWNT8kO5xJ6Kps/5xASz9tHN7LONPmVKGNksQ/6T6Q\nZvG1/WVqR034N0f3I/3H1FE34CUs3N6e2JuocjGiLo/jRZdetR1ilNWR0gDR\nJXShtGrmLmdfKYd/roecxpjjih455yu5wEf2mBY6XvfmX5z6Y8Z0bnIFda4e\no7PYI0c+++fr1QfFDa0JPZA9XcAUjOX4I47Fm6DzHU00f3XuWMX9XC8hVSMB\nzHsmGx5kSbKbp19KJGMxxyeG7fAAnJwY7ihjJo0OU/JoWMMfQQZdOzVmdqCh\nVAxpdv+vyQTvrp0Z5H9mOn+mFhasWlUqyQ/7Zk9wcup7cirge/71qUsyL24j\nDW6FizRwYIai60Fj/6hRQNla7fm7vvU5G+XbXKvWVUkK0B1okVlozJSelMvd\nBqaWcwpTsMN46TOELm4uyId/lzdScdkqKqofrdaPGYYacVY7PDIZ9vVF17iE\nIVQnckqwpjE4PrtMnnLdkGNcjTP9/esQk90heRsxHPKI6Pf+1xhdJHNIAywQ\nqaT6njTvADiY/l4AEI6/HGCXNGpY/SNkaaR1vB9TB1lkt/MMKclhdwk7GenC\nZQNc\r\n=w/TY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAgjsOQyEnr3Pxe9Z4U2qLHUWf4B9OEOofFvAxTVgvSDAiEA5UonXFyhv2hNHG/8JBmFCEq8/GVEO4yQNgOyzSUX+8k="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.6_1575191951933_0.6709634969761855"},"_hasShrinkwrap":false},"1.0.0-next.7":{"name":"web-component-analyzer","version":"1.0.0-next.7","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `input glob` and emits the output to the console as default. When the `input glob` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option               | Type                             | Description                                                                  |\r\n| -------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format FORMAT`    | `markdown` \\| `json` \\| `vscode` | Specify output format.                                                       |\r\n| `--outFile FILE`     | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir DIRECTORY` | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Documentation will be added as soon as the API is considered stable.\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeComponents } from \"web-component-analyzer\";\r\n\r\nanalyzeComponents(sourceFile, { checker });\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr my-attr\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop --main-color\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"26bf34bf4a8211900d297c141c8801aeefb2db49","_id":"web-component-analyzer@1.0.0-next.7","_nodeVersion":"12.11.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-ljaVypKiWsLKmIiXLF9DIIptLm8IBR7kg5g8wO0O/spIUDB2CQHbNfWKepLNysP/LGBTLxoFKuH8ak2oQCbccQ==","shasum":"18b510d724c6ea8031942ce967326883d460ba9f","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.7.tgz","fileCount":22,"unpackedSize":464514,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd442XCRA9TVsSAnZWagAAPiAP/iWP+oXJK/g19VKMUYJ8\n9vMPssZDE38uBAbt9Fy4aSOQrnKuKx+yZGZAgzTLwV8K5FXqimZKJvzTnTPM\nsoXOA4THnbtCGVNg8TKJwzOQP2ZuOLzuDMJs3xEHeg35nzKtXmCx1KB5iJUi\nFiWFrR4H22i46Ooe1IZsrOhoSKo8x1Io2iOIWyuLVck3o46rBaZKWQBX90ef\nJtcrlpk2dlhmuz78vQfFQjmVWKHCWVx0xww7+hGdme35lWQ5VO/c11Dv9JSr\nkF90782fZyY5k3sAynxD6S5/YhuionwtvtaR+EnxP52zR580b/jIZ/WOXOpE\nuns9vXwe+BOpYaaTUcifkbWbDCBcO1Zm9zEaGWMJJhmF/j6ZCrcaICp9Qiii\n/HmGHdY6aQ0j/MXna7I4hs5zcojbEAqySymg1KEZp159j3VeEz42d4bdB9cr\n6kGNndHn4EaMvn0JcUi7qeJ03pFMLv/eySu7cQmZW1i07CFtiL65KpyoBiiY\ndO3Ug9D5wVwmAukXYJVnKEHCjNBN2n/iDjg3QqFSJxH82GxQnPsukpwUJH45\nnpxZEYKsNgs52x8tzkU2r2p5A0qTmgaA5hLRRr55eWUrm6NYHPylU+Icoo2T\nrXbE3dD36K3oMlWAZvKY7bqsb/TK3IzgKbA5j8jIOgy7++v6asJD6kFJf7Oj\nwYeX\r\n=oJyY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLRVyiaLOMTmyh1Pi/PQvu0g+K+tgNHt10FiAL5JhvxQIhAK/JCy7bbcCORJgJ/GOg8LQfD0ovSgTgYnQdZK3UoXBK"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.7_1575194007298_0.6285032599951264"},"_hasShrinkwrap":false},"1.0.0-next.8":{"name":"web-component-analyzer","version":"1.0.0-next.8","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `input glob` and emits the output to the console as default. When the `input glob` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option               | Type                             | Description                                                                  |\r\n| -------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format FORMAT`    | `markdown` \\| `json` \\| `vscode` | Specify output format.                                                       |\r\n| `--outFile FILE`     | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir DIRECTORY` | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Documentation will be added as soon as the API is considered stable.\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeComponents } from \"web-component-analyzer\";\r\n\r\nanalyzeComponents(sourceFile, { checker });\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr my-attr\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop --main-color\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"6f7b78785b85adf299387f2b6b8a64b21a11ef70","_id":"web-component-analyzer@1.0.0-next.8","_nodeVersion":"12.11.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-9MbmtuFNUfYxmucNDTud4yTFmQvv6Qyl+teyY1+IF/eY6Yq6HQzynZAklCmsQbuUCmwTc+hjPvPYfFAKdpl+eQ==","shasum":"61f193d32a4b14b4bd32b6c3c07b0a5ea4665900","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.8.tgz","fileCount":22,"unpackedSize":464955,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd45DNCRA9TVsSAnZWagAAbKcP/jyGqDm1AkXnJozueO9V\nrKGuREJi957P9HnQjK7F1CEonu7Fgv/B479xrdOwaPIZZQQowDoRgxj8V7oY\nOakmTYzF8YKkEmTGbYo9TqbK7xEl49qURaDtBnHDxyHj/BMPkImVlLknyCKJ\nE0a+3I2m5eWxUOl12S9bRLrkdcipbtc3n0v7+9zQGezS6e3Zny3c2LoEIHQP\njfaQGKawFXZ2KOw8ERp+Anq4CkolE0B4Cl7LjeF/A4hpZ9YxhSo4J18lCFFA\nYVQRqRhv0rwT3uvvtVJ2QLI2M1qI0MvwyKhB8G/wT6AasdJBs0yR7AXNd65e\npk+M/HGCnHmntO/5mA5qUvLZ7WAN0Nta8mTEzd63gwyVo38B4Ao0DHu+Cs/0\ntcPDeOEH6/6HJUgHy4qpQydePKbo0PQQsBqxAWlZIMJ8bEPv2lyBMXJTdbha\n01Pq0rjPMjPCKGH6MIHokXKMgMP6zWTW0p1CEuPd7dt0wF2oMRylgsDxYT92\n/x3ST15RY6fhwwD9ZHQWHfWuSmd4XFLwsdvBAVRtI5Vtea3MmWTDBUMT88gm\naL9uSuhlO34WlTt0OcT0vQLFo+OjOTSC/bikGlLPS/yczQ7UMZ+uo7emFd3s\nZnVxrw3iLOw7m40bARGUKaXY8zkF/FaOfLl2YjfxixMqiODT9jNv3/FDv4Y3\nLsbJ\r\n=jTjW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxaPANBBpd2dgG1b4uUB7FGe7VhyHkejY3BGq5AVJQygIgO+JcE2r15Fn4MtNqjzh57CX6G4YnYXKkikSCwp4k/EI="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.8_1575194828774_0.9832097636559725"},"_hasShrinkwrap":false},"1.0.0-next.9":{"name":"web-component-analyzer","version":"1.0.0-next.9","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `input glob` and emits the output to the console as default. When the `input glob` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option               | Type                             | Description                                                                  |\r\n| -------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format FORMAT`    | `markdown` \\| `json` \\| `vscode` | Specify output format.                                                       |\r\n| `--outFile FILE`     | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir DIRECTORY` | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Documentation will be added as soon as the API is considered stable.\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeComponents } from \"web-component-analyzer\";\r\n\r\nanalyzeComponents(sourceFile, { checker });\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr my-attr\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop --main-color\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"6e07b40b35c96d57805a1201bf31fc67869c933f","_id":"web-component-analyzer@1.0.0-next.9","_nodeVersion":"12.11.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-UhotcZDYHMAa2HigR39Bvknu/Q4lvmh+Df+Gz85CP0ufNLRghoPskhAt1xAkSE4dDotqo4o6wGafn1L6/15wEA==","shasum":"c3205ffbe71ba1f8acbb4ca72d7e91213208fc22","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.9.tgz","fileCount":22,"unpackedSize":463873,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd45KLCRA9TVsSAnZWagAA25YP/2/79KuATqDfn4NcBKqf\nBlptMp0PeYfstJZp51oWwUt6uodrceVCBSH5IAi0KHwiloR0zqH8UOa9yeUD\nEalDhNH4o2q/e8afyWqQkIGyPOClRhK+p5CjRyv72hxnMfN/IxLaG0rmvcQ6\n9ZWVfpvveXaFgWOz8bRDvrzu2xslnLPo8xVZLgSpbx36BuIxghHh2eTzJSEm\n6wAL9qLbOCYnBxxlo13a+myvbA9YdRTIzIVDvg+zfe7JP8i1AojkQb0Jw06b\nTC0iozmLZiB0znrd4FXZopIdmxax7Y7dmMv8GdChJ2T4GSq0vupm0lcsr7sV\nCym2Ghp1FfDHBhNwuCAdRwZ6rTlEaeCe6IFfutsNiZm+WA4GCaxAhhBXuKCs\nq1qmcKuozT1672EXGLmz7/KHZaV2pPzDUZPfSj4Jay37QBSLIf+dFXeQhgD+\n+n12xrwhjZt/sSIEB/gRzxWV2Csv34L3pg7D9A8mqANwpUQFOa7p6E6IevKu\nN+/GUhLf2ShKZxMH+GDLjMsCf0FKcQMTFVRJaV6hvUZHwc4MQ4moCibrma2P\nhAEOwE8U5uH3CnBRdQGB7ZU6AsASxyVxdzgL4jMrslhOpND+EljzHI68j9Ti\nU4fHL5o7DFbv2f3IOIZbMzSOwQTZYvQtUucrT+g30/eq370ta51gwl6z9qqy\nJgeL\r\n=3lCu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsNQ/y4y5o0eNGBxLgclemI74ltjm0Q3mfBHR77CHOUAIgMNDgLWxt2iDF4jgh/2ELoLLp2JcbGY8Doj3u+5Qnt8Y="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.9_1575195275299_0.7320433069943018"},"_hasShrinkwrap":false},"1.0.0-next.10":{"name":"web-component-analyzer","version":"1.0.0-next.10","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--visibility <visibility>` | `public | protected | private`   | The mininmum member visibility to output. Default is `public`.               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"81ffe82060ecfeee1aca971d7e5ed6354bbf5d6c","_id":"web-component-analyzer@1.0.0-next.10","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-doRt8iA7eClU2LFVi/+ll7vlLRdNsRZXYRL9iPy2h0XA/bbxUda6AVNBwr2e3oEsfumt8wzrCopDjF0Rv6ZIbg==","shasum":"ff6d5c341acf0147282f8c37dceb05d4a0c64858","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.10.tgz","fileCount":23,"unpackedSize":493554,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5O2DCRA9TVsSAnZWagAAatEP/A2/+6mw0rHeE5wRTVoa\nFmP/A7zybpIGSM72Me8sf3ZIcLLtfh+TIZaT8AhcUkrVgb7DfoihREaXvVZa\nCxNHR0MBs85+EhHJxNOxqUqYWH94nAi9+Izw0Cmy8P7B4rtfeNco+Jv86Iri\nIC4iygChH2sID1Z3ffAw+iPH+7QPySIasT53V4Z2Agoe5IMPZcpulpB9UyI1\n3gUfzQWH8RoK94bOejNVWOFcef0nRY7DzFth38hHEIhikw5aN6aR0FTs5UId\n8oa2UqhifTSEGV8wEBlxp33CIGFglKC8YkPhWD6i4UblB21HNCvMpKscRBYP\nFrkidM3VW4vpGIDFpcgkfVD4+3c4pFkI06gGB4EqOTOOXq5HUmiGFbL+mC2Y\nEzMHWUbAbs3cG5SthL8vw9FZ+OwYWKvahzphDOkXirGne37mUPr5DTHpkvTV\n7xdmYwx+zgDUM0PUb7whBlM1GrwPLveIdBfWLTyfP8HvUReJNmood6wcqzjs\nyfrN8gxmKu48HcWvv1DmNobRgtTJQvMMWaJSzsu4/mVCXu+P6/1z1i8afuB/\nkJu1H0XkIfgfRI0eLa+w0oAsFoBuG9EBozkHKGQGjh+mdrIlXjHuOrR2n03B\nreQSP4wxchK/B+fzXodzwrYfVRraPrN+OwTIm0eb7aIYdKu4Kis0ObYLUc/6\nIYXA\r\n=Sjv2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID7Pc/vq8/KJECQ/aehRrLxU9cmWrg5buZsVnypC77g0AiEA1DtcbfcmmXpaFSXhgk8BVyVVLEfojXsBBiq8muPU7R4="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.10_1575284098905_0.28223237796598855"},"_hasShrinkwrap":false},"1.0.0-next.11":{"name":"web-component-analyzer","version":"1.0.0-next.11","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--visibility <visibility>` | `public | protected | private`   | The mininmum member visibility to output. Default is `public`.               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"481d6b67c93990014686a5b1cf15a70b35157b26","_id":"web-component-analyzer@1.0.0-next.11","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-iwWfUPZSG+12/Lo4b73XF56t0McFvdfPEcR1FnS7N3zO6AglzdvcfvAvfznWO9wQNgjiPZWIL79sVdqM+OHQoQ==","shasum":"ce7698884745b0f1a3842c9c388a967c0f5fa5b2","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.11.tgz","fileCount":23,"unpackedSize":494523,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5QGwCRA9TVsSAnZWagAAQeYQAI8flUrnNEeL/1VE54n2\npRy8i1HjgfosqyAOuoR/hzeQzv9yU9AMer0IVxqih0dMCQ7Hp8vPoxhdh56W\n1dIa0pOEOMkF06sRFJGVJDaWCuWLCm81ua9nY5g6xMjScuEz3gHSWsSTBGKV\nXs5//5X+jSr9hsiYOHZSbL7Hn7v0khlkkOnWCEtu/NPSgFb6P7xVEmEvHHp5\nBYlFJsscoXJdPqvnFip1k9lv992qmtXT7fH8+EmiIc3TEyVbLTYE/+4lF/iU\nJIDQuyutKjihjHiJ4wiuFhXQmsYmRl3OcwLVGoFTNi7+PiwdOBFpFgCWLQKr\n3akSGM3Pn0q+CY70DTofvakjmMNmmSWddKVuzCfuBD/PUsyCdZXxQp2n+CQ4\nNNZgGfyKi81c5Nh/9rNN7pz78nv7lrQYKNLKi3CBFPFVnsjH27iKsMfUXsO8\n/4VtywAcvRg0GrUvTkgRw+W3fa/PXgA8om8PLuR2GlL54wPF8eLPchsMdmvc\n0vLs3+xy+0MyQAjEHCQ0e6nhun96xY7vEfPtNkE7qBnFA7MbvTLMSa/BJBMU\nhtw0xciDWT6jzURu23ry/v/GWIzBz3bMozlXbj3PLIfRVmf5jXAGvZtBHCGx\ntAmAIgqjUg9jbeDOKodYbUSxovltgbnCwfBivOwwJyOxcS48yPt9/cYORnvt\nsFoS\r\n=g+Hd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID/g53xBchgKVIAhE+sw00d7uBWwf100hh6U4zrqzOfTAiBVHzraHn9FcDY1727NgQW6uotBD25S2G0E8N3Tc1CYlA=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.11_1575289264211_0.5520079984048682"},"_hasShrinkwrap":false},"1.0.0-next.12":{"name":"web-component-analyzer","version":"1.0.0-next.12","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--visibility <visibility>` | `public | protected | private`   | The mininmum member visibility to output. Default is `public`.               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"438e06893d53d841312bd5e93e623a65d4146d48","_id":"web-component-analyzer@1.0.0-next.12","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-ow6E7dZWJot6nzEwq7GIrHXrbiW1ereSNAsYI0Fhho7e3Pk0/tamrBnfz0UTRxkzUU6vgkrG62ROxNMhE7ejzg==","shasum":"3a577a82fe6fbec6050f3ae91f3e5fe9d7a018c4","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.12.tgz","fileCount":23,"unpackedSize":496091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5SJUCRA9TVsSAnZWagAAofsP/ieAFj5KMdAgs5bTfJqS\nhEhYjzCkIpaQtRRHQW4JCobrgwAO91lF3We4+akEOGLckcpRCCfGPXHIU5Kz\n5Mrh9us5w2ITB+mnG3qsQ6AburTX/9uS7bKxqeaoTUeTtuef7q9HK6XFZKIw\nDcgJJEBtsSlXEDSRZtJH3ijy6okZuDVDH3T5A8PxWGCEqZLfJhN+JqaAPCbq\naXgh4pYOUXCMyAEvQTAD9PlOmZktvyCiomfvvITwMYjffqdtlw9O/+GQVfvM\nLBsBEJbGv1sPtSO/AzY+R65Gsi5rT+J+uyep7tF/64gyscWF0epoRHtyHTFP\nCBepYn9Ob4hbLPR7BHohjTKMRUIwIFRV7iC8bAz68ypkMN7fB260MFIAG6ZX\nztIN/+raOC7rTwedWrEK/V1cZL9LAnv/JfPI979heL59NppUtX27yy+6VRNO\nB++MyyBQSUJXTlFNm0/Xc/KX1v3mDAxbzms1lJuC44iK+XByv2ddoniB4K69\nad/EBOxzVUYPQlLA8a0iXhCFMF+PhIh6nu9OFNz55G+3BW/ojFKjlwQ+FhAA\nuKZvQYP3bc87dvg0iD70EuiszEXPMQIRucBDzsDJbK8p8D2qy4eYNzQ8/FJp\nmaPfXPRt2ppFwRFtFFf8ZioBr46CEIOM5YsaXrI5sM+qU6qudHXdTQ7g8jkM\nh2yN\r\n=akF7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGYpwFUmS1BHfCBQK8dn8d2u/J93h3+r6nibhcURVAiiAiAYYPTYgtujjqtL8Eqpq3/TTyrTNJJV54V5H687t8bzDA=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.12_1575297619759_0.9987805503225173"},"_hasShrinkwrap":false},"1.0.0-next.13":{"name":"web-component-analyzer","version":"1.0.0-next.13","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--visibility <visibility>` | `public | protected | private`   | The mininmum member visibility to output. Default is `public`.               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"b3b12afecabff4d09ba0f95de9d3fee5815a3ca3","_id":"web-component-analyzer@1.0.0-next.13","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-Xib/hur/iQE6khvjhj8klCkIiFzgrVnpJV6s5zN0+eE8V7tfuu99UgsAO/tDg29gG7fxUB3atCW3Yb2cKrpShg==","shasum":"41be1d8f64243d1a421d515c5b6047679f157b3f","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.13.tgz","fileCount":23,"unpackedSize":507259,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5XQnCRA9TVsSAnZWagAAtbwP+wVGL/xYn4oqoSvrFEB5\n13zG2EQ1pqalqkb1rsEoaXlvX7V2RgYk67TZqK3/voGsYMViEJBR/Nlrc8Qo\nwK+M/6s8Xxt+bNwPum/tQSj9mVP3/v27EUUKNJnEYQH3PaH5UjaD/vbA3STJ\n/Kmclh3Jlub+q0JAhj2qMe/WG0p4b2++SFAvpVOqI/QdtcxWfcporGurE5Sr\nuL9pue/ARbuwMkM1BAjadGDJzcfXD14TbcINkf3cVvpBZNimRLoo96KpKwkz\nXLiWi+IgrqbJQdmvu0wwoCn1PlsVtfOdMm8LQZ7Zk/bbGpviqbhowfxE6y74\nZAi++ntVQg5Kho2BZKenN3IWDSTGieNj/qdapssg86x0trKYFHhc0VR5673h\nDrUid/VPKJSZ1m6TjMLUKFOL0pPyjcfyAMEraMEx10enMp0WcoeT1uWpow6k\nRRWMuvVA9yoa2HGYaIAtdJEFS+lTlNurIpD32JUR8s7l9JtoqXdnt39+kCk/\nhAHjAtN8UnoNpxXKQmZBB3kHt8evoGyHxk8U9eV0gCVFr2so8TXO9pwMPlA2\nsimDPo4m/pRqVvXbexuU3JJ2s5tVhOy5dE60eZcwh9HQn4Dlxo1f5uZrgPGa\nf+Fta8LXyIjzgrAnOdvgqXA4B+Ab9VQokhkw79BiCdUOJJca+S0ceRMM7H2D\nKlug\r\n=YVxt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOfimSIh6b/VSqpiWA7v4lJV7A9uEuWYFTFbvYKMkuOgIhAPiskFUVxgdThgEIuYmQJT8hGUx+5womoqYjTPJX03M2"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.13_1575318564722_0.2778113825141666"},"_hasShrinkwrap":false},"1.0.0-next.14":{"name":"web-component-analyzer","version":"1.0.0-next.14","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--visibility <visibility>` | `public | protected | private`   | The mininmum member visibility to output. Default is `public`.               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"3afe7a5d5f19cdf4f2890a8e8ca00e1bd8e1f2b3","_id":"web-component-analyzer@1.0.0-next.14","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-7fNExA45U11GVPmm8WO7Ts7wbCUh4Nji7fD3qwA3UpYHeFiUU/vOKlqomxVnpnsFsVo+W/FBeWzlLCh776fTrA==","shasum":"00d2740b3cfad7cec5d3665882300f2713eed933","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.14.tgz","fileCount":23,"unpackedSize":514589,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5pHJCRA9TVsSAnZWagAA8fIQAJBUylZvuK1vrtXKaGhw\n5rdPn5urwBN8temPv/ylkaLZv2f3VjdJB3m/Qun5o78z2V2h+4LtHrbpVN/g\nMDoDn+kAFuEzriKy4wyJ0IJ5OAtjAvUrA7B/1JuOwVBEZRQnKzIrbRffQBW2\n57JwyUy4XbrvWdt5/38s+3MNPhW0LofACBkp+t0GUx8Dixvtgo+gdEIm7pL+\nB6V6ff9aSeIYGWGb80Tk7TujX91XjJ6KPksdF7A+Xgi6yLzVWdK1er6yCp+0\nXjncYnOTGKmauUOOjaNX2T66Yvn3oenyYQj64aRoLs7pB6GMvItWlguIpf7q\nutJAHgUy9y45QUNXqfxlW2scYlF/oBmLmBL42v/8dp/O8RriXM/Z3fUwi/rs\nZw8Z1rtVZ+v509NBstGbjnbJSkWHUmW5mkCaFEhhV62JYjvm/1TZsFBA0viJ\naEGNmSbe4WcT9+OgHdNLVd5qi6bmu10pXCEjAq5qSsMuFg0hO3pXBnTyX8xv\noqvxex+F5j9kdTgT2/AlJxBg+uTbJUTa7vI/sJuqJjbsiYCze2AP2Ho125ZE\ngVNtkLOm0axjZ5Er8nVQbJMCTd8eXkSAV+v3Nl2m5GVJgU8RyIqfoCkQ17G6\n2M1sVn19i2sSuapBddXEpPaWjtlHPJ0M4kHzygcCHcvKXJ3HFfIyamW66pFz\nP3vy\r\n=TJ0o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFdu680sQTEFsvKxwqVX05j1OyaBfZ6SLu437JIkwS9OAiBc62dddQa6m+AvhHMdWFZYVwuiStJzSEoE/p4lwvBzQg=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.14_1575391688772_0.17583106153908545"},"_hasShrinkwrap":false},"1.0.0-next.15":{"name":"web-component-analyzer","version":"1.0.0-next.15","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--visibility <visibility>` | `public | protected | private`   | The mininmum member visibility to output. Default is `public`.               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"354f42e064500bf2741540a82fa3462f15520d8e","_id":"web-component-analyzer@1.0.0-next.15","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-GkUltwOETlAYpcG9qSB3yW++Kxu3QLHm90OI9a3hssySiM60rs6E7PqyY+7E86faiPRw1/F8FTbz5PQ9e3kc/Q==","shasum":"ca5b58be73901f9a6f07a042cd4253c2566d8179","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.15.tgz","fileCount":23,"unpackedSize":513591,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5q0cCRA9TVsSAnZWagAAh8YP/0Fs79c/eBqAFYXHHSIG\nal0p+DHbTkgNSOhz8C6KJyxFTLhaQKM2VoHnsJIpRTAWOSrFJFhn4+fM6C7x\nfquPRuu8DciCmzdoEF4N/S7bxUJ0j95YnJkTE53Y/qc5bER/9OJLlxd59nTl\nxK7vH/kSs/vOJ7fSrseipH99VlrWlfOodKUEkFVBX97UR4kFqRtAKizFG2Vf\nDbg5zVFQ3uW2OVFUJFWEwl9uAx+4uef2Nu9ajkCTvQ5cYXqQQmpjH2hSqDwC\nBXDj6FA47Ru+H6r4mPK3QUYDfHlCPxeVFmFlmUBNLygQGAwFTRExKg91dEic\n0uHLkbsfIyvhJHLPqCqfXnCODEuYDqfJKJGhuUSVx8ro44T6VEdpImpoE2No\nA1np8+2eSReNyJluc5JxF7HsFbeLqW7jEzAXj2zLcauNCVmCfcPQMIbYWB9N\nXboH2jUWBTlulLBE4NN9vslTWINl7yRvKGjeb0tFOOitfj79kY+hLGgg0kOC\nPGo0kY3cXFgP7tIc42C5Lpc7PhFo4QYfXOIebqjym8tnv3esHpVl8r1bdKNm\nPtl491MFZrqII4wP8Qlyo/z6hMnnQee191ijPzuO0yYjeBe5LtIjhEm7FViA\nKZDcPuaJ1Hk5m8VunE7IDceDGN8UIbrt+u0Rk3t5/WLLvFveeNkAjjmHIF8U\nnsoi\r\n=hQVd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVPG9/B2TXlisyx7t+R7805fb9XsOYm9iZEIOOT6gs+AIhAPn/3IERxBq8mciobemk4uIO91RCQVrg4amczVNYqiSM"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.15_1575398684222_0.03138943061540522"},"_hasShrinkwrap":false},"1.0.0-next.16":{"name":"web-component-analyzer","version":"1.0.0-next.16","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3"},"devDependencies":{"@types/node":"^12.12.14","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--visibility <visibility>` | `public | protected | private`   | The mininmum member visibility to output. Default is `public`.               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"4c0c281884f901a305ad449a5c8d0829aff7e320","_id":"web-component-analyzer@1.0.0-next.16","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-dqnoLrlXoR5Ak1yy5NnrqbzTbOst7bE3F4IyRsyBFtuaA1qugABzNWx2Y0yhi89qr91J5BGF33+80JBjE/M19w==","shasum":"c5ff3817a209420f4661a9e090e8d2e3aff5ac1c","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.16.tgz","fileCount":23,"unpackedSize":525960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd6TUNCRA9TVsSAnZWagAA1c0P+wTX9pwKwZ/kgWBYrC3N\nTAgQXENBGEGAOs+PsZcGIh6+mDYdb5dbWFfyWFA26K0DYzzy/ONNadiPQixr\nNQMo+y51bb1FdtboRRcDV6uW8CEh9mEWcAJSnxWE1ZjiqbfY8DGz2hEXk0SM\nX5A+74/ow1m3uEmrYP/Ug7S3sr/CAVnRquwaKKAmIpqdCgpzC/5VGnqj5TDC\niUlynJQzRy+8+itXCe1pTedHeKBlvJ+OD7ppyAIaAA2fby2blijDFhNMZgcZ\nOq8ub3Gj3WlkiHw1h4iLWb63GLzRiuoVYESt7/dPh7sqCi6fQnEi3fqx7CSl\n0TTCe8oztoPMyji/092+cyGY+ygPzugCQ6QMaF00NNlE8fwmenBA7Db3E9AR\ndxehbuOW6lyrcco0iqIqqCBwbSUMRr9f01IK4AEPdmLJS+vqQcI+VSugnmO2\n28YfIpyI0sn2lUnE/KzTvIbCS63He2l2scldI3+69h0td0M02AB0jP3cz6/H\nY+FcxOnm+JL5OOKLrLV/2itLVHMmRkWZS/YcwG7qigvBKNy0s/DVtZEhiLNh\nC39UikXOQ8pm4/AAO878aL/svqQk4vnz+nxrkZBtJr33nQvGZpjyF919FBiC\no9CCM75ACT91ImcydJyjeen9MU4gFIO+KsRSMHK0wd+11x5szymL04Y5gnFy\nBs/4\r\n=4n6K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH3D/8l73S5LXmUWPVol6BqM3sBbwpcPhtKQ1VrnYb31AiEAosNq2wrMt8Zf850/ON5FCWxB9wE2SXLQ1cNETcdWRPw="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.16_1575564557303_0.8189471361616405"},"_hasShrinkwrap":false},"1.0.0-next.17":{"name":"web-component-analyzer","version":"1.0.0-next.17","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"eslint '{test,src}/**/*.{ts,js}'","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3","yargs":"^15.0.2"},"devDependencies":{"@types/node":"^12.12.14","@types/yargs":"^13.0.3","@typescript-eslint/eslint-plugin":"^2.10.0","@typescript-eslint/parser":"^2.10.0","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","eslint":"^6.7.2","eslint-config-prettier":"^6.7.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--visibility <visibility>` | `public | protected | private`   | The mininmum member visibility to output. Default is `public`.               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"c5c2c72970f8204e789beb6157a22074bde64c64","_id":"web-component-analyzer@1.0.0-next.17","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-Urs4WvnYh5PH9vX+TNY/VZgdxVpR5DPAop1+HDM67YYY7Jh2FGW8869YIVMSeL5p3ltfEXYIVqbLX+XpohwIQw==","shasum":"b602ef39bf6574d6a7d61254419ceaadb6bd813d","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.17.tgz","fileCount":23,"unpackedSize":573412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8W3mCRA9TVsSAnZWagAAM3cP/1KQguvHg2s/YQcB136q\ncYBg0pQQaIhZvvL9m2wP7fKGNpw7vjUPT4TjifB33ySdI3DeucMYXu/kX2/I\nObWtbkOlzvSO2CpyMDHX016TzXo51+yEQPHlL1f6JqXxJTZPZn7z+Pwx1dnc\nJdPqpUqhfzB0ExpUreeSDzsa2q5ch7D/B9W80lKvjUB2TF/B0OsstfxHmI8Y\nREEeumzL7tWJsYww7LmWlCihUnea6qirk6eYZEoi+Alj6+gYy1MutRtRne1a\ntcMkVGfo46aCDM8KuRhSQH/3IGIqBMItsAYUKCIN0pjmAL/dgNJKxbDQOtp3\nEbgvqd7MFhZTaK+h0bcJ4msUGNo/Oy35JvvuafnMf5yGybhchAzi/QJoU1mU\n4lAkz9riYKcngDDRtJy8y9yvu2cf97bjQpjALEQm+PZb15G0ymhkBRnUhT6u\n7gOGCD+3O35brg9/8dg51sGBfJ22wMPtjF+ZreLVWUUKQgvOO+D+ZPHL4O3a\n+uD+p1ZESLQIP5HGygrEapgyHKnTPof9w/YzmIW6pnMbrcUyLThtSMcUB57+\n+66mJLn0J6EnF5p+dB3xlmcbxHvsz3D4DcwqspSCxj4ShqVGGpHQL4uOkynK\nV2OJZlIl0BvMA1haRcZbB2XTHaqSxWm5r6+L/yzlUivZCZb6tSRGGQbY322y\nYH0k\r\n=kJup\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDhwsH9+k6tor3o4Vb5EfOw70eSGfWzwKSK2fuSFVRiuAiBJ6oBF/NH6HyxwjiwFTxqDgv6KDoS/Gf13d7sl75OipA=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.17_1576103398199_0.07041976810104522"},"_hasShrinkwrap":false},"1.0.0-next.18":{"name":"web-component-analyzer","version":"1.0.0-next.18","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"eslint '{test,src}/**/*.{ts,js}'","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3","yargs":"^15.0.2"},"devDependencies":{"@types/node":"^12.12.14","@types/yargs":"^13.0.3","@typescript-eslint/eslint-plugin":"^2.10.0","@typescript-eslint/parser":"^2.10.0","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","eslint":"^6.7.2","eslint-config-prettier":"^6.7.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## Analyze\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n```\r\n\r\n### Options\r\n\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--visibility <visibility>` | `public | protected | private`   | The mininmum member visibility to output. Default is `public`.               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## Output Formats\r\n\r\n### json\r\n\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ API\r\n\r\nYou can also use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"1988b9e52bfc74829a473b51de6d8d73ed76c708","_id":"web-component-analyzer@1.0.0-next.18","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-mqDAuniUFXDm+CeC1UrQyAbQO8a9EGvK+RiQNlVpMSOzXHEOOA9CNawn+sLgTiZ+NvJHIIlU3+tNBT7H4bEyTQ==","shasum":"6a6c7558d087d487bb21265e0f5f3fd3d8cac92b","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0-next.18.tgz","fileCount":23,"unpackedSize":575843,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8on7CRA9TVsSAnZWagAAzdEP/3aKhX669muqbG+daPXJ\nTkag8IIiiDh1gMHfoxDfCVI6Tul4l90F3iIcae9EaL2eiVo6f7P7fU1cKeES\n4NgXiLwexfIB9+XrRBfTvo2PVDTWhbZ8kAoUKUgndnPskimQDPCT2jOXI+JZ\nVz/dypioHWLNqPn6AUmz/YD0vFI/AUvLK7Z4hn/QAZ591i3YMGfpTDRTqHMz\n2VPOLrlbUPSDlTIYQMJrjIya8CjgbOHl+9n9p8g4cVqKbY6eaUZkMFaIf2Md\nQVVOmNTW1CqndLjnDJJSYPukAveii1IBJgzaZuaZ2AWp2VK9HNJBLmkkC9+W\n7jPurf3JE6TXhB9L5dq4Wo0JUVav4bm67+5lFq4ygQHVqCKEMd/KHK6M/LXJ\nfCQIIWx3qSpZcGLpHFyVF9rTrE3+u5VDU346ACkdy/ijvdlEYJvnlZrZjbT8\nyAZNwMaE0K9CitZe4m76hRj5aGXeAz29HU96ELxHTGe+I3LX/94ekZssrYQ/\nq1jfqipNN4z8NcWOMNmD8qn9BPPqDnfjcNht4iMLCE6krkFPKcgQRqxwxS0c\nLZzZBKD/veEq00KqLNCMdNegq0QffmGTluV5izgnDefyx5ui3c7/C48ODawt\nWmE3Tm49nLHnrg4p0gojhEZlqd3SjhF16ISuvXyjDcw4BYt57AQZtCPCgoga\n0zYW\r\n=TS+A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqn+G2rq9CeNsiXzWzbJ7WNXJ2Lcf+zw0RvnvLd/Fn2wIhAOPWhBxhdLFWBIfZLuYV0bIogQj8IncAp8vOdDPyfCc6"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0-next.18_1576176123059_0.6198544513671613"},"_hasShrinkwrap":false},"1.0.0":{"name":"web-component-analyzer","version":"1.0.0","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"eslint '{test,src}/**/*.{ts,js}'","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3","yargs":"^15.0.2"},"devDependencies":{"@types/node":"^12.12.14","@types/yargs":"^13.0.3","@typescript-eslint/eslint-plugin":"^2.10.0","@typescript-eslint/parser":"^2.10.0","@wessberg/rollup-plugin-ts":"^1.1.83","ava":"^2.4.0","eslint":"^6.7.2","eslint-config-prettier":"^6.7.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"gitHead":"aec557630474b9ab071b2f934e470ecc4a4821fb","_id":"web-component-analyzer@1.0.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-M10GM3nrauTVWWSFkJj73YKYGuv1Wuiysv8OdFemTpFI66Im9bRB+2Pg/pI82ROFnu6g3gFwz0hp2piaLVBUDg==","shasum":"3926e43a874156fe04641141e9d35c61f84057d1","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.0.tgz","fileCount":23,"unpackedSize":578521,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8prmCRA9TVsSAnZWagAAI2kP/AjM/ZU/Nv8Y/wvT5J/J\nqfHTSeaumW90Rk/NayBj5s8eNJbjVQcOj46OOtRqK4lBoUcNlv6nDpE5iiXz\nJ5UDCoZ1CNJVudcjKCH82yUviJwBmQKM7lzrJELS4sWaXoBJI0oGO7+5Sn21\nG0kywWI//+R8ioO8dVeroXDuNtJlmyyXVpTbwSOSZGQWsS3kJRvLHXblKu6x\nrAStTCbut90QLuyTbteUZfjLx/cjFkWSDz1u3T1ep19r0/YnGzZ9ZBPxvB0n\n099zFx74w6ao2WKJk6xc0bTFQSb2swHhhG3zthhxJt6RXED0Rw2agR9a6GnZ\nboiu55eRCTaJgjfOwYX74ROElW7OoGid4S3f1MnXiEVmVIMsxIwmnZfyJu37\nYjBLXSpyyqo6n+MpjfyQSaCv2+/7lL9399yQxNkoGktkqY664dvtmu5cVfVS\nBCyqa1poVSTiBtT7WH1Vw2AqgP1Yir0+zq55dAQdKhrdVgFGJUBuTqtB2pGg\nnQ3nsGp2rcUIer8HdF3gqEpzrGBaYb5SIrC/kaK7DmU/sB2BLXk4WSpeRHPl\nTOD9+mCOAGUFIBzsf5jOizA0GYKhvRLcLRuBLHYuGamZ1jrRHTgryCqZsUf2\nIg0hE6IODEe26EbjEgEL3h8hH2TDdqmsXE5NBn1IhhSEA6GMQZc7GAslB92d\nM35r\r\n=H/TD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICTH+IfPqVjMl0qyfQxjqx/F4ZXlxZN4+6THzf5erT0HAiBPjBnpnRR2n2vTBoLCJFM7Yn3W6f7LjYN56kXjq2hakA=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.0_1576180454342_0.5179317193782544"},"_hasShrinkwrap":false},"1.0.1":{"name":"web-component-analyzer","version":"1.0.1","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{".":"lbi/esm/index.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm install","test":"ava","lint":"eslint '{test,src}/**/*.{ts,js}'","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3","yargs":"^15.0.2"},"devDependencies":{"@types/node":"^12.12.14","@types/yargs":"^13.0.3","@typescript-eslint/eslint-plugin":"^2.10.0","@typescript-eslint/parser":"^2.10.0","@wessberg/rollup-plugin-ts":"^1.2.0","ava":"^2.4.0","eslint":"^6.7.2","eslint-config-prettier":"^6.7.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged && npm run lint"}},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"gitHead":"cd20c97eef3f640c6ae134d6a9f0c2f143dae0db","_id":"web-component-analyzer@1.0.1","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-abJKtSTq1FmrgoHU77MZqhSPPf0Li9ow4bSlvXXqdbNKkeRlOGZZBdnORQeR1D6H/5N0wqi3cXhJoNl+B7BwLA==","shasum":"0a7924b465a0808e0c1081d0a494854f58579127","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.1.tgz","fileCount":107,"unpackedSize":546520,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeDwszCRA9TVsSAnZWagAAD6UP/RmYxTvvYpzQqQw9tXVp\n3tXqcf0OhL3d3cxMOZQeKM4MFfD98yAwt9afjomSIXzgN8IzKeyUPRkFpPWB\nUjiwWoI7HhBQ8uhDY3QcdNKYyF86ZGgF3pPoBJh0UEYq9X5zP+/5EUljq4WR\naR2oWEUJYbBlBugpm4/nxs+n6CEW0Si6ETP0ijOd7WvknW6zTtHV+h6WRV+e\nUcb0sHlV2rP66yZbOhj58J/Kp9+ZV8fDo57otvvhZgoBGhXsV8GVVJMvdyvW\nAZEzpLhcv/H3iNlnJ1GRjm84SoyEM7iEDzzh012xIG0Kf9xJCxk1x6HSadyV\nvKViua32xwFxPowKRiO2znkbum4PwRJrmHgbjjN9bmMSZAL+9tsujhkyq1i2\nnQkyB6DwDifszpiptMGzaFZCx6DWD4/qq00KTUjAjgHORe3La213rSnu6i54\nUOZqE4Mwy4cTRei62eHKGcET3lk84rn2WrOAn9jWG9e3fqFZggl6mcE4nw0K\n5M9VPgot0Y6bPBz9dbhvBmJl8qYPSbbOMYRAmjkl2QBws3VQEY56wjzmO/lO\ngv8g4cOLOUxTHFrDyW1rhb4Gq11y3vI9tDkeW9W1+F7I/aEQa+uZM4pFfapS\nB66vfyVJPz+jAIHmw4noTfkUwWWoJNtaPjw/30ib0FDvBxrbwkKJyeQNHpnX\nv6vO\r\n=62aJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfPbg/rcPJ1ehfy39eL1llZGi9JUw2f7O1UscurL35qwIhAIb4P54spMo+RUK/HATNaMLASoxC65Xs0xTqtxZT3hZe"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.1_1578044210998_0.3635816866879673"},"_hasShrinkwrap":false},"1.0.2":{"name":"web-component-analyzer","version":"1.0.2","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"npm install --cwd './dev' --prefix './dev'","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3","yargs":"^15.0.2"},"devDependencies":{"@types/node":"^12.12.14","@types/yargs":"^13.0.3","@typescript-eslint/eslint-plugin":"^2.10.0","@typescript-eslint/parser":"^2.10.0","@wessberg/rollup-plugin-ts":"^1.2.3","ava":"^2.4.0","cross-env":"^6.0.3","eslint":"^6.7.2","eslint-config-prettier":"^6.7.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0-beta"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged && npm run lint"}},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"gitHead":"6c014225323d3bcb06fd9aaad5bfb51b5c3fb8d9","_id":"web-component-analyzer@1.0.2","_nodeVersion":"13.6.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-WKToacrDMxBp1Nn9+Ox+9Y0ASOxnA1R4hqC39/BfnXtxsCthY3NO8tAvH2zMToL+/b6kpewR79EfmszANj0mvA==","shasum":"858cfb6bb2b1a7a8a0bc30f0eeaba2326aab0df7","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.2.tgz","fileCount":155,"unpackedSize":580109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIypLCRA9TVsSAnZWagAA3KoP/2zNkPr8panHPOVaRJEs\n2WKKjlbVDQiQeSQ/asIrsek0zTTkEFD7ccjZkdeguBkBGo7jiTIeOpzdS57O\nAtYXJ1CY4FmSZ/rLigoMtzlretOnVzt6c0Pu2jIz7o2DxUqShSoeRlvQQK9P\nsAkLFKOAvfVB9b0jyDjbmInP0yVP8ksuQzfCXzbx1FVAZuZ1P4pJ/FSvEm2h\npvRvXr6uA7HRjNOPJF9C+j+WhOfm2PrYt0yZVAQ6lV3mLOwnIea3G39rB/MK\nTCO/5m/vOUhD0CrA9NQiGvnSokOzfP4UT6NKdQ633TpUvs7lgqdGxhQLZhm9\nJ9jM0ojIwRjIzQds49GzWic+qbcxu/KLHHJtnqR/oKDq91/ORbhBpbdyUFI0\nQ1wHmd9bvCDHHxt5lIZNuOmzLRiA8GJCpfjASMN7lq0KAgO3sd7idNBuCJr5\nAsQPIPbIOJa59CQrHAAsG9TM0BvK8FBve8CQ3Ybg7FBs7iA0kcJ9bn8pxC3u\nJJZaLrHB6VSL4524Mc5DIPVwljlqCUxGpoYNlhBka3fnMVoqsfggIH+OZBBX\nUuTulYmjMHVpm9+jRzDuJ8p13gHO2G9UqoFPwILAaj7DVuiudBJSTTb82x97\nd8W7esIFR3dMMAFMkdNHgQvkYXFQHz5ycr3ynG+RKcXXySLZtw82vBVurNNM\nsz1L\r\n=RCuh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDT+OUZrlQeJP32r+vAYnx3fACVRLCqpylQ8R/UuunIkAiEAr+dSS0+vFNuk5iJpulSJ/5YfhQr0hTMdPq2efc9npuY="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.2_1579362890991_0.7428041537883368"},"_hasShrinkwrap":false},"1.0.3":{"name":"web-component-analyzer","version":"1.0.3","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"npm install --cwd './dev' --prefix './dev'","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.1.0","ts-simple-type":"~0.3.6","typescript":"^3.5.3","yargs":"^15.0.2"},"devDependencies":{"@types/node":"^12.12.14","@types/yargs":"^13.0.3","@typescript-eslint/eslint-plugin":"^2.10.0","@typescript-eslint/parser":"^2.10.0","@wessberg/rollup-plugin-ts":"^1.2.3","ava":"^2.4.0","cross-env":"^6.0.3","eslint":"^6.7.2","eslint-config-prettier":"^6.7.0","husky":"^3.1.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.5.3","tslib":"^1.10.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0-beta"},"ava":{"compileEnhancements":false,"extensions":["ts"],"require":["ts-node/register/transpile-only"],"snapshotDir":"test/snapshots/results","helpers":["test/helpers/**/*"],"sources":["src/**/*"]},"husky":{"hooks":{"pre-commit":"pretty-quick --staged && npm run lint"}},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"gitHead":"ed725a4f0a5b8df1c13f3465e13fe31db84e61f5","_id":"web-component-analyzer@1.0.3","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-QA6GVVJrKRPHLVqPv4evY0H+du1yY+E1q8c82bdY5e10+pWsRfeYA+Hsh2r8yl1EGQVC55SeV3tGvJ6+CxaH/Q==","shasum":"da73dff15d6a8f4864311664476f0f436274e97d","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.0.3.tgz","fileCount":155,"unpackedSize":587022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRDrxCRA9TVsSAnZWagAA7SIP/R8JqrnY0mGeh6NJcq2k\n6hKwXJjAeSS5E382g8qQpnzziTyzi03FyBRu9yTWkb9UIuQMne6BN6UGlkyZ\nJyyum4DRdUK/CrQV7x5hkbthxhC7G8zF5JpgrK+rcuqP4Ss7YmKotDyRTJxv\nmgyXCiA/oTDCqEWPPBbbBhbmympxENgxE/EQdmeSdH3tgPI5B35puP5ngid/\nee1vW7yYSez4eV1eJOuAY8o+ipqUnX7i/tUbGCBDGIOz+8GtmXBrlKElhho7\n54XempEbG5UHxbY5eCV9g9RC8HaWF5XsTwNXBuDvT0aqG6amL2lcLaHNSDxs\ncwu1sEEZlpCKvXW4W9uWUBfvewrFnXkTZkz0IJ+ZWWDlgZ3+tQua3155G16R\nd7/IhAaMNHN3uW1Fz8fQnB0PcNwfqXcIySyUavvN0rRVMdbv2w8Nts+V+fnG\nrrrRIc+2WluiU2htGFH8KDVF/BqFQo7t4XlQKHWVb5m4p/TCox4Tdk3Cq7BP\nMk0gVEzAT27Fi2DXgwpS0JS/jWEJESdy5s5MByiVC1Hj3NWSfkC2kNT8osuA\ng5j6pI000KtBZlBjzW/I5AtAJiMQzowSQF2a0/VOtiky7fHHF8BgrjfG0udi\nK5vXTDwVFi3mAzsgvYmkBpo4Wo1azq15wQiCGeo2So4e64JuF4WwDBRU+BxU\nstgT\r\n=9zdz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCH0bKB4COFMy9XRuv/o604da0NSLJVa7lO99o/1+YS2gIgISf5KmBCaKKVI8blz3n/x7A7njulkdzbOerXdtVd4ac="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.0.3_1581529840884_0.07401618450614689"},"_hasShrinkwrap":false},"1.1.0-next.1":{"name":"web-component-analyzer","version":"1.1.0-next.1","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"npm install --cwd './dev' --prefix './dev'","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --list-different \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"~1.0.0-next.1","typescript":"^3.8.3","yargs":"^15.3.1"},"devDependencies":{"@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^3.2.0","@typescript-eslint/parser":"^3.2.0","@wessberg/rollup-plugin-ts":"^1.2.25","ava":"3.8.2","cross-env":"^7.0.2","eslint":"^7.2.0","eslint-config-prettier":"^6.11.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.0.5","rimraf":"^3.0.2","rollup":"^2.16.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.10.2","tslib":"^2.0.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["./ts-node-register-transpile-only"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n**or**\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npx web-component-analyzer src\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## ➤ Usage\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n$ wca analyze --outFiles {dir}/custom-element.json\r\n```\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n### Options\r\n\r\n<!-- prettier-ignore -->\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outFiles <path>`         | `file path with pattern`         | Emit output to multiple files using a pattern. Available substitutions:<br>**{dir}**: The directory of the component<br>**{filename}**: The filename (without ext) of the component<br>**{tagname}**: The element's tag name |\r\n| `--visibility <visibility>` | `public` \\| `protected` \\| `private`   | The mininmum member visibility to output. Default is `public`.               |\r\n| `--features <features>` | `member` \\| `method` \\| `cssproperty` \\| `csspart` \\| `event` \\| `slot`   | Choose specific features to output. Multiple features are given seperated by a space. All features are enabled as default.<br>**Example**: `--features member slot event`               |\r\n| `--dry`                     | `boolean`                        | Don't write any files  |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## ➤ Output Formats\r\n\r\n### json\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n<!-- prettier-ignore -->\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n## ➤ API\r\n\r\nYou can also directly use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"3900ef59b5201f24baa3af649b75b4371dbb1fe5","_id":"web-component-analyzer@1.1.0-next.1","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-u+1XtsmXYEHLyaOoQ5MJTs4FZSeUXE9bZEAA2kWqyj3VByWtzL2E20PQC0G3PGbd/8C0DAeLZZ0gqvyIHRl57g==","shasum":"fc3e3b88f0feca69cc0c91b6c1bd71e18835878a","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.1.0-next.1.tgz","fileCount":151,"unpackedSize":715364,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5TFiCRA9TVsSAnZWagAAHzwP/2ikDkUic1HEOM2vfqY9\nXRmcZMTiY9ymPTCQOQrMJxMImw3+sbVKyD+KyuUyXOUYwo7/2BLB36hkrude\ny+24ueikiz/H+6uV4wKst0ejIw0iyXlQRbKBH6FMJNHAigY8GSedOA2iAsOo\ne/AROo/12etJeeZLzME+SwQ1ufZnF9wzDtGiafhyYHYwIAdZe8YpGRxDB0NT\nBeKzhXJ/dYnkn6HfZLRpbgWSnzbO+FI/JN+F5LhiUwbGJDcHnCyukvSTwUr4\nQ5+W8neLfX7X4110BlhxTt/uNLsN/a5TuEvnNs88pl7b09e0qrlZBzepROUs\n4WZu8ID2S/IjlqCJSyybIzCuTo/XzPS1+TxOW5F3vER/6/NC0ltxV6Jid2n8\nI0TTEQe7UD47gv3kFfVpCKrj2vIMnu5AUDiL94hHmRTl2xQMWdr6SEVIPJMY\n2XxRUq6YmeuUBm4VizFuJb9MCyCx5ZuCKTUthzho2r9NW7dFXI1QnvRsXiHh\n9JJ+IeK6925U8khlRr+oFu0kmCK/jD36T91+sB4CGEtzTsSa8qnCpeFy0alW\n6KcPyAshDHq0DeIUf3zPXG3GbzOFjuxdfWE/1iF/kR736Kr///wiRNZwao+F\njg/8G57jykQZP5WnHXaOj1jgsIm3Mc9tzN21MZqIRYHRF6F5lKAPjAp1N8PJ\nund/\r\n=7ohQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHQm97WJr7FVaSo+9aydVblhAphKf2h+A1Vl7uFBZRezAiAAsI8EmWNS+IfeefiinG8sUpJOHsV7GeMfr4bhEaO4PQ=="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.1.0-next.1_1592078689608_0.8033926037751216"},"_hasShrinkwrap":false},"1.1.0-next.2":{"name":"web-component-analyzer","version":"1.1.0-next.2","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"npm install --cwd './dev' --prefix './dev'","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"~1.0.0-next.1","typescript":"^3.8.3","yargs":"^15.3.1"},"devDependencies":{"@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^3.2.0","@typescript-eslint/parser":"^3.2.0","@wessberg/rollup-plugin-ts":"^1.2.25","ava":"3.8.2","cross-env":"^7.0.2","eslint":"^7.2.0","eslint-config-prettier":"^6.11.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.0.5","rimraf":"^3.0.2","rollup":"^2.16.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.10.2","tslib":"^2.0.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["./ts-node-register-transpile-only"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"200s"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n**or**\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npx web-component-analyzer src\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## ➤ Usage\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n$ wca analyze --outFiles {dir}/custom-element.json\r\n```\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n### Options\r\n\r\n<!-- prettier-ignore -->\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outFiles <path>`         | `file path with pattern`         | Emit output to multiple files using a pattern. Available substitutions:<br>**{dir}**: The directory of the component<br>**{filename}**: The filename (without ext) of the component<br>**{tagname}**: The element's tag name |\r\n| `--visibility <visibility>` | `public` \\| `protected` \\| `private`   | The mininmum member visibility to output. Default is `public`.               |\r\n| `--features <features>` | `member` \\| `method` \\| `cssproperty` \\| `csspart` \\| `event` \\| `slot`   | Choose specific features to output. Multiple features are given seperated by a space. All features are enabled as default.<br>**Example**: `--features member slot event`               |\r\n| `--dry`                     | `boolean`                        | Don't write any files  |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## ➤ Output Formats\r\n\r\n### json\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n<!-- prettier-ignore -->\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n## ➤ API\r\n\r\nYou can also directly use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"4386628494c2af2b0c98eaa027bb747336c4f827","_id":"web-component-analyzer@1.1.0-next.2","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-PkNbMUqVr6lhweDeampXp8Isgyzv8liBKXK6NFBxwMU5f9L88TGOgCww+ngNNkvbU1/eNDjkKGBubsEf7wSAnw==","shasum":"0910bd7b414d29e3c933a2752684ab7fe7cf54e6","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.1.0-next.2.tgz","fileCount":151,"unpackedSize":718143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9hGTCRA9TVsSAnZWagAAbqAP/jJd8eUuIM+9PwlI3cwp\nAb4ZYvIjZ/0X1P0cVA/aeWTFm9eqxJLv2ON6mlinl3WYoEJh/NWMGyftqsZT\nonvyinxAB3U1/PNAPM8qTlkqHP2K9loFdr1Kb99+fPVu5kCURT2kDKyl/O9x\ngH06VEimns/pAkPrHsx3CvJT9xx22chI9hetaRP0vJZsjQgoidJu3Uc1NLtO\nXh4zS0Z2CFYPQMqz8VycBeKhVjYqkaXGSPP4pdLXb2hHsdBUAHOH/vR5/Brj\n6+1hEp2clQCzykbhjFB18/Lq/Fl6rnHCnROpY8Bg+3y1cPpFu2NDnJy+NWIZ\nBZg3332O5LOvBFuhTwpDwemCCtNkDfj/3jaxYKiH4aPp+ZWvLfbxHYBnGF82\nvao0rkgwVjnKOrGjxRsolM7pozIWa/rXNdhOI7kK7hcSQ231bMsLoIKvNd0o\nnACjOguFhRASdh2PD15SldAAHDYKS+6RumSdpEFUzjXOyiiuGQlmE4BfPxsb\n7AOq9TG/yCakht/snnvsCpybrVtI1EcA4c3wZr6FnUkjqvGwCAxIrL8nLk6Y\ndRlEEUQHxeTjXmkJbRpjeiVH7J8YJwuIpbFEIRFmlBGLkuG4Jmk6FGvUaUHO\nGulJR/UFTHmy5I7CLs8WsybTaFUAnSpt2Tcb600XDgUubUKOw3o+vsOUz/Sj\nhdng\r\n=YZc2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCx6sUQnxSD7uQMe/P4GzuOWvy0loQnwhPSoyzUg0jvhgIgII4zF4ol7Xh92DiNcZPeIbr5sKMTN4Zk0Qo915Si2ic="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.1.0-next.2_1593184659471_0.5286636817496149"},"_hasShrinkwrap":false},"1.1.0-next.3":{"name":"web-component-analyzer","version":"1.1.0-next.3","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"npm install --cwd './dev' --prefix './dev'","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"~1.0.0","typescript":"^3.8.3","yargs":"^15.3.1"},"devDependencies":{"@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^3.2.0","@typescript-eslint/parser":"^3.2.0","@wessberg/rollup-plugin-ts":"^1.2.25","ava":"3.8.2","cross-env":"^7.0.2","eslint":"^7.2.0","eslint-config-prettier":"^6.11.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.0.5","rimraf":"^3.0.2","rollup":"^2.16.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.10.2","tslib":"^2.0.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["./ts-node-register-transpile-only"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"200s"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n**or**\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npx web-component-analyzer src\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## ➤ Usage\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n$ wca analyze --outFiles {dir}/custom-element.json\r\n```\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n### Options\r\n\r\n<!-- prettier-ignore -->\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outFiles <path>`         | `file path with pattern`         | Emit output to multiple files using a pattern. Available substitutions:<br>**{dir}**: The directory of the component<br>**{filename}**: The filename (without ext) of the component<br>**{tagname}**: The element's tag name |\r\n| `--visibility <visibility>` | `public` \\| `protected` \\| `private`   | The mininmum member visibility to output. Default is `public`.               |\r\n| `--features <features>` | `member` \\| `method` \\| `cssproperty` \\| `csspart` \\| `event` \\| `slot`   | Choose specific features to output. Multiple features are given seperated by a space. All features are enabled as default.<br>**Example**: `--features member slot event`               |\r\n| `--dry`                     | `boolean`                        | Don't write any files  |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## ➤ Output Formats\r\n\r\n### json\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n<!-- prettier-ignore -->\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n## ➤ API\r\n\r\nYou can also directly use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"418bc6941bc5a6ae886e6817ece458dcba115ac3","_id":"web-component-analyzer@1.1.0-next.3","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-DDWR92rm451ACjNPxQD4g34dcFFl6c5GZlPm1ZfD7wiolcu3gDJOfEnMdnVPZhpx6DDK6VNJu8aKI63xkBMDBQ==","shasum":"31e491cbd2ca471483399d4afe425c819be93626","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.1.0-next.3.tgz","fileCount":151,"unpackedSize":725564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfCIOBCRA9TVsSAnZWagAABaMP/iPSLDYZfh7mptGwDTJN\ngfrRqqpJPIDuUjSp4FdaMk+iqroKRX3bMpvrMF5NqiRHb4j44+8NFk10MCsV\nLx77WBr3QwfBZHR7zMR/F0cHiGyd7wfNTLJ9JVLg8z520V4xZLLZR4vAhGm8\nx6a17ts34yxGgVSOR3AT2LcMzFgVTUQxBs+9F/BjbBWl5TPbeu1L+lFWf0cC\nJAHrgBMqVk+KmRN3r3z9D1lAL4KGiMmxxgZwW31JSUrLbNuNFhxUxmgEFZKh\nq6NUp/s0Yc4msFpfFxdrkY+QI6bxcgVbCUoOA02sHGizQHCRKNOJSERVCWpF\ntraXSho2INb8USFALSJiH/xc4gPYxfpAh/Hf/YbhnojCzxNnfH2SsAnU+O3f\n3xaZ+/SVcghm02lZqxgmpVRIbtu2wnPgNTY1jdIWfUBC4zQtEvb6pA4rr05z\np4higlWIbuQnU7NHZHq5Agz9QOyC1UrEyX0CzvDoNvnNKevs5BFQQ0n1eMQW\nnww5HRWCMa+NLEL/E8yyztuAsLVLBB78O+TgmSObY8RXN3SCVNiIkYizz3e2\n7NJOajs7rBiaPZXzb/dPGlo6nrDqRO9IUubIg6Q9CdD8ehjEPclJVsrmew1M\nZPwCmytiJNFCSCG8CUyI/35Xxi8Ge0GgzPB2NsNlvwVhv1Mvk0WRxhRPxBsI\nQbbX\r\n=z42G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCu54TgcP+eKMDsWSnOBUvdIpXhhkjDQI0GTCGRV23cZwIgUJLvv475sG7/2dZFZ6NQIHnOiTy/B3J0UoIgaQYzbP4="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.1.0-next.3_1594393472784_0.2841676167313729"},"_hasShrinkwrap":false},"1.1.0":{"name":"web-component-analyzer","version":"1.1.0","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"npm install --cwd './dev' --prefix './dev'","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"~1.0.0","typescript":"^3.8.3","yargs":"^15.3.1"},"devDependencies":{"@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^3.2.0","@typescript-eslint/parser":"^3.2.0","@wessberg/rollup-plugin-ts":"^1.2.25","ava":"3.8.2","cross-env":"^7.0.2","eslint":"^7.2.0","eslint-config-prettier":"^6.11.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.0.5","rimraf":"^3.0.2","rollup":"^2.16.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.10.2","tslib":"^2.0.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["./ts-node-register-transpile-only"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"200s"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"gitHead":"e0d91553ccfea098792a5b30452f26da1aefa160","_id":"web-component-analyzer@1.1.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-O2g9X0xgFViXMRJ6K+tN9CtPBBS65xYmBjF/399fi18H2cMO5ZQVMLNDCyiEi7GgDmyN5WDv1rcW+SIqru5TVw==","shasum":"e3ffe46f3384137360cfbeed945761db9f9819bc","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.1.0.tgz","fileCount":143,"unpackedSize":732870,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfCwjzCRA9TVsSAnZWagAAzNoP/RFp8cYZQhcC10tj/8+Y\nRAnVKE0S0tHhjM1jJ6xxJZ7H5UAYdQAMIBbEiRaIWVcA28GXx7cXzaNX6iUb\n+JtCCuJRfHZQdRRveXrPCE5mf0ZhKo1Zw1lebM+bScqCK/YpfWGqjf04P+92\nW48anrRrlpImBphXVJ5KXMAzlmGxLV+/UI1ROax+8WiFi8HEAX2KdnuUEdZN\ndIczS6FWAXcFp3DXcZridx/nb6F0gARcctyaEHnGG7oCuxNxRanYiSV/FX5Z\n/TkVSbea1XXWKnesQ+02X/rqwtf9GkNZ4zAjyf754bkZcvVD9et4tRVll9oV\nxpH/lfWHlWgqZTm4rTJN/sU/cjL5qu9SzT71a94p/5VdtoK2Dc1l68WQi+LS\nM80CdoFS5N64ynEnXzBK4u2SYeoJDX/yWah1gLgSfzATWo59wQa9z8XBoSro\n+WLq/QpaJ7sVs9V8O9bpxis8Bp5pbHRnLkpxqm6yP1wwyDmfkQS/gScGVXff\nRXD/PWqd2KMeZkxgwGB0snb2Poffb8ueS+FxAWV3hut185JlBetPi8YLvMYE\ncUqCAkYIBwBjXfsDBEc/iBL3ezuO+VZ+dLShp/AKIiozoifOmldgfo0dPvTD\ntfA9DY+6blmVdBzyxET+fradd3GCv26CewyYXBV1vItbwoMt65nNK9IaHwHJ\n00YF\r\n=3wiu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEAK5Mq3BhkfoHqtv6YcqHDvFTYZWnV2gC2zhl99G/4vAiEA9qWPxU5DV9b7DjgrJlrDfWezLWv6tNaATyhkFYSrbcY="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.1.0_1594558707447_0.74158026202817"},"_hasShrinkwrap":false},"1.1.1":{"name":"web-component-analyzer","version":"1.1.1","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"npm install --cwd './dev' --prefix './dev'","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"~1.0.5","typescript":"^3.8.3","yargs":"^15.3.1"},"devDependencies":{"@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^3.2.0","@typescript-eslint/parser":"^3.2.0","@wessberg/rollup-plugin-ts":"^1.2.25","ava":"3.8.2","cross-env":"^7.0.2","eslint":"^7.2.0","eslint-config-prettier":"^6.11.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.0.5","rimraf":"^3.0.2","rollup":"^2.16.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.10.2","tslib":"^2.0.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["./ts-node-register-transpile-only"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"2m"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"gitHead":"5146284e6f70a272c36d610f1d636c59f5693ce6","_id":"web-component-analyzer@1.1.1","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-zAa9axKMwgnPN5AGR51ufO5K/GpfKEA3bcr9RTZubnj2zy3bQut4NFLvPeC0dFGZ+SC+cfrqP9XQgjQ1xWYtvg==","shasum":"9971c4747c12c173d2e3db881a1a661cdd963932","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.1.1.tgz","fileCount":155,"unpackedSize":742511,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfC3LqCRA9TVsSAnZWagAAXQoP/0ziVuJC/1pzrdkwLTaN\n2skBXb75Ks8RSksgER/9DJmw2KqaOlGN9gUMYzmniRJy0+e5q8ZyZYpRZBmt\nkKpEbrVvv+J666rUwxEo2QqGJPbuydQnw9HMZ2Xe48ZJZgHJbwCAM3dih4zI\nntB3bQOlkn0U1nFsSzDeJWHQaexq20rw1ZBg1KTAeNC5RNCKlqSJ/J4CoZnI\nD1quKvzYzZcMUGa3AqcJpVB6bY5WjXz4Mb6cg4xKbWprEXRvK55x3ZyZt5/a\nXAoqTebWrfO0N6RRYa9aWfPf3pzePHVjZvLWLetuL/SjQ3NT4RHKjEeE2Wj+\nw/2RU8w2lRHUkKpSbDQYN9FWR3HFUhWnxSASXgSjrW75Ieb9dGL9vZKEyXrq\nPzPP3fXycL3uBVQXtDfknJkEAbM4rDJHprEBx65oqNqmApeh/2k6fQPFdBko\n/WRDjd13xprRH9uuzEnUuG+o/NPpajqeS+kc9cnFyRf+a6hTD8zTyP9JiXpj\nHZmmMCLIHJYxdCK+ABj5oM5db5j95s8XeA7wdtLiDAPrt4S147mIvZWn0ZKS\ni+ZHGdOqOa4/OBI1+eMpt1IGMkqS9Vr0VEeC/aPMq44oxhtCRlV7hkmh4/ej\nI8NtVMDJ/a+/k2e7M+Uo3pmOuINyNZi7+5zJSTicKRtLDzqOU9iaDlLglH/x\nfzRN\r\n=rVCb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDR+2PdTQO3fsTgOWULJY/L/mvHZZ7XrcZWOKatuQouEAiEA7kKt2U33bPbmDtqvONCcfpozGkj6zIWuKDK8suTqmDo="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.1.1_1594585834183_0.18788191627706885"},"_hasShrinkwrap":false},"1.1.2":{"name":"web-component-analyzer","version":"1.1.2","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"npm install --cwd './dev' --prefix './dev'","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"~1.0.5","typescript":"^3.8.3","yargs":"^15.3.1"},"devDependencies":{"@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^3.2.0","@typescript-eslint/parser":"^3.2.0","@wessberg/rollup-plugin-ts":"^1.2.25","ava":"3.8.2","cross-env":"^7.0.2","eslint":"^7.2.0","eslint-config-prettier":"^6.11.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.0.5","rimraf":"^3.0.2","rollup":"^2.16.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.10.2","tslib":"^2.0.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["./ts-node-register-transpile-only"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"2m"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"gitHead":"8dc86c34b186d79cd1d5156891d2fed29b155888","_id":"web-component-analyzer@1.1.2","_nodeVersion":"14.5.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-1sPfAPvXE9PiLoIEL6sjHj2ylIDfP8d1ObhjkprEUdKzKlInTpwQefElcJTojN8crtohLKln/LqEsNY8F+VMnQ==","shasum":"a80074cb35760d20e4ab06e239e69f22b6c77e5a","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.1.2.tgz","fileCount":147,"unpackedSize":746965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDfdxCRA9TVsSAnZWagAAd+oP+weB7Gy6jw+zLCXWqT4+\nMpuzAd82sKLKoGuEC+GdSMc2NamsqSdY+7xKVDTZuqzI3ecsB8FTFMSTHmIU\ns0fidc/lIc8bdzdCYPd6vMMHOpsa5lThKSpqb+eENrPM3jkPTMai2SLV+JGp\nlIETVPmpMgpo5We1T0U2/R+KbkJhz0JmI6xiZUzTJmE1fxS9CukSi6pVzyw2\n6RSVCi0UrkoGqsw2yYprg5yIlitOkJCR52VA88Axydvd0mVkpHajphxNLxQd\n1r4XBfVx8vAAXMmmmDnJiTJ6igAvasY720Li1fiE2/5bngkVwUsSoY9jyLL+\noKcAwPG0tO6ZWH5M6+155wz42Nuz1JgwgxKJRHMQ2lyiZLEMjF5xbFJI12Nh\n3Z2pi4IYSVaEnEgX4jEL4jPYOpHtGjl4swqTugZPmmA9rYGlEKl3aeYAve4/\nCRkFDBfGIZ1J9IwnTdk4AXTLWBz6bIrb9gZHj9Xp4yMUogeds165Av6IYwAd\nbVWB1d8DdZBeXzEIeeF4svZnssz+21pCn9vmccn7JimyMoExeen8zGcvJ5e0\nks2p9IdAAliAAuqdrrLN084TatA+bBVhprb/x9BJ39+F8koX/xb+6xIT9xnu\neBr/o/YwKOs/EQfdqVGqgpJD8d6qccI9RrSZtIWa1k9RFloJw0GDbnVrh3ph\nZCEv\r\n=dCuV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNjJ4e2O75LhMDwxuONz2LYdvpKAabtkS4Nx2cL0g19AIgE5GEswYRjwduElyMInPVKQHFcOuSgyZmxa8ZRUJX+v4="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.1.2_1594750833380_0.9221064384242363"},"_hasShrinkwrap":false},"1.1.3":{"name":"web-component-analyzer","version":"1.1.3","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"npm install --cwd './dev' --prefix './dev'","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"~1.0.5","typescript":"^3.8.3","yargs":"^15.3.1"},"devDependencies":{"@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^3.2.0","@typescript-eslint/parser":"^3.2.0","@wessberg/rollup-plugin-ts":"^1.2.25","ava":"3.8.2","cross-env":"^7.0.2","eslint":"^7.2.0","eslint-config-prettier":"^6.11.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.0.5","rimraf":"^3.0.2","rollup":"^2.16.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.10.2","tslib":"^2.0.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["./ts-node-register-transpile-only"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"2m"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"gitHead":"4f1ac7c96a395083da4d2513f428cbc7e9dad339","_id":"web-component-analyzer@1.1.3","_nodeVersion":"14.5.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-X2yb/MFrIgjN6KaepA6Y6sM2brlds+DcfI+3JAAWJ2+k4qYmIWCNLDjH9JjJz1+BwdV2L1J40SixrIeZNLe9JQ==","shasum":"bf8c1c74605a7e28e51ff2363f4446d94e5882a5","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.1.3.tgz","fileCount":155,"unpackedSize":742653,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDfneCRA9TVsSAnZWagAAI9kP/jhR3IbnCo4MDzcZyfOb\n/tmEph3PcgZLgLKB3EzA2E399dI8ft8F88B9kFsouoOSmB23WsQ57Noboltm\nzZ24UJoG66sIXmwwDTeR+wd+x+TXQtZbEYOneLKzkw/eAVJASJMLopVj90nh\nZKi4O/6ERHX+gVnQn83ZLKz/NzGfOkvwc0og/1cJM5imrODsRe0gremIuyek\nzqP/9ORXC6Fry7gjr3IWSb7w9+HIOJQ8By6nwODpQ0bdexNL2OsyrhLeGWyg\nK3lXhHz11rzVULIRaLkufFdMSuw/F1bX7rLuh0DW7LMTCHHNx3Fe9yBgVfZs\nZNitMEdz+8Z2B6Zj3zJIg8pS2YT/aZL4qruclF7KfOQFT4BjRFF5IO69NldB\ncslHHaPr703XUBk7JUbKsm95PCwAnTwrJQ76B8Y6oM2e3QpFzwAuvK5q9mOg\nBTaeelj9rUmZrY49GjjBLbz9iF4JAKcZDUze+vwjnTvkDqXMQI7mKokwoY/R\nlFDCW3dblpO7Z0MdFcrKYa66L7uu5WoquRH0epW/DV2asxwGgEYP3Qy71UiX\n12Iy4gJAM/n/rdZt+fAzeseKr0hl+g1+UhaAQoOe+iLGxaAIDlb2EhSCrS0Z\n1GcS69PyNtIiK3KjlRxx4qJbUrXVeogZFBtGEJiNFKbb97ixj5yeFfK4o5Xn\n7M+/\r\n=uTNj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDthh1md0wvrku0hLfv7igOqgnS9PSEOBSQ+LLAK9nywQIhAM0PFiWf6kvBeMKUkcgzXUTmZX1EjM/wzLVxazipKt+q"}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.1.3_1594751454333_0.031377031712489734"},"_hasShrinkwrap":false},"1.1.4":{"name":"web-component-analyzer","version":"1.1.4","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"npm install --cwd './dev' --prefix './dev'","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"~1.0.5","typescript":"^3.8.3","yargs":"^15.3.1"},"devDependencies":{"@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^3.2.0","@typescript-eslint/parser":"^3.2.0","@wessberg/rollup-plugin-ts":"^1.2.25","ava":"3.8.2","cross-env":"^7.0.2","eslint":"^7.2.0","eslint-config-prettier":"^6.11.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.0.5","rimraf":"^3.0.2","rollup":"^2.16.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.10.2","tslib":"^2.0.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["./ts-node-register-transpile-only"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"2m"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"gitHead":"10dd988cc56c88c146d2571197d3fe93113e95b7","_id":"web-component-analyzer@1.1.4","_nodeVersion":"14.5.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-6Nso9ygw+r4eJAoBla0fPRzDAOyrP1SeyzX6aJQWEOalymbZa3WJLLrQ39LH6jq+fRTI0ApG0KP3GTRKot2k2w==","shasum":"085acbeeb39c81d65e6534ff6dddaff6db811f70","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.1.4.tgz","fileCount":147,"unpackedSize":745851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDhDpCRA9TVsSAnZWagAAZp8QAIDce/RX1ak6yteRu0o4\n0VeR9WSsXAF00D3cWlCl/Bc8fP/8YnniTfqY3SugutvXnKs5BbTzwpulwCb+\nJsz737zx088irfLoHtijxT27lgX+YM32uFhvrZ1StdHE9xc2HEDTYNbgRkUw\nlJaWaJG0VCnpoIALF9H+EjAZWvpqqdgtXYmJ0gPJ3y+m8JL1HWObQ4yoqpJZ\n4LwRwyhWkFzanvOAYXgRTkLnXwwjJt/uEgDuCF6IhocYLoelXDbwlzT8Fcun\nFfnhE9+DGmt7ZSlyCEkglDl6TkQ36FAX50GvW/sx1wEtVUoiwunTTNx90Jxz\nL44B4UlUooHSM8DzVnBT66OEeCGrpj/slJMYWKFvc/AMl/dzKVBayjraHOuW\neGyqiuFE0SgSI3XSzuv0rDjTc5O9rG22RKbGJPyVRkbQpxVPPIA6BzJTSvFA\n4wWkP7xmWOAwg+/lY+0l0jsAk4sA53J8ASRou0e7hpE8E2v6RJJo3nG8JTJZ\ng4OGSl5o4jw01s7cz59OgVpHKm/8vULsDUdF2pkL/h5bMiudMj7WYZ4Qk2Mj\nqbU8oKPWb+T8KbiE/CbWA/qJOw0/fGynOQIjikcIIl6bcs27OsKm0296eOgZ\n/N1oDIlwNdMeQXPfUNwTa43uPBk3q0QuwdcU6lgW+7vj2oVCNcRwkVQ4g5HM\nguru\r\n=kWTX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEZ2fgCH2aZDCIABppFGU7twgCdTKabSw3xb768sF1vJAiEA9p26OJH0m9i6xT7hMo6xQ81bXVlAHCLocT0bfR4jZNU="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.1.4_1594757352810_0.3156167448209495"},"_hasShrinkwrap":false},"1.1.5":{"name":"web-component-analyzer","version":"1.1.5","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"npm install --cwd './dev' --prefix './dev'","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"~1.0.5","typescript":"^3.8.3","yargs":"^15.3.1"},"devDependencies":{"@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^3.2.0","@typescript-eslint/parser":"^3.2.0","@wessberg/rollup-plugin-ts":"^1.2.25","ava":"3.8.2","cross-env":"^7.0.2","eslint":"^7.2.0","eslint-config-prettier":"^6.11.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.0.5","rimraf":"^3.0.2","rollup":"^2.16.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.10.2","tslib":"^2.0.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["./ts-node-register-transpile-only"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"2m"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"gitHead":"5583fc8e78bab14383a5c90d9661214cf9d1e82d","_id":"web-component-analyzer@1.1.5","_nodeVersion":"14.5.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-/W/xgIjJH05uC0gp4ZYEUw1nLXYUzC+b5fUrvUSRDF8/iMwUclNUicPZm7783YsJS8Swmrd+hsKvah4j4eQdeQ==","shasum":"4146132ddc8fb47fe461c383e6d9959b5f182671","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.1.5.tgz","fileCount":147,"unpackedSize":746599,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDzL4CRA9TVsSAnZWagAAaxwP/icjnIFvPARye6gTS3Ys\nNp0Lt5hoRDP4viYeachjZaqPZINKYTJQYOpLvKlUNadmy57/98cfaPZnF+sj\nIBEmDHjEKlcZlPA6PWy7Rax1dr/DjilULs8NcdBOhdgsdeHps9wYi06qzl5w\n9GHrgBjv5IEkMmIGheO4f/2EQMHo2OnEdtr5IfalyxRp65XcXPnkmZYv0fPw\nRVUZHbQy3DtHQQMoJmWiD1dMv7KijXYwTV4KSiUapY5VYf7Im5c8WfNEFvTn\nva/1sU4trhQM/keyEGNCEaYTflAJ9IStYIHN512q75XvIMT3m9JluTem0CoS\n9v33K34vWCgWYeWojYoJ9Bn2IauUBRdhUyiBdvUuEW9oFDEb692cMTTrkQuq\nzEPuWhafQhv3sxaGAf8W2JW76tmYSy1PrmnSJfspciAjMlK8SY2Ly8PTBBSM\n+icl9rell0nHzBx7K9O+77Q0epeVft81DJv/3JxDHN5Ui35sENG/yMD+IkLy\nclyq1aKjJXh+rKcqR/Urh5qstpYLW5XjHyMpNXhkhBy6ZZd9fnuvWlLpHG1M\nTLMUTRSrlyn4ugw+64a2Q0+WlCBsPEAOGW8smUxwGolwL2d39fNYaXQkL8EP\nZtedenb7AUxJs6Cs3FMfsZrkwmCi4gpSQ/4M1mNgruTE8j5lg1l4CXCzyamW\n5UuQ\r\n=efgf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBkugsJS6IbH6gGYn/SqF1FPQPbEbJJH+YAmsqz/nh4CAiEAm/iCOECbIwvROZ/74Qil6CwXI/PWoFrLyx8k+dxNnqw="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.1.5_1594831608006_0.33774730980159107"},"_hasShrinkwrap":false},"1.1.6":{"name":"web-component-analyzer","version":"1.1.6","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"npm install --cwd './dev' --prefix './dev'","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"~1.0.5","typescript":"^3.8.3","yargs":"^15.3.1"},"devDependencies":{"@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^3.2.0","@typescript-eslint/parser":"^3.2.0","@wessberg/rollup-plugin-ts":"^1.2.25","ava":"3.8.2","cross-env":"^7.0.2","eslint":"^7.2.0","eslint-config-prettier":"^6.11.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.0.5","rimraf":"^3.0.2","rollup":"^2.16.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.10.2","tslib":"^2.0.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["./ts-node-register-transpile-only"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"2m"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"gitHead":"bf76b43221ff494f553cc46ed604bc5582e01356","_id":"web-component-analyzer@1.1.6","_nodeVersion":"14.5.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-1PyBkb/jijDEVE+Pnk3DTmVHD8takipdvAwvZv1V8jIidsSIJ5nhN87Gs+4dpEb1vw48yp8dnbZKkvMYJ+C0VQ==","shasum":"d9bd904d904a711c19ba6046a45b60a7ee3ed2e9","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.1.6.tgz","fileCount":155,"unpackedSize":741945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEJHSCRA9TVsSAnZWagAA9dYP/jS9B2FeHv8mJ0IgtVsi\nuNQS/gCV1PIFdW+9HJljXnojnP54BrT1oVcqCQS9XS6C3lvAUURHLi0CXfOC\najhqZn+F60T9CkZaoT6239rTizCmctv9hCfwolihT7yWpAwMEKHWQNmzIrR5\nquKDix1PU0VVVKs8e9m9Ut1PqmFYFIP4cSj0/Sv03Zm2RaDul1tE/38ocq7z\nkLuEpQVLbHp9/3p/9LvnRghbA7U8W7pjd1kuETwJ+J9WTAs6E3EKYbBcwO6n\nH91WY0WsscZr9bmcV6WEUBsDT74zk/XfF3uNkTc0+o8yLXUdKlW9V9tWQEUp\n85GmaF7JZVwMvctp/0gKnWpG7b4p0pNCmDXE/2Fspn1sLznnO6FGnQ830ML3\n37xa1ztsoWGwDxF+nUMKvvPhLyANBRyL4ZF+uV4L6R3+7qt0jATaUOFcC2qk\nMB6jTK3LsU7pWLHKGb0/AMJ3Ae5m77LizeXzOSQQBdUiqg+gL7z7F1vJb2BK\ntluuo+6jJRvOAtTEcdJHDCAgHM4DwMKvRV/vbIrP861LYK8YVPei5550uLJt\nBDJ2+VPjl0ndXb8ZdojdVPffKZBLkWPY4FV9HLJDPP8iqrxf9DTYGzO6MA+n\nz7TPLLELILPAcsrycBzqwdBMoETsW9kfI7MrERZbJCORomIL8WmjwejrRuXv\nuJ9w\r\n=nt7O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGOb+IEWYX6+XZigHyytyGoBfzGXXH4KmwTG/kCI8qiBAiEAlwS+GDpYUYp0LQ61RH32qXji0P/I0Can6kw9okjq3rw="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.1.6_1594921425748_0.6450248531008846"},"_hasShrinkwrap":false},"1.2.0-next.0":{"name":"web-component-analyzer","version":"1.2.0-next.0","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"npm install --cwd './dev' --prefix './dev'","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"~1.0.5","typescript":"^3.8.3","yargs":"^15.3.1"},"devDependencies":{"@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^3.2.0","@typescript-eslint/parser":"^3.2.0","@wessberg/rollup-plugin-ts":"^1.2.25","ava":"3.8.2","cross-env":"^7.0.2","eslint":"^7.2.0","eslint-config-prettier":"^6.11.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.0.5","rimraf":"^3.0.2","rollup":"^2.16.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.10.2","tslib":"^2.0.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["./ts-node-register-transpile-only"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"2m"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [lwc](https://github.com/salesforce/lwc)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n**or**\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npx web-component-analyzer src\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## ➤ Usage\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n$ wca analyze --outFiles {dir}/custom-element.json\r\n```\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n### Options\r\n\r\n<!-- prettier-ignore -->\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outFiles <path>`         | `file path with pattern`         | Emit output to multiple files using a pattern. Available substitutions:<br>**{dir}**: The directory of the component<br>**{filename}**: The filename (without ext) of the component<br>**{tagname}**: The element's tag name |\r\n| `--visibility <visibility>` | `public` \\| `protected` \\| `private`   | The mininmum member visibility to output. Default is `public`.               |\r\n| `--features <features>` | `member` \\| `method` \\| `cssproperty` \\| `csspart` \\| `event` \\| `slot`   | Choose specific features to output. Multiple features are given seperated by a space. All features are enabled as default.<br>**Example**: `--features member slot event`               |\r\n| `--dry`                     | `boolean`                        | Don't write any files  |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## ➤ Output Formats\r\n\r\n### json\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n<!-- prettier-ignore -->\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n## ➤ API\r\n\r\nYou can also directly use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"1a71064c66a38923aab783e3885feefccfd19589","_id":"web-component-analyzer@1.2.0-next.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-T1/2axCXhw5620t2bLcjhuIW+EivvDf2B96M1y1c2BLLwdUVVisJi5O7A3tQqJfeYLjCjqJ64vSfuDa+v2Z0uw==","shasum":"acdb3729d2e9d72ee2b11f458f37e30066729673","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.2.0-next.0.tgz","fileCount":155,"unpackedSize":771741,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUXNRCRA9TVsSAnZWagAAYEMP/R//x0Zk8QjfHAsdHwBg\n+g+POUfK799d3Put3FAYs65rCZ5XHSIKPOsFXczZK3jxcm/Qdc5YRJhlEpDF\ng4CIPQCEi11oBXHvhIatW6qvVk6YHMfQJSJKSXAKUWkYXHQAZjAhFZ2LhAYn\nv9XOmaDkMa4rK6JjwS4VYuH7t++JTbPIsI9uN/sPcr/vK8KL/nHsTnk5FYxm\nKv2lB/UA13iVQTobTmhjw/Xvn9yk9MkGjfN5Gi/v8BO4ScaQ/m6KoI2aWx88\nytPqGIhyo6gFWEvyJtz7L4dssUfHdcZlaMIM/uwnMUdvCaG0w8JJI6rYRsrn\na/fgVymBz+MbcIlYTVp6EWOIVKqyHlzlLYHwbjicDhsOO0aY0pYBTD4XY8AS\nhz8sRDOkL7cqb12yznMisVhpNLlnaaPqc/0ewhY4c663CWCaD2ooncEibDWN\nXQnxf6ei3Hd1o/fq+CCaQf5NllEpeq04l+2t+qGQ8wcyenipHk6vVfBq4KHu\nFZej4vlVfBcmOGGK4jZLCaRXTc5uW2QPYJjTUwvD/j3Ttg9nALyEM61mxWF5\ng3qZVniFceyA1hde+TVux4nLeStq3gWBjVkbUAy93ymSHq+y8k1tk12srRXj\nOAg7scU1Pix7oyWeA4bogcQsGgzchi2G3Z1Q0XWYsC7E0TbmKpBZsjpr0LiJ\nMCty\r\n=DQRx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxc8QJxh1Q6fvas81hnUfKmZQC8KdJZhOUuqye/W5J5QIgeEQdERE9jHT0/nLdIGsAfieQ4PgU/eXbWa0KwkEx9e4="}]},"maintainers":[{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmUser":{"name":"runebm","email":"runemehlsen@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.2.0-next.0_1599173456398_0.8136168750674115"},"_hasShrinkwrap":false},"2.0.0-next.0":{"name":"web-component-analyzer","version":"2.0.0-next.0","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm i","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"~1.0.5","typescript":"^4.3.2","yargs":"^15.3.1"},"devDependencies":{"@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@rollup/plugin-typescript":"^8.2.1","@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","ava":"^3.15.0","cross-env":"^7.0.2","eslint":"^7.27.0","eslint-config-prettier":"^8.3.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.3.0","rimraf":"^3.0.2","rollup":"^2.50.2","ts-node":"^10.0.0","tslib":"^2.2.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["ts-node/register"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"2m"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [lwc](https://github.com/salesforce/lwc)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n**or**\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npx web-component-analyzer src\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## ➤ Usage\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n$ wca analyze --outFiles {dir}/custom-element.json\r\n```\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n### Options\r\n\r\n<!-- prettier-ignore -->\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outFiles <path>`         | `file path with pattern`         | Emit output to multiple files using a pattern. Available substitutions:<br>**{dir}**: The directory of the component<br>**{filename}**: The filename (without ext) of the component<br>**{tagname}**: The element's tag name |\r\n| `--visibility <visibility>` | `public` \\| `protected` \\| `private`   | The mininmum member visibility to output. Default is `public`.               |\r\n| `--features <features>` | `member` \\| `method` \\| `cssproperty` \\| `csspart` \\| `event` \\| `slot`   | Choose specific features to output. Multiple features are given seperated by a space. All features are enabled as default.<br>**Example**: `--features member slot event`               |\r\n| `--dry`                     | `boolean`                        | Don't write any files  |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## ➤ Output Formats\r\n\r\n### json\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n<!-- prettier-ignore -->\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n## ➤ API\r\n\r\nYou can also directly use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"9eab71d0b7a1198aacbb63752a2906ccc661c8f2","_id":"web-component-analyzer@2.0.0-next.0","_nodeVersion":"16.4.0","_npmVersion":"7.19.0","dist":{"integrity":"sha512-2DTUuBJAD7NlNnu9VR+UKgapsZBvgOdgrjjbmpEz6QyJDHdx981Y7SZ3pXV73ewU8ypCdnNLK1tfKT3p8J+N+g==","shasum":"c91b5cdc0663b226bf11cbea199203b7360435a8","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-2.0.0-next.0.tgz","fileCount":232,"unpackedSize":662719,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7gS0CRA9TVsSAnZWagAAXmQP/RIlNX+oGrkokLRNnrjJ\nKBLqGSgwwAcGivNZJYvlWWdyE3BmmwYh/2+KDYnfxTFXlsG0bsowQl1VqMNR\njidtIUtbq+miMQw+XbvJEJzFmRVc2lzcXiKPEIvYpS589wSxpEqJ3Cf6vojB\nzfnKEUY1gSOvQ3VB3+lwe9d0WBopi7LjdZHv+oHRJM8x/vnfqZ5ys3/0eZtq\nVfFAhx/V+33zk9SGBfOH91U/fSc1C32AsWjJXerO3CcfSrGe9/Zp5IrwveXN\nXiMtS3C7CgzSUAg5OPf/uekIj7Dn1bN5kQR0whnFLMie2s/o2FTD3sjBpm5k\n8fsOucrBrpoKAOKzHD5I4sO3w+pMtpD94nBSI2OpjOKw/ChgGmpNj4iXX3op\nxGQAy7o2nsR4qxWaUzzm3VoV4pJz6wCIADWmqPvmv6m+bvjXHHtOOALZp81p\nuakF0vH+rY8B9JGRg15aqbbDXY7KwdIqBKY5pTHyvqynCSHonufIt19z7snP\nP7Ge41X6pgXvS4D+elV5Dms2Kjm7Om/UeCLwBLByqFiOm8AF8dLnTN/lDtKW\nzdlfWK2FUyaolGUbbFL2ZzpsAQQRyhdO9RY6esqgDl9lX7XMcY7J3pL2nQJJ\nfnWJgZlC48oqk1bneCjaRXyDtWab1WxrL1f8PgbpHcHy9gYTzpA9GKhfWcab\nuqnL\r\n=jqeq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGjuU6T4nGlL3636/7VsDYM6P0p8Km1iEbdzcZOE6OjbAiA/SjODd3dEz6Uwyu+eOnS3DRGuPico6IGaXTC8wdrHAA=="}]},"_npmUser":{"name":"justinfagnani","email":"justin@fagnani.com"},"directories":{},"maintainers":[{"name":"rictic","email":"rictic@gmail.com"},{"name":"justinfagnani","email":"justin@fagnani.com"},{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_2.0.0-next.0_1626211508340_0.870966062351207"},"_hasShrinkwrap":false},"2.0.0-next.1":{"name":"web-component-analyzer","version":"2.0.0-next.1","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm i","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"2.0.0-next.0","typescript":"^4.3.2","yargs":"^15.3.1"},"devDependencies":{"@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@rollup/plugin-typescript":"^8.2.1","@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^4.28.4","@typescript-eslint/parser":"^4.28.4","ava":"^3.15.0","cross-env":"^7.0.2","eslint":"^7.31.0","eslint-config-prettier":"^8.3.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.3.0","rimraf":"^3.0.2","rollup":"^2.50.2","ts-node":"^10.0.0","tslib":"^2.2.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["ts-node/register"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"2m"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [lwc](https://github.com/salesforce/lwc)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n**or**\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npx web-component-analyzer src\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## ➤ Usage\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n$ wca analyze --outFiles {dir}/custom-element.json\r\n```\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n### Options\r\n\r\n<!-- prettier-ignore -->\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outFiles <path>`         | `file path with pattern`         | Emit output to multiple files using a pattern. Available substitutions:<br>**{dir}**: The directory of the component<br>**{filename}**: The filename (without ext) of the component<br>**{tagname}**: The element's tag name |\r\n| `--visibility <visibility>` | `public` \\| `protected` \\| `private`   | The mininmum member visibility to output. Default is `public`.               |\r\n| `--features <features>` | `member` \\| `method` \\| `cssproperty` \\| `csspart` \\| `event` \\| `slot`   | Choose specific features to output. Multiple features are given seperated by a space. All features are enabled as default.<br>**Example**: `--features member slot event`               |\r\n| `--dry`                     | `boolean`                        | Don't write any files  |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## ➤ Output Formats\r\n\r\n### json\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n<!-- prettier-ignore -->\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n## ➤ API\r\n\r\nYou can also directly use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"eebc97c47cad14938988cc1bbcba2e67841a943b","_id":"web-component-analyzer@2.0.0-next.1","_nodeVersion":"16.4.0","_npmVersion":"7.19.0","dist":{"integrity":"sha512-Nj0PwHbKwpueyeTXYzYz7pEMetW5Ri8K1Wh/yqGASZ8u9Uf9Aur/j1awtaj+3vUbx9gpdEb2MQSpHy3hbPOttw==","shasum":"53c9c71f5c3f8b326a8f5c1b1dc31b3454f9cc6a","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-2.0.0-next.1.tgz","fileCount":457,"unpackedSize":494263,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhA1mqCRA9TVsSAnZWagAA9nQP+wZdOzN38zDARg7b+n8H\n6B+kGEp/h4ZlyyJhZCm462HN3cBuyl+47z/OR3Rnq5E8jXHrbbweh3u28++y\nUhZwIQ8O6c4aEFnvmz4RaZpLD0RK3bhL0egwYf3vu0c8s8C8wg+POgPukbMX\nO9TqptcaSGWbgpxKIfvsTINa1VWy7G4x4nbbJ2FdHdbHpFrrHyj+YPDgVWlg\nt85dsd1DKHuqiGSkeTJ/oizWnXbKCzOSYlR6Z7FHrSJnjdzxYYk7N8Rlkq22\nHfGrtD2jsIxqSQiB1pnbRu+WSmZBi5k64lUaMvNzdgkN3+gEzWFa99DTuoIi\n00bWtd93eywKVhmpUOaMKtj60hzz2no2sD6I1W+4YxTcr8m+/iMwCpUjy8jm\n0CBNmSHkvEx0uSW/RF5mJlEzACknSeLzgOaBXMhg1QM+IVHTO4jUOoWX+148\nqYLrqnFJIhAVo4GYdDkCZoxCQWov5ACClPUKCTRTXC8h9vNoPaXElR2qTmlt\nnLR5qhEzOoJlpq6nH2xyveaQf3olQdx82r44Mqfs1SYKhyElk18fbXvnmHuV\nTrxheDyOAIMwDWcbyLj34TYaiq6w1SrUm2qUCUy3M9uEmvd5bZq5L4ztCfRC\nThLKjLc6zpdSKGtBnidqb232Cr9LF+M3Y+S1veaTDc436RrHn6OBg5rObYTK\nRrw/\r\n=MPF2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8ORWcHYGUUA3ky3uN/2LAb6RkJ164DbIf2Qz0qTyIXQIhAP/fUd3Qnqv4s0TBZ06LTryw8WpdeyPW94UcAPD/LDlW"}]},"_npmUser":{"name":"justinfagnani","email":"justin@fagnani.com"},"directories":{},"maintainers":[{"name":"rictic","email":"rictic@gmail.com"},{"name":"justinfagnani","email":"justin@fagnani.com"},{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_2.0.0-next.1_1627609514377_0.14087005631487237"},"_hasShrinkwrap":false},"2.0.0-next.2":{"name":"web-component-analyzer","version":"2.0.0-next.2","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{"import":"./lib/esm/api.js","require":"./lib/cjs/api.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm i","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"2.0.0-next.0","typescript":"^4.3.2","yargs":"^15.3.1"},"devDependencies":{"@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@rollup/plugin-typescript":"^8.2.1","@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^4.28.4","@typescript-eslint/parser":"^4.28.4","ava":"^3.15.0","cross-env":"^7.0.2","eslint":"^7.31.0","eslint-config-prettier":"^8.3.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.3.0","rimraf":"^3.0.2","rollup":"^2.50.2","rollup-plugin-copy":"^3.4.0","ts-node":"^10.0.0","tslib":"^2.2.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["ts-node/register"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"2m"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [lwc](https://github.com/salesforce/lwc)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n**or**\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npx web-component-analyzer src\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## ➤ Usage\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n$ wca analyze --outFiles {dir}/custom-element.json\r\n```\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n### Options\r\n\r\n<!-- prettier-ignore -->\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outFiles <path>`         | `file path with pattern`         | Emit output to multiple files using a pattern. Available substitutions:<br>**{dir}**: The directory of the component<br>**{filename}**: The filename (without ext) of the component<br>**{tagname}**: The element's tag name |\r\n| `--visibility <visibility>` | `public` \\| `protected` \\| `private`   | The mininmum member visibility to output. Default is `public`.               |\r\n| `--features <features>` | `member` \\| `method` \\| `cssproperty` \\| `csspart` \\| `event` \\| `slot`   | Choose specific features to output. Multiple features are given seperated by a space. All features are enabled as default.<br>**Example**: `--features member slot event`               |\r\n| `--dry`                     | `boolean`                        | Don't write any files  |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## ➤ Output Formats\r\n\r\n### json\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n<!-- prettier-ignore -->\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n## ➤ API\r\n\r\nYou can also directly use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"aea5a88ae09349c7478eea0a4516c22ab44e0ec0","_id":"web-component-analyzer@2.0.0-next.2","_nodeVersion":"16.6.0","_npmVersion":"7.19.1","dist":{"integrity":"sha512-y7jRUtFmqgpO3c4l2ZXxyqS87pMeehyPIuR1RO3EovWkmIA0NrSHWwnMPKA0kumwNHPKbuO5ILVHEjPSVHrvTQ==","shasum":"2dec56a388be753043ba3cca5f0d3cc388771ffa","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-2.0.0-next.2.tgz","fileCount":907,"unpackedSize":976274,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQTo9CRA9TVsSAnZWagAAJ3sP/0pdzxCvSKZ7dPrSbYau\nrvmKftOda6xBanE+WnTfYL0Ffqdejouy0UoENvQFmdJ1mME1jUiuEaT7wwG3\nqnr9c47FPtbrRdqI4KyPDyzilvEq8yMIG71t1cf4uPacL03ScM7x122n7ygy\nsYembCtuuf7KfBe8ET6IoHtQgA5nC03rmNFP5LWHeEmdXytQGKPc0YYKcXjd\nciiebwwhbs+DWUA4JEpjh9o/MHhXMJnBdPv6yJihoGVeTbsOIlws0icRblqb\nWpqcIdRz/Brl2WzW1wqMATFK/dLUl0Z25QoF6MFkHI3kFU6RLPzRqVmG5WUB\ny0BRz8JsaqQFEboOzVirUqeTEQMOprOAiSD/0wyv8WPZ9Om48RHXEzGw6Af2\n5RZ70WhcnKQqwKPCntFIWanWkkN4BYoSvl1qLhCPAIVFjcQUwpLAXiv4RYC2\ncHgKPv+YLw4pe+u91JWs8yab6v34dtgp07BAgZ5hC+qoTinrdnV2zvdWQtS8\nNQQnz4YrTJxySsQ0t6uFY6Nc42J3fOZrXeL1goXOKn9+eTyxpFXMDoysaBA9\nrdH2Olpk9OIkHPhUa7x/mTKQMJwJrIsoUQapnNGQB7nFkm+tkJ79NG00uE31\nMtxs14dvAlW9wLuH/NXzLggbVOfEF1kCWvtbbfSTcj4sR+sWu3NjWKmbnQm+\nwRJ+\r\n=MiSk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE8D4wl6vp6kfSmkIEdcSgBsq7e9IemL0By4kfphRohSAiEAwu7QA1PZC88xPB1jZwZREDohvutIt+0FkG6TCkfWYmw="}]},"_npmUser":{"name":"justinfagnani","email":"justin@fagnani.com"},"directories":{},"maintainers":[{"name":"rictic","email":"rictic@gmail.com"},{"name":"justinfagnani","email":"justin@fagnani.com"},{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_2.0.0-next.2_1631664700820_0.141030803677354"},"_hasShrinkwrap":false},"2.0.0-next.3":{"name":"web-component-analyzer","version":"2.0.0-next.3","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{"import":"./lib/esm/api.js","require":"./lib/cjs/api.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm i","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"2.0.0-next.0","typescript":"~4.3.2","yargs":"^15.3.1"},"devDependencies":{"@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@rollup/plugin-typescript":"^8.2.1","@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^4.28.4","@typescript-eslint/parser":"^4.28.4","ava":"^3.15.0","cross-env":"^7.0.2","eslint":"^7.31.0","eslint-config-prettier":"^8.3.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.3.0","rimraf":"^3.0.2","rollup":"^2.50.2","rollup-plugin-copy":"^3.4.0","ts-node":"^10.0.0","tslib":"^2.2.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["ts-node/register"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"2m"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [lwc](https://github.com/salesforce/lwc)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n**or**\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npx web-component-analyzer src\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## ➤ Usage\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n$ wca analyze --outFiles {dir}/custom-element.json\r\n```\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n### Options\r\n\r\n<!-- prettier-ignore -->\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outFiles <path>`         | `file path with pattern`         | Emit output to multiple files using a pattern. Available substitutions:<br>**{dir}**: The directory of the component<br>**{filename}**: The filename (without ext) of the component<br>**{tagname}**: The element's tag name |\r\n| `--visibility <visibility>` | `public` \\| `protected` \\| `private`   | The mininmum member visibility to output. Default is `public`.               |\r\n| `--features <features>` | `member` \\| `method` \\| `cssproperty` \\| `csspart` \\| `event` \\| `slot`   | Choose specific features to output. Multiple features are given seperated by a space. All features are enabled as default.<br>**Example**: `--features member slot event`               |\r\n| `--dry`                     | `boolean`                        | Don't write any files  |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## ➤ Output Formats\r\n\r\n### json\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n<!-- prettier-ignore -->\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n## ➤ API\r\n\r\nYou can also directly use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"6daa3014be0e0cde3cd73cf4ee205bc955c713a6","_id":"web-component-analyzer@2.0.0-next.3","_nodeVersion":"16.6.0","_npmVersion":"7.19.1","dist":{"integrity":"sha512-4EubqKbhaCdtIc1+NQ1Y5oTRfVD7wi31FL5J3PI2VjtiI/G/e3QXvLHc2lLooDWqrqf0V3uNLL0Et9TFXBPY1g==","shasum":"e8ba85aa07b7893c163c7c1026a25736635c95b7","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-2.0.0-next.3.tgz","fileCount":907,"unpackedSize":976400,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQ5dXCRA9TVsSAnZWagAAaQEP/1Q+xuFa+nqcjpKgTfVU\nrcFtLedbRtGXP//gbaYJrvrskV9or/KH2c1UMjOqei/SZ/seMAnuaEk9Pu/D\niGGrHNTWCkUxRxyA03brxyPp0ARhS2bIbfqrU9LbgrNjr5f4I9yMDHkFUCU/\nX0sS1ely+gaXVS6TOoGzC4gBwLcJnLWikqfCexiZ/oOOpPWVgGCi/Uz3jhoG\nY0CB87LRFuop+DvqkdXonSbbxpsSQCj2j7bMtHASzfDRO2zOYfbJ/poepN9S\nFNiamcEYrmUNHTD9+zef3SyRIJ9X98j7De3KoQ98vajh/LNAhZqJSglcsSmV\nCJVzo9KZlsZp/QgKtK3ieSevG575LwonzsCEUWB1q5hKwrsUF3/IPZBIjTeq\n5s+efz6DqyiRtGHlgOLEexRRynCNGB8y0NfL4hxrzSltd4246nWqNAmLeR3i\nWG4YUeJiowvrJo5BEt8TJRALvR/EOCXPQuJoSXYhOSQk1XlnUGauVoKnuePa\nliHANxfbqRt8EwYEm+lhyOeDWrQNH9K557/jbOuQLTXAZsT0bmpJcTGNoVb7\nEkDq8JXdUcs2FiJeZTM74xCNzOTN4ZdvW/R7S7/wTuTqdOyGYgAT2HM+WSiB\nMqjOyml9lEEhVI+VcyRHKd46r7foP7NC6q2jewiKUgjen7iUAwKU/nQlqsBL\nB55J\r\n=6lmT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0JKjTltepwpu3MiS3vxA1BWmAVo72nx8x+GIbRq2A2AIhAJImYksaBuLf3/JBTyl71IJ6XXHAaIeaPsUb8U0gpUVj"}]},"_npmUser":{"name":"justinfagnani","email":"justin@fagnani.com"},"directories":{},"maintainers":[{"name":"rictic","email":"rictic@gmail.com"},{"name":"justinfagnani","email":"justin@fagnani.com"},{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_2.0.0-next.3_1631819607041_0.9877741970497087"},"_hasShrinkwrap":false},"2.0.0-next.4":{"name":"web-component-analyzer","version":"2.0.0-next.4","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{"import":"./lib/esm/api.js","require":"./lib/cjs/api.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm i","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"2.0.0-next.0","typescript":"~4.4.3","yargs":"^15.3.1"},"devDependencies":{"@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@rollup/plugin-typescript":"^8.2.1","@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^4.28.4","@typescript-eslint/parser":"^4.28.4","ava":"^3.15.0","cross-env":"^7.0.2","eslint":"^7.31.0","eslint-config-prettier":"^8.3.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.3.0","rimraf":"^3.0.2","rollup":"^2.50.2","rollup-plugin-copy":"^3.4.0","ts-node":"^10.0.0","tslib":"^2.2.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["ts-node/register"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"2m"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"gitHead":"be1dd3cbcfe4f8a5a37b6cccc9232a1588303372","_id":"web-component-analyzer@2.0.0-next.4","_nodeVersion":"17.5.0","_npmVersion":"8.4.1","dist":{"integrity":"sha512-XZ4JOibgp+3OKAQ6K9v4gJOoHAurfXztbfX6FwqXIh4cNLTwHz4QcLDOFav+2ddKGpshM4MQrJaPCPXZeCv5+A==","shasum":"bf8f88f10f2baaf2d73bec30fc5c5f7526508287","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-2.0.0-next.4.tgz","fileCount":459,"unpackedSize":720688,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVpBBuNETVBQ3poB+kNhMsDgVIGiNGWZUV5AodpV+HYwIhAObbyv+oQeI2fYz/ScvkytYXj2CLs/girbAxx+THU0OM"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiR1nmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqImw/6AmWGf09J/zA9ZdGNVVPi9IGG7JG5e7w9+UPN1NTSj558yMGA\r\nUB++5/dZ7lwgnPj3mHkEIlFZ2OZrPTccElPsNVSJwmlCSoNGTihA/JenWaq8\r\nSKrok8zYYxezrQIAjxGVQkPyGaqngl8Km6BRwv+5nqj00C6pM0Yz0reohsJv\r\nDBeAVz0Jcia9Mf3isOZfUsPgkmGy1BrgJdSHSJRhTwnFXvZbB/OVypYcwNBn\r\nd5bBuZc6G70bnentQaJ75SzN4DY2UY9tlFVR4yhqzsMPI6hRtWJgor52O1aY\r\nIL3FJ9w+OeEF1mmDa7dEXo5fUP9VgM9Gdr/bHknBuA5Nws/WDPL9dzfd1Zm3\r\nOlIOx2R9a1PZTowzDbbwJ7um2r/cpVxev0syPb7gSU9DSjzahhFEzPlgrpCx\r\nVZ7cUMyMZHyZBS3YcuhoCeWo30YZsOgQQG+h187lB0eKDOOompaZA4kNGqM/\r\nWhBI9Uu0H3xIp3RUECwxlNTD8gYjKckD+uSyu217DmH+oIsX9VBcvsmKiGgU\r\n2Fo8KcZ2E+lGIFQ3EeCY6E3SBpuIvQD58RLW5ejFelCGEfjkx3UHABs3rsUn\r\n6lrANDFS3jD4rsM2NViAnemAuv6ZO7zKOdYn09VzbuL3UEBFzia82QqUXK9i\r\ntGxCjSvDdSqOX0Ra7HIzetHjB8nKbuemARc=\r\n=lT+R\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"rictic","email":"rictic@gmail.com"},"directories":{},"maintainers":[{"name":"rictic","email":"rictic@gmail.com"},{"name":"justinfagnani","email":"justin@fagnani.com"},{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_2.0.0-next.4_1648843238619_0.29868772058281556"},"_hasShrinkwrap":false},"1.1.7":{"name":"web-component-analyzer","version":"1.1.7","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"npm install --cwd './dev' --prefix './dev'","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"~1.0.5","typescript":"^3.8.3","yargs":"^15.3.1"},"devDependencies":{"@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^3.2.0","@typescript-eslint/parser":"^3.2.0","@wessberg/rollup-plugin-ts":"^1.2.25","ava":"3.8.2","cross-env":"^7.0.2","eslint":"^7.2.0","eslint-config-prettier":"^6.11.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.0.5","rimraf":"^3.0.2","rollup":"^2.16.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","ts-node":"^8.10.2","tslib":"^2.0.0","typescript-3.5":"npm:typescript@~3.5.3","typescript-3.6":"npm:typescript@~3.6.4","typescript-3.7":"npm:typescript@~3.7.4","typescript-3.8":"npm:typescript@~3.8.0","typescript-5.0":"npm:typescript@~5.0.3"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["./ts-node-register-transpile-only"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"2m"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"gitHead":"c2588c72c9c32486611ebfb98b7f811ba2a39bc2","_id":"web-component-analyzer@1.1.7","_nodeVersion":"14.21.3","_npmVersion":"6.14.18","dist":{"integrity":"sha512-SqCqN4nU9fU+j0CKXJQ8E4cslLsaezhagY6xoi+hoNPPd55GzR6MY1r5jkoJUVu+g4Wy4uB+JglTt7au4vQ1uA==","shasum":"dad7f5a91f3b095c5a54f0f48d2dccb810c96b89","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.1.7.tgz","fileCount":155,"unpackedSize":745314,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrxDRaD3pTsCmfDa/hqlWQkgBPUuD8H9G/dtiydNheiQIhAKOJ4CKtobbLXsjUBwfkGz4Hwpcr1vvzDibu9wwqic9M"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNGZZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJ7w//eWI+0x+spLaJ5c7RVIqPDW6GiEC11M6ttfbvid9HIpuLVY4A\r\n1cVDuHqNTm40bVDbaW3w9jQcSjABQqgbGTk1p43Qb9QwIVUJKlMZunB5bfLl\r\n9/cuWQpUg3ILlQMwCKcnnIzyhZ4GWRNnagml78WuLzgUpPLHzaiulb+GePaV\r\ny7h4+NkWpOmi00NiajTQUej7TE4JYoarjI+VtIsqzdrr/uFdM8xxoaBDIXAt\r\n5yQEEWG5sFfn7HH4VdbwQCbGVGtSty28IryHjno6qSfXL9KSizegwGOIZO3V\r\nyjbzBKG9wgmMeP8Q8hTVdw7U58GKMGiVzuHvti9JI2V3wSZu9gyjKHq1fkCj\r\nwJ5nuOof5HJ5nPylabxSv0R6jGJrgJSSSbawSQcVvPpYbVf89XKeWSrOj0ot\r\nACWti6SbLHOXt2NurbjwSA84cTZMvwWpmI4YBSotB5/IbSI8YyLP6qSJAOH+\r\nyQJnzLLBULEEN6bQOlFTGiRtBnvgJbt00vVB289/WPZrdidxT3m+hgJHknru\r\n6eK6qr12AScfKWRBAPQ8m3Z53ja7MEN7GRfiFGrYofhdo56wEOjcLpTl6k1x\r\nfmsD3gJhfm1G+6Eeohkj2So/nxv/MeQacPR/JUkSjh2EBLwl34vPjTR6AMB5\r\n2MwZZshGsWOEK+5x5ieapLHSqxJnBy28Qu4=\r\n=5Ht2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"rictic","email":"rictic@gmail.com"},"directories":{},"maintainers":[{"name":"rictic","email":"rictic@gmail.com"},{"name":"justinfagnani","email":"justin@fagnani.com"},{"name":"bicknellr","email":"bicknellr@gmail.com"},{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_1.1.7_1681155673531_0.11736160349055291"},"_hasShrinkwrap":false},"2.0.0-next.5":{"name":"web-component-analyzer","version":"2.0.0-next.5","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{"import":"./lib/esm/api.js","require":"./lib/cjs/api.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm i","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"2.0.0-next.0","typescript":"~4.4.3","yargs":"^15.3.1"},"devDependencies":{"@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@rollup/plugin-typescript":"^8.2.1","@types/node":"^14.0.13","@types/yargs":"^15.0.5","@typescript-eslint/eslint-plugin":"^4.28.4","@typescript-eslint/parser":"^4.28.4","ava":"^3.15.0","cross-env":"^7.0.2","eslint":"^7.31.0","eslint-config-prettier":"^8.3.0","husky":"^4.2.5","lint-staged":"^10.2.10","prettier":"^2.3.0","rimraf":"^3.0.2","rollup":"^2.50.2","rollup-plugin-copy":"^3.4.0","ts-node":"^10.0.0","tslib":"^2.2.0","typescript-4.0":"npm:typescript@~4.0.0","typescript-4.5":"npm:typescript@~4.5.0","typescript-4.8":"npm:typescript@~4.8.0","typescript-5.0":"npm:typescript@~5.0.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["ts-node/register"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"2m"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.{ts,js}":"eslint --fix","*.{ts,js,md,json}":"prettier --write"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"readme":"<h1 align=\"center\">web-component-analyzer</h1>\r\n\r\n<p align=\"center\">\r\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\r\n</p>\r\n\r\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\r\n\r\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\r\n\r\n- [lit-element](https://github.com/Polymer/lit-element)\r\n- [polymer](https://github.com/Polymer/polymer)\r\n- [stencil](https://github.com/ionic-team/stencil) (partial)\r\n- [lwc](https://github.com/salesforce/lwc)\r\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npm install -g web-component-analyzer\r\n```\r\n\r\n**or**\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ npx web-component-analyzer src\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\r\n\r\n## ➤ Usage\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\n$ wca analyze\r\n$ wca analyze src --format markdown\r\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\r\n$ wca analyze my-element.js --outFile custom-elements.json\r\n$ wca analyze --outFiles {dir}/custom-element.json\r\n```\r\n\r\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\r\n\r\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\r\n\r\n### Options\r\n\r\n<!-- prettier-ignore -->\r\n| Option                      | Type                             | Description                                                                  |\r\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\r\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\r\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\r\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\r\n| `--outFiles <path>`         | `file path with pattern`         | Emit output to multiple files using a pattern. Available substitutions:<br>**{dir}**: The directory of the component<br>**{filename}**: The filename (without ext) of the component<br>**{tagname}**: The element's tag name |\r\n| `--visibility <visibility>` | `public` \\| `protected` \\| `private`   | The mininmum member visibility to output. Default is `public`.               |\r\n| `--features <features>` | `member` \\| `method` \\| `cssproperty` \\| `csspart` \\| `event` \\| `slot`   | Choose specific features to output. Multiple features are given seperated by a space. All features are enabled as default.<br>**Example**: `--features member slot event`               |\r\n| `--dry`                     | `boolean`                        | Don't write any files  |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\r\n\r\n## ➤ Output Formats\r\n\r\n### json\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format json --outFile custom-elements.json\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\r\n\r\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\r\n\r\n- https://github.com/webcomponents/custom-elements-json\r\n- https://github.com/w3c/webcomponents/issues/776\r\n\r\n### markdown\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format markdown --outDir readme\r\n```\r\n\r\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\r\n\r\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\r\n\r\n### vscode\r\n\r\n<!-- prettier-ignore -->\r\n```bash\r\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\r\n```\r\n\r\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\r\n\r\n## ➤ How to document your components using JSDoc\r\n\r\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\r\n\r\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\n/**\r\n * Here is a description of my web component.\r\n * \r\n * @element my-element\r\n * \r\n * @fires change - This jsdoc tag makes it possible to document events.\r\n * @fires submit\r\n * \r\n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\r\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\r\n * @attr [my-attr=default value]\r\n * \r\n * @prop {String} myProp - You can use this jsdoc tag to document properties.\r\n * @prop value\r\n * \r\n * @slot - This is an unnamed slot (the default slot)\r\n * @slot start - This is a slot named \"start\".\r\n * @slot end\r\n * \r\n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\r\n * @cssprop [--main-color=red]\r\n\r\n * @csspart container \r\n */\r\nclass MyElement extends HTMLElement {\r\n\r\n /**\r\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\r\n  * @type {\"red\"|\"green\"|\"blue\"}\r\n  * @attr\r\n  */\r\n  color = \"red\";\r\n\r\n  /**\r\n   * This is a description of a property with an attribute called \"my-prop\".\r\n   * @type {number}\r\n   * @deprecated\r\n   * @attr my-prop\r\n   */\r\n  myProp = 10\r\n\r\n  static get observedAttributes () {\r\n    return [\r\n      /**\r\n       * The header text of this element\r\n       */\r\n      \"header\"\r\n    ];\r\n  }\r\n\r\n}\r\n```\r\n\r\n### Overview of supported JSDoc tags\r\n\r\n<!-- prettier-ignore -->\r\n| JSDoc Tag                    | Description                                                                                                                                  |\r\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\r\n| `@fires`                     | Documents events.                                                                                                                            |\r\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\r\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\r\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\r\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\r\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ How does this tool analyze my components?\r\n\r\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\r\n\r\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\r\n\r\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\r\n\r\n## ➤ API\r\n\r\nYou can also directly use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\r\n\r\n### Analyze Typescript source file\r\n\r\n<!-- prettier-ignore -->\r\n```typescript\r\nimport { analyzeSourceFile } from \"web-component-analyzer\";\r\n\r\nconst result = analyzeSourceFile(sourceFile, { checker });\r\n```\r\n\r\n### Analyze text\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { analyzeText } from \"web-component-analyzer\";\r\n\r\nconst code = `class MyElement extends HTMLElement {\r\n\r\n}\r\n\r\ncustomElements.define(\"my-element\", MyElement);\r\n`;\r\n\r\n\r\nconst { results, program } = analyzeText(code);\r\n// or\r\nconst { results, program } = analyzeText([\r\n  { fileName: \"file1.js\", text: code },\r\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\r\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\r\n]);\r\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\r\n```\r\n\r\n### Transform the result\r\n\r\n<!-- prettier-ignore -->\r\n```javascript\r\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\r\n\r\nconst result = // the result of analyzing the component using one of the above functions\r\n\r\nconst format = \"markdown\"; // or \"json\"\r\n\r\nconst output = transformAnalyzerResult(format, result, program);\r\n\r\n// \"output\" is now a string containing the result of the \"markdown\" transformer\r\n```\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\r\n\r\n## ➤ Contributors\r\n\r\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\r\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\r\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\r\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\r\n\r\nLicensed under [MIT](https://opensource.org/licenses/MIT).\r\n","readmeFilename":"README.md","gitHead":"08e9ff3122754d030bac347231ea12c757eacfe3","_id":"web-component-analyzer@2.0.0-next.5","_nodeVersion":"20.1.0","_npmVersion":"9.6.4","dist":{"integrity":"sha512-QaQwuwFaBuwc7RwX0KdR9bc57s9Jqj+PcekIt3c7WXRY4vGOr/rjyG8YWuT2R7KmGBh+KrCdY/KynMlWRCVR3w==","shasum":"90cc5bb41801476cb8eb5588e7be183b52173449","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-2.0.0-next.5.tgz","fileCount":459,"unpackedSize":722986,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFiEhE4sRitHi/NGA25iGixvNnJIEz61UsD44Fs4qMrnAiEAztLPCy28JLcRob28Au3K1lw0UEuQRB61wGFRl3klKTI="}]},"_npmUser":{"name":"rictic","email":"rictic@gmail.com"},"directories":{},"maintainers":[{"name":"rictic","email":"rictic@gmail.com"},{"name":"justinfagnani","email":"justin@fagnani.com"},{"name":"bicknellr","email":"bicknellr@gmail.com"},{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_2.0.0-next.5_1686609695722_0.7082053533681241"},"_hasShrinkwrap":false},"2.0.0":{"name":"web-component-analyzer","version":"2.0.0","description":"CLI that analyzes web components","main":"lib/cjs/api.js","module":"lib/esm/api.js","typings":"lib/cjs/api.d.ts","exports":{"import":"./lib/esm/api.js","require":"./lib/cjs/api.js"},"scripts":{"clean":"rimraf lib","prepare":"npm run build && husky install","build":"npm run clean & rollup -c","watch":"rollup -c --watch","pretest":"cd dev && npm i","test":"cross-env TS_MODULE=current ava","test:all":"ava","lint":"eslint . --ext ts --ext js","test:update":"ava --update-snapshots","test:watch":"ava --watch","prettier:check":"prettier --check \"src/**/*.{ts,tsx}\"","prettier:write":"prettier --write \"src/**/*.{ts,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"keywords":["web components","web","components"],"contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"},"license":"MIT","bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"homepage":"https://github.com/runem/web-component-analyzer#readme","dependencies":{"fast-glob":"^3.2.2","ts-simple-type":"2.0.0-next.0","typescript":"~5.2.0","yargs":"^17.7.2"},"devDependencies":{"@rollup/plugin-node-resolve":"^15.2.3","@rollup/plugin-replace":"^5.0.3","@rollup/plugin-typescript":"^11.1.5","@types/node":"^18.0.13","@types/yargs":"^17.0.28","@typescript-eslint/eslint-plugin":"^6.7.5","@typescript-eslint/parser":"^6.7.5","ava":"^3.15.0","cross-env":"^7.0.2","eslint":"^8.51.0","eslint-config-prettier":"^9.0.0","husky":"^8.0.0","lint-staged":"^14.0.1","prettier":"^3.0.3","rimraf":"^3.0.2","rollup":"^4.0.2","rollup-plugin-copy":"^3.5.0","ts-node":"^10.9.1","tslib":"^2.6.2","typescript-4.8":"npm:typescript@~4.8.0","typescript-4.9":"npm:typescript@~4.9.0","typescript-5.0":"npm:typescript@~5.0.0","typescript-5.1":"npm:typescript@~5.1.0"},"ava":{"snapshotDir":"test/snapshots/results","extensions":["ts"],"require":["ts-node/register"],"files":["test/**/*.ts","!test/{helpers,snapshots}/**/*"],"timeout":"2m"},"bin":{"wca":"cli.js","web-component-analyzer":"cli.js"},"_id":"web-component-analyzer@2.0.0","gitHead":"4a852d9a185ade2600f0598943759df46997d2c2","_nodeVersion":"20.5.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-UEvwfpD+XQw99sLKiH5B1T4QwpwNyWJxp59cnlRwFfhUW6JsQpw5jMeMwi7580sNou8YL3kYoS7BWLm+yJ/jVQ==","shasum":"38a66055ae2340fceaea84f19f9ee3f15233ba28","tarball":"https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-2.0.0.tgz","fileCount":459,"unpackedSize":721555,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH+qzwNUb+JNnE/AphT3oCoqPuDdrUizAtGziymntTAeAiEAibJ79+moc8xDVSTk0yOcg+UajpbJUyrpcXfrFSkbmfU="}]},"_npmUser":{"name":"rictic","email":"rictic@gmail.com"},"directories":{},"maintainers":[{"name":"rictic","email":"rictic@gmail.com"},{"name":"justinfagnani","email":"justin@fagnani.com"},{"name":"bicknellr","email":"bicknellr@gmail.com"},{"name":"runebm","email":"runemehlsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/web-component-analyzer_2.0.0_1697669679642_0.8713516936612764"},"_hasShrinkwrap":false}},"time":{"created":"2019-03-09T13:38:10.092Z","0.0.1":"2019-03-09T13:38:10.296Z","modified":"2023-10-18T22:54:40.072Z","0.0.2":"2019-03-09T13:44:39.067Z","0.0.3":"2019-03-09T13:45:42.321Z","0.0.4":"2019-03-09T15:05:55.777Z","0.0.5":"2019-03-09T15:34:53.958Z","0.0.6":"2019-03-09T18:50:19.460Z","0.0.7":"2019-03-09T22:00:23.052Z","0.0.8":"2019-03-09T22:24:50.300Z","0.0.9":"2019-03-10T00:05:07.194Z","0.0.10":"2019-03-10T13:07:14.063Z","0.0.11":"2019-03-10T13:57:04.755Z","0.0.12":"2019-03-10T14:33:48.086Z","0.0.13":"2019-03-10T14:41:43.905Z","0.0.14":"2019-03-10T15:30:23.881Z","0.0.15":"2019-03-13T18:19:40.945Z","0.0.16":"2019-03-13T18:22:35.741Z","0.0.17":"2019-03-13T18:50:31.174Z","0.0.18":"2019-03-13T19:04:05.381Z","0.0.19":"2019-03-14T13:48:33.628Z","0.0.20":"2019-03-14T14:27:48.604Z","0.0.21":"2019-03-14T14:53:00.551Z","0.0.22":"2019-03-14T15:01:07.517Z","0.0.24":"2019-03-14T18:22:42.843Z","0.0.25":"2019-03-14T21:58:02.467Z","0.0.26":"2019-03-14T23:13:00.783Z","0.0.27":"2019-03-15T10:47:41.040Z","0.0.29":"2019-03-15T23:07:12.613Z","0.0.30":"2019-03-15T23:24:33.514Z","0.0.31":"2019-03-15T23:49:31.322Z","0.0.32":"2019-03-16T00:20:16.597Z","0.0.33":"2019-03-17T16:52:39.981Z","0.0.34":"2019-03-18T18:17:46.266Z","0.0.35":"2019-03-18T18:27:44.446Z","0.0.36":"2019-03-19T12:40:23.439Z","0.0.37":"2019-03-19T19:52:06.922Z","0.0.38":"2019-03-20T13:26:13.034Z","0.0.39":"2019-03-27T21:59:08.367Z","0.0.40":"2019-03-28T14:31:40.997Z","0.0.41":"2019-03-31T21:15:17.789Z","0.0.42":"2019-04-02T09:51:39.670Z","0.0.43":"2019-04-09T16:29:21.823Z","0.1.0":"2019-04-23T19:12:43.852Z","0.1.1":"2019-04-24T17:34:56.765Z","0.1.2":"2019-05-02T09:42:59.657Z","0.1.3":"2019-05-08T20:16:49.296Z","0.1.4":"2019-05-10T22:09:22.055Z","0.1.5":"2019-05-15T19:06:09.870Z","0.1.6":"2019-05-18T14:06:21.661Z","0.1.7":"2019-05-24T10:51:10.081Z","0.1.8":"2019-05-28T16:20:58.592Z","0.1.9":"2019-06-19T10:58:48.132Z","0.1.10":"2019-06-26T18:46:15.992Z","0.1.11":"2019-07-21T23:07:24.048Z","0.1.12":"2019-08-01T22:24:11.525Z","0.1.13":"2019-08-03T20:21:05.101Z","0.1.14":"2019-08-06T18:33:05.154Z","0.1.15":"2019-08-06T19:19:21.353Z","0.1.16":"2019-08-25T20:53:29.043Z","0.1.17":"2019-10-17T16:21:26.586Z","0.1.18":"2019-10-29T22:51:18.658Z","0.1.19":"2019-11-02T23:22:08.649Z","0.1.20":"2019-11-03T00:34:16.918Z","0.1.21":"2019-11-29T14:36:53.254Z","1.0.0-next.0":"2019-11-29T15:26:58.048Z","1.0.0-next.1":"2019-11-29T15:33:02.924Z","1.0.0-next.2":"2019-11-30T19:37:58.552Z","1.0.0-next.3":"2019-11-30T20:13:39.370Z","1.0.0-next.4":"2019-11-30T21:00:33.447Z","1.0.0-next.5":"2019-12-01T00:10:58.262Z","1.0.0-next.6":"2019-12-01T09:19:12.049Z","1.0.0-next.7":"2019-12-01T09:53:27.565Z","1.0.0-next.8":"2019-12-01T10:07:08.877Z","1.0.0-next.9":"2019-12-01T10:14:35.424Z","1.0.0-next.10":"2019-12-02T10:54:59.054Z","1.0.0-next.11":"2019-12-02T12:21:04.343Z","1.0.0-next.12":"2019-12-02T14:40:19.925Z","1.0.0-next.13":"2019-12-02T20:29:27.334Z","1.0.0-next.14":"2019-12-03T16:48:08.955Z","1.0.0-next.15":"2019-12-03T18:44:44.346Z","1.0.0-next.16":"2019-12-05T16:49:17.491Z","1.0.0-next.17":"2019-12-11T22:29:58.371Z","1.0.0-next.18":"2019-12-12T18:42:03.184Z","1.0.0":"2019-12-12T19:54:14.542Z","1.0.1":"2020-01-03T09:36:51.137Z","1.0.2":"2020-01-18T15:54:51.221Z","1.0.3":"2020-02-12T17:50:41.086Z","1.1.0-next.1":"2020-06-13T20:04:49.738Z","1.1.0-next.2":"2020-06-26T15:17:39.653Z","1.1.0-next.3":"2020-07-10T15:04:33.169Z","1.1.0":"2020-07-12T12:58:27.575Z","1.1.1":"2020-07-12T20:30:34.371Z","1.1.2":"2020-07-14T18:20:33.504Z","1.1.3":"2020-07-14T18:30:54.487Z","1.1.4":"2020-07-14T20:09:12.965Z","1.1.5":"2020-07-15T16:46:48.155Z","1.1.6":"2020-07-16T17:43:45.905Z","1.2.0-next.0":"2020-09-03T22:50:56.600Z","2.0.0-next.0":"2021-07-13T21:25:08.518Z","2.0.0-next.1":"2021-07-30T01:45:14.499Z","2.0.0-next.2":"2021-09-15T00:11:41.034Z","2.0.0-next.3":"2021-09-16T19:13:27.225Z","2.0.0-next.4":"2022-04-01T20:00:38.909Z","1.1.7":"2023-04-10T19:41:13.693Z","2.0.0-next.5":"2023-06-12T22:41:36.028Z","2.0.0":"2023-10-18T22:54:39.891Z"},"maintainers":[{"name":"rictic","email":"rictic@gmail.com"},{"name":"justinfagnani","email":"justin@fagnani.com"},{"name":"bicknellr","email":"bicknellr@gmail.com"},{"name":"runebm","email":"runemehlsen@gmail.com"}],"description":"CLI that analyzes web components","homepage":"https://github.com/runem/web-component-analyzer#readme","keywords":["web components","web","components"],"repository":{"type":"git","url":"git+https://github.com/runem/web-component-analyzer.git"},"bugs":{"url":"https://github.com/runem/web-component-analyzer/issues"},"license":"MIT","readme":"<h1 align=\"center\">web-component-analyzer</h1>\n\n<p align=\"center\">\n\t<a href=\"https://npmcharts.com/compare/web-component-analyzer?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/web-component-analyzer.svg\" height=\"20\"/></a>\n\t<a href=\"https://www.npmjs.com/package/web-component-analyzer\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/web-component-analyzer.svg\" height=\"20\"/></a>\n\t<a href=\"https://david-dm.org/runem/web-component-analyzer\"><img alt=\"Dependencies\" src=\"https://img.shields.io/david/runem/web-component-analyzer.svg\" height=\"20\"/></a>\n\t<a href=\"https://github.com/runem/web-component-analyzer/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/runem/web-component-analyzer.svg\" height=\"20\"/></a>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://user-images.githubusercontent.com/5372940/68087781-1044ce80-fe59-11e9-969c-4234f9287f1b.gif\" alt=\"Web component analyzer GIF\"/>\n</p>\n\n`web-component-analyzer` is a CLI that makes it possible to easily analyze web components. It analyzes your code and jsdoc in order to extract `properties`, `attributes`, `methods`, `events`, `slots`, `css shadow parts` and `css custom properties`. Works with both javascript and typescript.\n\nTry the online playground [here](https://runem.github.io/web-component-analyzer/)\n\nIn addition to [vanilla web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) this tool supports web components built with the following libraries:\n\n- [lit-element](https://github.com/Polymer/lit-element)\n- [polymer](https://github.com/Polymer/polymer)\n- [stencil](https://github.com/ionic-team/stencil) (partial)\n- [lwc](https://github.com/salesforce/lwc)\n- [open an issue for library requests](https://github.com/runem/web-component-analyzer/issues)\n\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\n\n## ➤ Installation\n\n<!-- prettier-ignore -->\n```bash\n$ npm install -g web-component-analyzer\n```\n\n**or**\n\n<!-- prettier-ignore -->\n```bash\n$ npx web-component-analyzer src\n```\n\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#usage)\n\n## ➤ Usage\n\n<!-- prettier-ignore -->\n```bash\n$ wca analyze\n$ wca analyze src --format markdown\n$ wca analyze \"src/**/*.{js,ts}\" --outDir components\n$ wca analyze my-element.js --outFile custom-elements.json\n$ wca analyze --outFiles {dir}/custom-element.json\n```\n\n<img src=\"https://user-images.githubusercontent.com/5372940/54445420-02fd9700-4745-11e9-9305-47d6ec3c6307.gif\" />\n\nThe analyze command analyses an optional `<input glob>` and emits the output to the console as default. When the `<input glob>` is omitted it will find all components excluding `node_modules`. The default format is `markdown`.\n\n### Options\n\n<!-- prettier-ignore -->\n| Option                      | Type                             | Description                                                                  |\n| --------------------------- | -------------------------------- | ---------------------------------------------------------------------------- |\n| `--format <format>`         | `markdown` \\| `json` \\| `vscode` | Specify output format. Default is `markdown`.                                |\n| `--outDir <path>`           | `directory path`                 | Direct output to a directory where each file corresponds to a web component. |\n| `--outFile <path>`          | `file path`                      | Concatenate and emit output to a single file.                                |\n| `--outFiles <path>`         | `file path with pattern`         | Emit output to multiple files using a pattern. Available substitutions:<br>**{dir}**: The directory of the component<br>**{filename}**: The filename (without ext) of the component<br>**{tagname}**: The element's tag name |\n| `--visibility <visibility>` | `public` \\| `protected` \\| `private`   | The mininmum member visibility to output. Default is `public`.               |\n| `--features <features>` | `member` \\| `method` \\| `cssproperty` \\| `csspart` \\| `event` \\| `slot`   | Choose specific features to output. Multiple features are given seperated by a space. All features are enabled as default.<br>**Example**: `--features member slot event`               |\n| `--dry`                     | `boolean`                        | Don't write any files  |\n\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#api)\n\n## ➤ Output Formats\n\n### json\n\n<!-- prettier-ignore -->\n```bash\nwca analyze src --format json --outFile custom-elements.json\n```\n\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=json)\n\nThis json format is for experimental and demo purposes, and is still being actively discussed. You can expect changes to this format. Please follow and contribute to the discussion at:\n\n- https://github.com/webcomponents/custom-elements-json\n- https://github.com/w3c/webcomponents/issues/776\n\n### markdown\n\n<!-- prettier-ignore -->\n```bash\nwca analyze src --format markdown --outDir readme\n```\n\nTry the online playground [here](https://runem.github.io/web-component-analyzer?format=markdown)\n\nWeb Component Analyzer can output markdown documentation of your web components. This can either be output into a single file using `--outFile` or into multiple files using `--outDir`.\n\n### vscode\n\n<!-- prettier-ignore -->\n```bash\nwca analyze src --format vscode --outFile vscode-html-custom-data.json\n```\n\nVSCode supports a JSON format called [vscode custom data](https://github.com/microsoft/vscode-custom-data) for the built in html editor which is set using `html.customData` vscode setting. Web Component Analyzer can output this format.\n\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\n\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-to-document-your-components-using-jsdoc)\n\n## ➤ How to document your components using JSDoc\n\nIn addition to analyzing the code of your components, this library also use JSDoc to construct the documentation. It's especially a good idea to use JSDoc for documenting `slots`, `events`, `css custom properties` and `css shadow parts` as these not analyzed statically by this tool as of now (except when constructing a CustomEvent within your component).\n\nHere's an example including all supported JSDoc tags. All JSDoc tags are on the the form `@tag {type} name - comment` and `@tag {type} [name=default] - comment`.\n\n<!-- prettier-ignore -->\n```javascript\n/**\n * Here is a description of my web component.\n * \n * @element my-element\n * \n * @fires change - This jsdoc tag makes it possible to document events.\n * @fires submit\n * \n * @attr {Boolean} disabled - This jsdoc tag documents an attribute.\n * @attr {on|off} switch - Here is an attribute with either the \"on\" or \"off\" value.\n * @attr [my-attr=default value]\n * \n * @prop {String} myProp - You can use this jsdoc tag to document properties.\n * @prop value\n * \n * @slot - This is an unnamed slot (the default slot)\n * @slot start - This is a slot named \"start\".\n * @slot end\n * \n * @cssprop --main-bg-color - This jsdoc tag can be used to document css custom properties.\n * @cssprop [--main-color=red]\n\n * @csspart container \n */\nclass MyElement extends HTMLElement {\n\n /**\n  * This is a description of a property with an attribute with exactly the same name: \"color\".\n  * @type {\"red\"|\"green\"|\"blue\"}\n  * @attr\n  */\n  color = \"red\";\n\n  /**\n   * This is a description of a property with an attribute called \"my-prop\".\n   * @type {number}\n   * @deprecated\n   * @attr my-prop\n   */\n  myProp = 10\n\n  static get observedAttributes () {\n    return [\n      /**\n       * The header text of this element\n       */\n      \"header\"\n    ];\n  }\n\n}\n```\n\n### Overview of supported JSDoc tags\n\n<!-- prettier-ignore -->\n| JSDoc Tag                    | Description                                                                                                                                  |\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\n| `@element`                   | Gives your component a tag name. This JSDoc tag is useful if your 'customElements.define` is called dynamically eg. using a custom function. |\n| `@fires`                     | Documents events.                                                                                                                            |\n| `@slot`                      | Documents slots. Using an empty name here documents the unnamed (default) slot.                                                              |\n| `@attr` or `@attribute`      | Documents an attribute on your component.                                                                                                    |\n| `@prop` or `@property`       | Documents a property on your component.                                                                                                      |\n| `@cssprop` or `@cssproperty` | Documents a css custom property on your component.                                                                                           |\n| `@csspart`                   | Documents a css shadow part on your component.                                                                                               |\n\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\n\n## ➤ How does this tool analyze my components?\n\nThis tool extract information about your components by looking at your code directly and by looking at your JSDoc comments.\n\n**Code**: Web Component Analyzer supports multiple libraries. [Click here](https://github.com/runem/web-component-analyzer/blob/master/ANALYZE.md) for an overview of how each library is analyzed.\n\n**JSDoc**: Read next section to learn more about how JSDoc is analyzed.\n\n## ➤ API\n\nYou can also directly use the underlying functionality of this tool if you don't want to use the CLI. Web Component Analyzer analyzes Typescript source files, so you will have to include the Typescript parser. Here are some examples of how to use the API.\n\n### Analyze Typescript source file\n\n<!-- prettier-ignore -->\n```typescript\nimport { analyzeSourceFile } from \"web-component-analyzer\";\n\nconst result = analyzeSourceFile(sourceFile, { checker });\n```\n\n### Analyze text\n\n<!-- prettier-ignore -->\n```javascript\nimport { analyzeText } from \"web-component-analyzer\";\n\nconst code = `class MyElement extends HTMLElement {\n\n}\n\ncustomElements.define(\"my-element\", MyElement);\n`;\n\n\nconst { results, program } = analyzeText(code);\n// or\nconst { results, program } = analyzeText([\n  { fileName: \"file1.js\", text: code },\n  { fileName: \"file2.js\", text: \"...\" }, // these files can depend on each other\n  { fileName: \"file3.js\", text: \"...\", analyze: false }\n]);\n// each result in \"results\" is the result of analyzing the corresponding text where \"analyze\" is not false\n```\n\n### Transform the result\n\n<!-- prettier-ignore -->\n```javascript\nimport { transformAnalyzerResult } from \"web-component-analyzer\";\n\nconst result = // the result of analyzing the component using one of the above functions\n\nconst format = \"markdown\"; // or \"json\"\n\nconst output = transformAnalyzerResult(format, result, program);\n\n// \"output\" is now a string containing the result of the \"markdown\" transformer\n```\n\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#how-does-this-tool-analyze-my-components)\n\n## ➤ Contributors\n\n| [<img alt=\"Rune Mehlsen\" src=\"https://avatars0.githubusercontent.com/u/5372940?s=400&u=43d97899257af3c47715679512919eadb07eab26&v=4\" width=\"100\">](https://github.com/runem) |\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\n|                                                                   [Rune Mehlsen](https://github.com/runem)                                                                   |\n\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\n\n## ➤ License\n\nLicensed under [MIT](https://opensource.org/licenses/MIT).\n","readmeFilename":"README.md","contributors":[{"name":"Rune Mehlsen","url":"https://github.com/runem"}],"author":{"name":"Rune Mehlsen"}}