{"_id":"eslint-plugin-typesafe","_rev":"9-d519775eaadaccfde2c5acbdd57ee79a","name":"eslint-plugin-typesafe","dist-tags":{"latest":"0.5.2"},"versions":{"0.1.0":{"name":"eslint-plugin-typesafe","version":"0.1.0","description":"ESLint plugin to encourage type-safe practices","main":"./lib/index.js","directories":{"test":"tests"},"scripts":{"test":"mocha --recursive tests/rules"},"keywords":["eslint","eslint-plugin","lint","type safety"],"author":{"name":"Yuanruo Liang"},"license":"MIT","dependencies":{"babel-eslint":"^10.1.0","eslint":"^7.16.0","requireindex":"^1.2.0"},"devDependencies":{"mocha":"^8.2.1"},"gitHead":"2b8690ed0e7da59bd0d8f0e6d6b20cc2a5fc3234","_id":"eslint-plugin-typesafe@0.1.0","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-UvS9EgRkbbon437suMSbOe/y1SmP04Dk8tfBWyhv53bZFJ84uWWo67WRmAkpj4dbzg2cJURIRbYa+E4sb3JmjA==","shasum":"02c45bc0de912d2decf2eedc2ec3723df3b25d8c","tarball":"https://registry.npmjs.org/eslint-plugin-typesafe/-/eslint-plugin-typesafe-0.1.0.tgz","fileCount":7,"unpackedSize":9474,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5DkgCRA9TVsSAnZWagAAX1UP/26p/PB5L3YlVFhNy5zz\n6tiStZJ9VA7sbztiBECGEII/bst8tsyd/O5Q0Wtkvy/v1SX7QaUH+VN3gnVG\nKRKl0cAI0QBi5yDf2WVeI5IRYAas6c9Ji03nrPg/8KnFO3T6ie4EDmgtU0b9\nEC/pBmri4j4KA/I+0hM1TF/haKa41N7G5n/SguwySbr9ox9/LQG6Q2Poy3wM\n1uqW+fLfTOsGtf580+9YzgJQ77NcI8Dx6GGMvdXMPba71nmmSFLbzQnUOcDh\nLN4z9jyu9jLailoQzDCeMqzqwUmZ7nIJr2mizSlu1QLfqrID7FVT4OvapPhz\ni9W9b+uzJG+9D3KB+oS4esm3kMozoX4tH2qK78E1kBrQ5ykSNFqPv+atvwq9\nnB3J+Y/DDLautsIlwKYIRUw9GTP9JRT2nYwEBoDw39+TYbLU534JwmnHTuLp\nkjkblIYBkDo/9e/FnkiMMx6BWTulP3AbSO8LgUB941S2ZGmqGxQWzazPQTsE\nndEF125gEWsd1c2Gc/b/HWi4qdjcr2wmG/BcwhNpS1G5YHRzxygKlMADUv7H\nuNXRFNwG4OTKDGJLn6jBPI5orWudyFYbWOMh5dg4ObR08wLab1VbUEVb1ktd\nrBZJYFn0W1eJ0p5mE7ZaCSVOsKS/LZI0Vo6UG6HrA64AP17jKrLaTTGefpp8\nQ3oz\r\n=lML/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHHq94yG/1z36ZKwz1s0+R5OllgonOGY70Mh4cgEUTzOAiBfpJq1HvAX5N1xfXY04V3wxs+FHODHS3g2hyefxz9S2A=="}]},"_npmUser":{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"},"maintainers":[{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-typesafe_0.1.0_1608792351992_0.690679808862865"},"_hasShrinkwrap":false},"0.1.1":{"name":"eslint-plugin-typesafe","version":"0.1.1","description":"ESLint plugin to encourage type-safe practices","main":"./lib/index.js","directories":{"test":"tests"},"scripts":{"test":"mocha --recursive tests/rules"},"keywords":["eslint","eslint-plugin","lint","type safety"],"author":{"name":"Yuanruo Liang"},"license":"MIT","dependencies":{"babel-eslint":"^10.1.0","eslint":"^7.16.0","requireindex":"^1.2.0"},"devDependencies":{"mocha":"^8.2.1"},"gitHead":"8ecc71d761bdfacf7a9adcb0543bc49dca3db384","_id":"eslint-plugin-typesafe@0.1.1","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-aLuTC/Ai/n8FqbQgLp1ZzlriXIXKwbUImXWk5Ga0jiRrVl8viwyPwyGlj7tTf3/J1bKGHKd7rMkWtVTQ/7N0vA==","shasum":"6053d363b4009c1035084c801b264f50ff2541e8","tarball":"https://registry.npmjs.org/eslint-plugin-typesafe/-/eslint-plugin-typesafe-0.1.1.tgz","fileCount":7,"unpackedSize":9474,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5DmHCRA9TVsSAnZWagAA8hUQAJwkxya0tnXQWHrQqYmF\n6Uticl27d1qvG0jwtgdLKRgmZoHtuRNp/1mbYFnhatubsUyEou5cO8xxv5IV\n6CuQFtdJrvx2zZdgYw0UdaFBOmiIbyLF84Gc+tB1Z96NAbFJnXIx3wMZOPYe\n9VOJH/WnwUkaz0UnL1xuhBebHZdac9ZZZa8elMAz5PqE1+2BYD9Tn9Fq5s54\nOtUecR8mWJo72PoPa2jwwPPSTgp1y/S7KmD0mu5o1G4aKJqeoI6Ru7izrqh8\nWTBBbFFIu5Yjb+c0L+3/C2Bwhy0lUhY1PvwVJNAvSeIwx9e2AAXPDeoiOXqK\neOgO0cugb+gAQ2Kxq7Dd7GveYjiiVF/X+NzRd1Ot07c9D3W1XXk8i90gOEbp\n98YLImbbbj3fkGgSIy3XkmHXjs117R9uK/iTgLRCaSAlQF9ceJu0XwmDAm81\no9ATv3XTIknYxo/mTqJbE8SmW66lJk8jO6bCno6hArFh7NIuuoEH7KWgKySw\nnk+bR1QjDkhNCYrWBS6QpWj+gMikATlRZKmbLjXznWBUlB5dBScKnLJ8LQ8F\n1/QxLJsh4C5omQyOfarZn07FfhDwqvOoZjX2W5T1sJVuBHOs3SguoqDiLTGn\nfJQR8zZbtRtROCOfmdlrMKEVphJwJ3IJlzZxgq16vhaWf5zuTGRkLau5KkIp\nNTah\r\n=Y1O1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuS7EPfO1zTLkP6GL0+/A7WLZEBpxXJXDlQNOvbx0sDAIhAMWQnyqQecV7/5CMdQZmwYdFiRZfj90B+lR3J4D9zBP8"}]},"_npmUser":{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"},"maintainers":[{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-typesafe_0.1.1_1608792455078_0.48219662430886623"},"_hasShrinkwrap":false},"0.1.2":{"name":"eslint-plugin-typesafe","version":"0.1.2","description":"ESLint plugin to encourage type-safe practices","author":{"name":"Yuanruo Liang","email":"liangyuanruo@gmail.com"},"homepage":"https://github.com/liangyuanruo/eslint-plugin-typesafe","bugs":{"url":"https://github.com/liangyuanruo/eslint-plugin-typesafe/issues"},"main":"./lib/index.js","directories":{"test":"tests"},"scripts":{"test":"mocha --recursive tests/rules"},"keywords":["eslint","eslint-plugin","lint","type safety"],"license":"MIT","dependencies":{"babel-eslint":"^10.1.0","eslint":"^7.16.0","requireindex":"^1.2.0"},"devDependencies":{"mocha":"^8.2.1"},"gitHead":"a97e589f908d89bd45cefe1da76e2adac815af92","_id":"eslint-plugin-typesafe@0.1.2","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-URrKyeHGM3JpMmky/3a24fSf8GWpLrK1rBDdWKwu7xM01Az1VXJN3dXVzZCFvnBRoyzVMaGxFN3dM7ef1CGQ4g==","shasum":"ba0c4ab52c86cad7081babe0939e0abc9d139d04","tarball":"https://registry.npmjs.org/eslint-plugin-typesafe/-/eslint-plugin-typesafe-0.1.2.tgz","fileCount":7,"unpackedSize":9646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5DrOCRA9TVsSAnZWagAAGxYQAIF3vPNp4P4+x+8av0JT\nEpez1xiV6cKxdFopY73Musdy3ktBerIzUU4/rsypmr4WOEG0jnWYxXz8xsZh\n/93JYxZvZvRedIPUnFzSlGviC6VL1OJA/cBBQ3fp6j1PSbOGHyllFRiMR1S7\nzV3afDqJmPD7LuqQ1dnuP9lWT3Ie34Fq6FNCdeD+4T1zTeYUzrEVBDIc024U\nY67uRvj2kV146qyZJpxytAW7hzaa4ryuMVDcsqp8b+rT0VKVDr75e0H7MZgQ\nQfnXr9F4e7IynZG2GCF2lOpr7U0OP2qDBTaaHT32wXrE6eUDTf3LO0y5Tx1o\nAinvYL0texwBIZe609azxns3Y/TVAFK7K1hEb99e7KzTCMmqzWl6pfE9dh4m\nhVoGPjdA3uMS1kxNIzW2BkCumbR8GU10BZrLZHy5oIclKsubyEMpb8JEjh8F\nLMO8EsdVF/wRcghlKqCnXH/K/dF74YiMW6pLCzwJnW+nHbQq0Ow98dhy/X5f\nS9bkBad4Yt0kPBkzyBdg/7k2mEBIlfsCs8qSqmF6RhcE8U+LsPwz+/Rp3O4A\n860QRefshZ4IaGof//efm8C+Xtn7aBpBw2Li6+GI9PO9xQqzzf2hji/o3/l4\nREs8f0yTxGOZxW2qngCq3hejO5Uyrkg+X1LsMdRgTT+9hG5Oh+9WOpXinR5l\nTd2X\r\n=WHn2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJr3LUxjEUzfEDxj8fuO0pSuqSYCyFVJexu7fW75t0FwIgH9Tkik73RgBiGbSlT4/C7WmXRr7KDh5ctg6xBjYI4es="}]},"_npmUser":{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"},"maintainers":[{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-typesafe_0.1.2_1608792782202_0.6201409023056113"},"_hasShrinkwrap":false},"0.2.0":{"name":"eslint-plugin-typesafe","version":"0.2.0","description":"ESLint plugin to encourage type-safe practices","author":{"name":"Yuanruo Liang","email":"liangyuanruo@gmail.com"},"homepage":"https://github.com/liangyuanruo/eslint-plugin-typesafe","bugs":{"url":"https://github.com/liangyuanruo/eslint-plugin-typesafe/issues"},"main":"./lib/index.js","directories":{"test":"tests"},"scripts":{"test":"mocha --recursive tests/rules"},"keywords":["eslint","eslint-plugin","lint","type safety"],"license":"MIT","dependencies":{"babel-eslint":"^10.1.0","eslint":"^7.16.0","requireindex":"^1.2.0"},"devDependencies":{"mocha":"^8.2.1"},"gitHead":"747163d8d3080846065097c483a1755f5f86d90e","_id":"eslint-plugin-typesafe@0.2.0","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-i/+58OWHWDxUDf5/XLyPHULpftYSX9BsBpG/t9oS34PyIO+vtkY2TbpoLamiM7hJuyDImhTJeZM3uKl53iqivQ==","shasum":"810a726d19e59c846e75d91e9ebc5d36d1fb8c17","tarball":"https://registry.npmjs.org/eslint-plugin-typesafe/-/eslint-plugin-typesafe-0.2.0.tgz","fileCount":7,"unpackedSize":11503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5WIBCRA9TVsSAnZWagAAZiMP/20VW5nh73uh7lxBpqTt\n0mRxwZmZjE+FjRaIAYYv1bGPxZd+hG0D1CkVDnF2tey2SGCGmOS58467YbEC\n2VSXpu+LiDQOdokSmlLynQe71lYmgKqQ6nu1+hxpP0OzwQn6uR0CTKA90Uin\nNSNF1ffeydGl4IlKFVWkz0IENTaepFzTJmWIgty8pxTGtM+nLO80wUbrNtjR\n0hDool+QJMYwyrvvrllvMG0ejl3m7lWyxo9kjCMAwf6w9bkb5qhl1vyN4oZQ\nzOdcfld9f1U6unwdqSN34DB8Zo+HJI0p4JyQwLl+Pek+rHv7d42TK4cBID4O\nthc8RLccBMU28+Tmh+k43xJI6oYn34IGlrrHw0vu56avq1PrYqOoBP0rBtZn\nJ4213vvZGlxaAEjqinz/wLTTc9nFRg8OHZ8r0XH3X7pK3iT2cIdw6EtmDhqC\nnS9qqk07XvpJrxRzRAkq5qniMiNVUevhTXj1BucW4HeS/bi3i4EHt8kPhJJz\nservORTHag55T4pGVwJEdTE4qeiG0etQEtGAR6FG9xEfIth48hpvfS6FBdMd\nsfhYJw5/qTIr+t4hvo/yFAVd9l6Xmz0HLz6l2JYL6+cKOVgHTkGPn2lZB27R\nBsruZ9Ydh25cxvTgTx3ILQjuw61hrzi5BcxhC2xQklAcCfmadmLNP1dmhSCp\nEOPC\r\n=2nwX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG/v9WnSp8CF8VMJjU7AOG526HgZnQP9igyzpypssDU7AiEAhba6Yt34VRajxAr6uZ6a/gOHTTanoLw1bgEptWe2Huo="}]},"_npmUser":{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"},"maintainers":[{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-typesafe_0.2.0_1608868352666_0.6539199541349827"},"_hasShrinkwrap":false},"0.3.0":{"name":"eslint-plugin-typesafe","version":"0.3.0","description":"ESLint plugin to encourage type-safe practices","author":{"name":"Yuanruo Liang","email":"liangyuanruo@gmail.com"},"homepage":"https://github.com/liangyuanruo/eslint-plugin-typesafe","bugs":{"url":"https://github.com/liangyuanruo/eslint-plugin-typesafe/issues"},"main":"./lib/index.js","directories":{"test":"tests"},"scripts":{"test":"mocha --recursive tests/rules"},"keywords":["eslint","eslint-plugin","lint","type safety"],"license":"MIT","dependencies":{"babel-eslint":"^10.1.0","eslint":"^7.16.0","requireindex":"^1.2.0"},"devDependencies":{"mocha":"^8.2.1"},"gitHead":"80239bc1312e4b62c6f04979eeda7b5d49a39cf7","_id":"eslint-plugin-typesafe@0.3.0","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Tw6VLdbs9FkNrOsmkbRpWFtELPcmAbXjhMIX2WbpUgva9VvmHABoMXEhXsH9c/wQMO7s7FAcB3BfUKoWBiOwqA==","shasum":"cae4c0df36788c046d597828e27e67a5eef9d774","tarball":"https://registry.npmjs.org/eslint-plugin-typesafe/-/eslint-plugin-typesafe-0.3.0.tgz","fileCount":10,"unpackedSize":15006,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/WafCRA9TVsSAnZWagAAXkEQAJVeZKBOOrDE9VeG1UMN\nFT0ok4X8AdJVCCyRSl6oXWGM3Dt2JlDuBm1oYUkXQobzl4Hzatak/YjQKHAz\nPiQLufzleH+gC2iszHunDM1a0BNQ3LUQe6ZAlBk/YVvy9q3PjJR25uw0ASVH\n1oCet91S/2mYs5eIqRpuNzb5wp3xCdlWJ/8dzoUCtcDqhs+Hq3CJD7Fgq80y\nXRlO+bJSPThGBp6MdzGGOdkolveuYKqZgYBI0EJaLWSkDV9xhnGE0JAxon2v\nEbRgdQGPmFkMrlgvk9iY0gRpVuMJlWzIqHmdzZvbCwi4ocR7jifXAZ4TpFEu\no4Oq9YTZzUS1U19Ez45hQtAABrfOPnyvxTQohirsAnAZn1TV5af3nU7QwWym\nEdG0IgHkOjZSao7dxdXgmTRLLVuRy+4FtpwSwP2fYlC35beiyvfCia/L8xQT\nImCJTDDSj4aefTtsd1MRcTf1aG/rxSXMJQPpjQ+ovPbdBIySTsvW8YyTOdYE\nvNTu0QItdlefA7pWm4Yy+nicLCXTHfaXoiXgszmwAiFaKEh6IoC3bI5iSUVM\nOqK8aZr1S4MTU9SEwCHEK6jEqVH7w4ZagYpuh4oBd6xTkIuyYvXzhFajHVSf\nU1xCtyZABU8xzphxYNTntrk4YrzQh1kudOwh4itumbjLQvdBOdgsyDrkBLv3\nalqI\r\n=SbPZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEVkTU4A9/aIbYowBh9LlBEfYHCHeUOuK+Eihun+QAX+AiEA2MF09sTnJcI0QyrnN7tiLfECue1Y8So93uAo/yw8kUE="}]},"_npmUser":{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"},"maintainers":[{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-typesafe_0.3.0_1610442399160_0.17966227122281597"},"_hasShrinkwrap":false},"0.4.0":{"name":"eslint-plugin-typesafe","version":"0.4.0","description":"ESLint plugin to encourage type-safe practices","author":{"name":"Yuanruo Liang","email":"liangyuanruo@gmail.com"},"homepage":"https://github.com/liangyuanruo/eslint-plugin-typesafe","bugs":{"url":"https://github.com/liangyuanruo/eslint-plugin-typesafe/issues"},"main":"./lib/index.js","directories":{"test":"tests"},"scripts":{"test":"mocha --recursive tests/rules"},"keywords":["eslint","eslint-plugin","lint","type safety"],"license":"MIT","dependencies":{"babel-eslint":"^10.1.0","eslint":"^7.16.0","requireindex":"^1.2.0"},"devDependencies":{"mocha":"^8.2.1"},"gitHead":"ea814874b5d4e5270357531bc06d158facd37b41","_id":"eslint-plugin-typesafe@0.4.0","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-xqvafsbjkWlHXe2atRU83IfOPmPs2FIM6D5igsG0IOuTNHB1H5nObbIe8sULzNEhHewEruvwsE4os0NuZ1z4tA==","shasum":"2852d99a1fd97c09f582b09665e4c437351e61ef","tarball":"https://registry.npmjs.org/eslint-plugin-typesafe/-/eslint-plugin-typesafe-0.4.0.tgz","fileCount":13,"unpackedSize":23700,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBWW+CRA9TVsSAnZWagAAClAQAJFjXePqEDhwc1g8Qy1v\nXpKvRv5/ST6QJgMf16bAlFDuHnjpZNkJmQG72G/As8CsTm3kp0bzA1by3eHn\n+DhH/MAe4a3KoPsDb9K7uhHo94NZSpx5RvXC4nMLtXcecHjRoj+P7GdQbjLm\n/mxfwVO0a4iW7+r3rYsJ8h6RYb3GSA7Ked2tMpuqYGbExySD90lM7pTRi5x4\n4s8pO1NR78BekIjS5Zq5DVHhV/Oo5RWumQewTgcmOwvHHEFV+nrKaEw5BgP+\nNuzmojCzOlNS/yVyHi1f2Uw0gOZ9VnmcNTVj0Bl++FA6VwTeOaLJGr7jpmVz\nJj7vevDKBAfdUdcCPHKnv666DMRwlonaSVpzaEdKlWp0WZjjb8+v680aqm55\nCfutEIDYuZp8/bMuMw365KYUm04BI1CIKZniMjXRDWIwH6vDWocOjrdBAXRo\nPYp5EbOqbLjsP3Ilqfb74AcTUmfbZhHIf1XQi2rfJz4PQgp1LR5Pxw/493dx\nVA787w29Gqc6zWaGD1LK6n3FgL7R2bhfMbh/S4stMRfcwHV889jVxtz48BRp\nSblbOHG54SMHUV/wSkokO+WGdizU+UjT9FF0p+wfoRI659vj50sJiv8SwxRK\nsZ+dL9kBd6vNIum58A9Ks5fUofUXOdx/nGeyd8uPo+WIWA/d4kUI7PdFUzvm\ncwap\r\n=odbA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCO8KYPdwVfvIoHV22jhT2ii2ZMIs9MweJC6u17UphJAwIgC2y9lglrgAE5WjZvmXe8hP/26Ui8eUkF6uqQqaryJF4="}]},"_npmUser":{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"},"maintainers":[{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-typesafe_0.4.0_1610966461546_0.7913646652811646"},"_hasShrinkwrap":false},"0.5.0":{"name":"eslint-plugin-typesafe","version":"0.5.0","description":"ESLint plugin to encourage type-safe practices","author":{"name":"Yuanruo Liang","email":"liangyuanruo@gmail.com"},"homepage":"https://github.com/liangyuanruo/eslint-plugin-typesafe","bugs":{"url":"https://github.com/liangyuanruo/eslint-plugin-typesafe/issues"},"main":"./lib/index.js","directories":{"test":"tests"},"scripts":{"test":"mocha --recursive tests/rules"},"keywords":["eslint","eslint-plugin","lint","type safety"],"license":"MIT","dependencies":{"babel-eslint":"^10.1.0","eslint":"^7.16.0","requireindex":"^1.2.0"},"devDependencies":{"mocha":"^8.2.1"},"gitHead":"cd4cacaeec7b07a1e0d1a3a94eb8bf6ce342b914","_id":"eslint-plugin-typesafe@0.5.0","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-ZKXwtFVNowQvAKwbYKajxlpfEnnGxN6vFIylu2R9DLnuGKr6h33KhP8X//DttKl6+zsUi0ByEpdxrjdBhmLsxw==","shasum":"df498968dabe14466454b7c30cde4899eb13175a","tarball":"https://registry.npmjs.org/eslint-plugin-typesafe/-/eslint-plugin-typesafe-0.5.0.tgz","fileCount":13,"unpackedSize":29202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgB7fnCRA9TVsSAnZWagAAgVEP/2nQMSg5Fwc9JJ1xps74\nrjcA38MY/CZTZb/3cCzwhgqW3uW79A7D98nFu4TbOIu2900ru+Bvb4rexHea\nay0S7L5nBOP7OutstLIJG61S0KKC9cilWIX9YkkE4EELXx0+vqohqLh+s053\nkt5GF3VR7rOWhAdUke/I/g9wMg/YHH9NXTWcPFlRsZ37siIt+HA5oMf5eSqU\nbu55G3IYtm5wv4U+XJzNBYsoQuBS3ZTHF+oynsEkkhc6l025t26Xc/ZSLtd5\nETqUuCo8kIQ+yN/14FaMclFt9Xu2slezu20ZH7YKaESp7e/PgnBJcVeqRany\nEgoQ7+rEc7wjuczQ2bp8mSuN+eg8aiL2ZcVxiqDOajC+DKvlhdi09o2Nobnn\nmuN0SMN7GIMPAtFa+W49W68PxyrFU9qa/MjoaEVR6CdOXXjnyEPvkhQGo5fj\nkofYk3u4GDc/7EdS0vTATUjzG6lgjuxbF5BQH6AeKKJa+6f5htp549zWSKzd\noohQnMlyKyFuzzpLvO8oL2OIMp1YCJNxiDwOnybhGT/yaEzhrDx5rxhzRIJm\nvJrlvzVp+ZAT2w8fvcQX7DeF9XmnJFEXJKXDHPicR014x7s6WF3ApnsjZOjc\nN83DGE/mqfMQdyMiMayKYQegXlMQSdSvJSoL/nqKUhB9b7w4WalMBm1p0CCs\nLR6O\r\n=Xqlh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCiD5NMMkYggVXahCfdIkzYdFly3MS9S3NKCsoC6XeajAIhAMuQHqz5YdwNHpH0mjxsy2rY7Co/iGiS1lUGSi+K7F6T"}]},"_npmUser":{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"},"maintainers":[{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-typesafe_0.5.0_1611118566888_0.7688052267497656"},"_hasShrinkwrap":false},"0.5.1":{"name":"eslint-plugin-typesafe","version":"0.5.1","description":"ESLint plugin to encourage type-safe practices","author":{"name":"Yuanruo Liang","email":"liangyuanruo@gmail.com"},"homepage":"https://github.com/liangyuanruo/eslint-plugin-typesafe","bugs":{"url":"https://github.com/liangyuanruo/eslint-plugin-typesafe/issues"},"main":"./lib/index.js","directories":{"test":"tests"},"scripts":{"test":"mocha --recursive tests/rules"},"keywords":["eslint","eslint-plugin","lint","type safety"],"license":"MIT","dependencies":{"babel-eslint":"^10.1.0","eslint":"^7.16.0","eslint-utils":"^2.1.0","requireindex":"^1.2.0"},"devDependencies":{"mocha":"^8.2.1"},"gitHead":"fe09225c86ab729a0dc8dae67449b3a3d421512a","_id":"eslint-plugin-typesafe@0.5.1","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-G6GTqUBxv89aq4thfmdvbnsky8KpAdGbWvqS3ROJu/K+BmCu9KOPZsY8l5mTZCUDfG6hTqCBMefPe/nEn4zHqw==","shasum":"4bb2bea21ef0ca61e2cd8e860af05107fb0a9ce8","tarball":"https://registry.npmjs.org/eslint-plugin-typesafe/-/eslint-plugin-typesafe-0.5.1.tgz","fileCount":13,"unpackedSize":29712,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgB+RcCRA9TVsSAnZWagAAdqsP/RxvifHdo6ZZUZtTNoN1\nkWryA/6QAWk7Sv0xMCnxFszAlX8b/TBQWcZF8bX2FiJwPA/8bvJZjV8NwszL\nt//D42wab3IyZKiRpxFn6xmEpbhbFgME+/E2yM4dG7yNITdVjCf1sBjx00ll\nFPESUnvd1fr6XlktyCfSMz6uhH9j+8RC5763BwpxJdckk4YKZrNpONinp5sk\nY4l3QmgE3U6eHLPvz7o28sFasy++0tlz52FVKF5zLh1NPwJZvUPKJiJeiCpx\nkRtTSId2RX6DIvB1zx+9C9C55nydAu3s1xSNDVgDwLxfi5LWCMaQGXI2omyy\nmHg2KhiVwUxlR+7Ix6mSg+x9M7pHoRNTL6KvlDm51dxD2I4oCP3zCdAOCD4r\na9d3IU4V4+K3N7OPCSKwbCq0QNzHoo17Uem0fcmIAwAYwIalAB1qu7KhM7jz\npKiSJHBo2TZv0sKS31CUYV/iambtCsUWWkiLKNMiSFo26sylJL8RDDUS2zsD\nbDaO1brl6JjK/JpvL7G8O1vQfVPgbRs3ivW44jx01Nw8GzDzK9zTu9pf2qUr\nIxZutjgCd5gRpXkUKOBUnWBEFJhX8aVemdp1dIrxttfyTcav/+rQZa7pIfBu\nAC9vtGokFSF+TNFLCzmQWW10DDNavt+tiOGAoFHiCLcfcuo31gkbhloZc/j9\nDyDE\r\n=QAy2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYv0WuL2x4g8kOgUpPqKDqVrHqrd6F6+JIGlkTr1XtIAIhANTMooXCOF+GZ13Yvq4F5vS7GrdR8agmKOJNGyDFAH6g"}]},"_npmUser":{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"},"maintainers":[{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-typesafe_0.5.1_1611129947551_0.18569931118657101"},"_hasShrinkwrap":false},"0.5.2":{"name":"eslint-plugin-typesafe","version":"0.5.2","description":"ESLint plugin to encourage type-safe practices","author":{"name":"Yuanruo Liang","email":"liangyuanruo@gmail.com"},"homepage":"https://github.com/liangyuanruo/eslint-plugin-typesafe","bugs":{"url":"https://github.com/liangyuanruo/eslint-plugin-typesafe/issues"},"main":"./lib/index.js","directories":{"test":"tests"},"scripts":{"test":"mocha --recursive tests/rules"},"keywords":["eslint","eslint-plugin","lint","type safety"],"license":"MIT","dependencies":{"babel-eslint":"^10.1.0","eslint":"^7.16.0","eslint-utils":"^2.1.0","requireindex":"^1.2.0"},"devDependencies":{"mocha":"^8.2.1"},"gitHead":"1c3a51dd74519ba460ca22b3a4daf6e37343d00c","_id":"eslint-plugin-typesafe@0.5.2","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-WfGnMQJ7gGLFC8rK0iC+/SiStqHPZ2Mz2BUdIGhAZ+/yY1zwjh70Psj439Kk1jTkUIZD+f4XZjbD0JRFDAoYXQ==","shasum":"df8c9d1a906616366875c5207e053aecba459fc6","tarball":"https://registry.npmjs.org/eslint-plugin-typesafe/-/eslint-plugin-typesafe-0.5.2.tgz","fileCount":13,"unpackedSize":29737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgB+nWCRA9TVsSAnZWagAAxRAP/jP/ftFMqv7UpwC99aWh\nKqmop51dL6YiJpb3eC2y16vmz8sRDPCplpzfCeHtUeH1oAEfigBNrpkHALxj\nCe6DD8tFed0EvKpjRmUCaRL9Qc61trEwFcbWktFpLP+Br+5uzUfiZfLKGYLM\n9j2oYyRwFXR8zXS4aOD7ZddgFzYBDBdsGe1qDpFEmHwBEbW+FZy56ufF7DWu\ne15EZeSUt5FvCetir8cT0pRWmYm2FemSoLfxA/AETq+X0nx0P0tUvav+7Bse\n/C7gYj9sdqKPxISxTJvEoh4cQdWn5XuJmC1c9zZYwdD6PESOO0/M45tJjObE\n+2o2BGe1PGTaKsylFQF5oBl0uqQjJ+tF1JX4kXV3Ne2G4rxypD62/ED2IVqi\ny0CwL876VfduPzm893Z51/8SdIraLONuSUW3gisHwV7bxvnfgSS53iV6aXz1\nVTGIU8IJrRTXkF3EwfFzz810Yx/wMdDeBW0VcQsP6wnYtGVKqz7rL+C3GMVu\ngslAqjNlSaI3s+hQjoqXXNP00vPTuQJ1VcKHIrldu4S/D3cuX4Y4a8SVmuKU\n5t6gJebifTt7Uzt+MnWudwAsYuAKKedber2ZVqOXTM6nKj+VTPH7kGGR4NCb\nPQ6FGgx9msX0PJdK/qNiyyUh0TycQePfBmk25cLTlmCHS17x1NYLeZ2y4y3h\nx71e\r\n=Zz1b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICfa1196NxCzHYJ/xCT8gLw7NA0gwozIfLYkYi97jUlZAiEA2EY7FDSwlKonSF+Q1fCzMUCH5uFtbjmN29dRUOOnQ5o="}]},"_npmUser":{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"},"maintainers":[{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-typesafe_0.5.2_1611131349999_0.7877530766394778"},"_hasShrinkwrap":false}},"time":{"created":"2020-12-24T06:45:51.992Z","0.1.0":"2020-12-24T06:45:52.148Z","modified":"2022-05-01T17:05:58.984Z","0.1.1":"2020-12-24T06:47:35.211Z","0.1.2":"2020-12-24T06:53:02.374Z","0.2.0":"2020-12-25T03:52:32.773Z","0.3.0":"2021-01-12T09:06:39.300Z","0.4.0":"2021-01-18T10:41:01.659Z","0.5.0":"2021-01-20T04:56:07.006Z","0.5.1":"2021-01-20T08:05:47.737Z","0.5.2":"2021-01-20T08:29:10.146Z"},"maintainers":[{"name":"liangyuanruo","email":"liangyuanruo@gmail.com"}],"description":"ESLint plugin to encourage type-safe practices","keywords":["eslint","eslint-plugin","lint","type safety"],"author":{"name":"Yuanruo Liang","email":"liangyuanruo@gmail.com"},"license":"MIT","readme":"# Type-safe practices for TypeScript and JavaScript\n\n## Getting started\n\n```bash\nnpm install --save-dev eslint-plugin-typesafe\n```\n\nAnd configure your `.eslintrc` file accordingly. For example:\n\n```bash\n{\n    \"plugins\": [\n        \"typesafe\",\n    ],\n    \"rules\": {\n        \"typesafe/no-throw-sync-func\": \"error\",\n        \"typesafe/no-await-without-trycatch\": \"warn\",\n        \"typesafe/promise-catch\": \"error\",\n    }\n}\n```\n\n## Motivation\n\nTypeScript offers a power static typing system that can help developers to avoid painful bugs, especially in sizeable projects.\n\nHowever, some limitations remain as TypeScript is committed to being a superset of the JavaScript language.\n\nThis plugin aims to implement additional rules that can help improve type safety, but are not available as standard ESLint rules.\n\nFor example, following functions have the same type signature:\n\n```ts\nfunction f(x: number): number {\n    return x\n}\n\nfunction g(x: number): number {\n    return Math.random() > 0.5 ? x : throw new Error()\n}\n```\n\nThere is also no way to force error handling:\n\n```ts\nfunction f(): never {\n    throw new Error()\n}\n\nf() // No type error\n```\n\nGiven a codebase of sufficient complexity, an unexpected error state will eventually occur that could bubble up to the entry point of the application.\n\n## Achieving maximal type safety\n\nInstead of merely using TypeScript, consider encoding failures in your program with a library such as [neverthrow](https://www.npmjs.com/package/neverthrow), or adopting functional programming with [fp-ts](https://www.npmjs.com/package/fp-ts).\n\n## Existing rules\n\nThe current rule(s) are:\n\n* [no-throw-sync-func](https://github.com/liangyuanruo/eslint-plugin-typesafe/blob/master/docs/rules/no-throw-sync-func.md)\n* [no-await-without-trycatch](https://github.com/liangyuanruo/eslint-plugin-typesafe/blob/master/docs/rules/no-await-without-trycatch.md)\n* [promise-catch](https://github.com/liangyuanruo/eslint-plugin-typesafe/blob/master/docs/rules/promise-catch.md) (beta)\n\n## Future work\n\nIntegrate with [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint) so that TypeScript syntax can be explicitly supported.\n","readmeFilename":"README.md","homepage":"https://github.com/liangyuanruo/eslint-plugin-typesafe","bugs":{"url":"https://github.com/liangyuanruo/eslint-plugin-typesafe/issues"}}