{"_id":"@intuitionrobotics/thunderstorm-codemod","_rev":"32-a55e8505cd16f3743363a5e427bf43e1","name":"@intuitionrobotics/thunderstorm-codemod","dist-tags":{"latest":"2.4.7"},"versions":{"2.0.1":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.0.1","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.0.1","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js"},"dist":{"shasum":"cf913eddb50c69ff4c53f5dfed4e109dfe89392f","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.0.1.tgz","fileCount":55,"integrity":"sha512-bkLudiXt3q3WOXQFdxlreIeJPixL+QKK5sgeZZwxyvpdwxqardN5xqNwYZQU6hLmsv9ZnuQ32zlaGbpubk4LBw==","signatures":[{"sig":"MEUCIQDp/i5ouzOZqDauiQ/Oa/hsZ+i7cX34UT7Cv+AvlpI1hwIgLA/RHJBtmEfW+4FsbpL7kIfqPLz5i10J7fIx6ZnUYcI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155912},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.0.1.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/bee64eb433e2612a2085c69d9355fe2f/intuitionrobotics-thunderstorm-codemod-2.0.1.tgz","_integrity":"sha512-bkLudiXt3q3WOXQFdxlreIeJPixL+QKK5sgeZZwxyvpdwxqardN5xqNwYZQU6hLmsv9ZnuQ32zlaGbpubk4LBw==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.0.1_1779203799905_0.22471875114900142","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.0.2","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.0.2","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js"},"dist":{"shasum":"1c4445e33cbc663e071a6669884ccb4ca7739bef","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.0.2.tgz","fileCount":55,"integrity":"sha512-7UztGnmeIt4Yz2QREceZ2MpJMKr4Gfum596mcUVJgnl9j9TnsjPu5IWO+RhSsYscHnKHGvA+T1bg5VA4Erakbw==","signatures":[{"sig":"MEUCIEuUmHPnEhJd/0GDSMTQMtwi63TFWQ6pGzZTJBzyh/YdAiEAjm/siwqWrpHS8iOSbGNL82H9nM6FCtIIDpawTQNXG3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168973},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.0.2.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/fbdf9eb3ed36052190919708701363a7/intuitionrobotics-thunderstorm-codemod-2.0.2.tgz","_integrity":"sha512-7UztGnmeIt4Yz2QREceZ2MpJMKr4Gfum596mcUVJgnl9j9TnsjPu5IWO+RhSsYscHnKHGvA+T1bg5VA4Erakbw==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.0.2_1779215749681_0.8233685854833428","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.0.3","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.0.3","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js"},"dist":{"shasum":"7ce9fd75ddadb50561da0ee2e5d3bdc22bec4605","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.0.3.tgz","fileCount":55,"integrity":"sha512-L66CCgqVw9oCBVrxH4mDRVACBUooZM1F/l3q3Ye4cqPk45x/GBVfB+giAiJZvBdx9w0U5eD5tYOgN4AZa3yJHQ==","signatures":[{"sig":"MEUCIDJ0AVQhD46VKzCiuH+ZXn9bBCWWibDIcNfjpx4ZXHKxAiEAzR7HsuS57tgC7yYEbwk/D4j6NwFFY8gCnnUtomhnes4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171089},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.0.3.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/172f23729a8f4ab13327c22a867b20a9/intuitionrobotics-thunderstorm-codemod-2.0.3.tgz","_integrity":"sha512-L66CCgqVw9oCBVrxH4mDRVACBUooZM1F/l3q3Ye4cqPk45x/GBVfB+giAiJZvBdx9w0U5eD5tYOgN4AZa3yJHQ==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.0.3_1779697894491_0.062313621648383055","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.0.4","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.0.4","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js"},"dist":{"shasum":"300b6ec5778dd425cbd369e747a3f4e273e7bedb","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.0.4.tgz","fileCount":55,"integrity":"sha512-sanJrq/I/NmRAWGkEZIqRshTsMHcKw7RHRP3P0nlTccfLw+8dpmXHyOVPr2pJi0oBVjpOCMH7qEjavfW207e+w==","signatures":[{"sig":"MEUCIQD6cY9pNUuktU88z3EXdFmcU7tr6MmW+MiUn+EvsGuEiwIgIcfohaePaIYmqS0/+uBgf7nlWudN2X6Ds/dVb2trd2Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171089},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.0.4.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/ccd2a9ecea9b9fbb45d1796aefbe2215/intuitionrobotics-thunderstorm-codemod-2.0.4.tgz","_integrity":"sha512-sanJrq/I/NmRAWGkEZIqRshTsMHcKw7RHRP3P0nlTccfLw+8dpmXHyOVPr2pJi0oBVjpOCMH7qEjavfW207e+w==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.0.4_1779809751187_0.8092940330451579","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.0.5","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.0.5","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js"},"dist":{"shasum":"d6ae003649db3da653ea62192eead731fe3c7100","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.0.5.tgz","fileCount":55,"integrity":"sha512-5Qz7Ezn/MrFO0nHboEBPwKT6OaMIWQufsMyII0xBEUa551cZcJGYLGbR8XOAz6XTRiNtI4JLzAqAFfYewOGpgw==","signatures":[{"sig":"MEQCIBEK1dhuL5SW3sD1OeB0uArWPGR6S1H+Ei4FWBKI9/lHAiAxH4/XWlaYvqxlx8n/5y+LbEKimATLo/jKVTIslheqhw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171089},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.0.5.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/0497bf079cd258fa23ceffb5ab8d88fc/intuitionrobotics-thunderstorm-codemod-2.0.5.tgz","_integrity":"sha512-5Qz7Ezn/MrFO0nHboEBPwKT6OaMIWQufsMyII0xBEUa551cZcJGYLGbR8XOAz6XTRiNtI4JLzAqAFfYewOGpgw==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.0.5_1779982105270_0.47245835434981975","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.0.6","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.0.6","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js"},"dist":{"shasum":"18189b0b49e5871f8482aeceaeff3ab39b27aae8","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.0.6.tgz","fileCount":55,"integrity":"sha512-WhWVdYOht2jGql2njjuCgBM7DBEwMutmZhKjZMjszyJnqu9f60rpFyM3JRfnoF0FwdsCTauIKTINk0LNqzayVQ==","signatures":[{"sig":"MEYCIQDCp3Xb1S0FVQRQbZi/lG8ya7GhC58K6hb2RYQEQa4pCQIhAImw6Ad/LAfezqTBqOMTnAQSa9GCzGLBMVQLcOClvPEQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171089},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.0.6.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/8bb7df7f857bfc577c1383d96d58e0d3/intuitionrobotics-thunderstorm-codemod-2.0.6.tgz","_integrity":"sha512-WhWVdYOht2jGql2njjuCgBM7DBEwMutmZhKjZMjszyJnqu9f60rpFyM3JRfnoF0FwdsCTauIKTINk0LNqzayVQ==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.0.6_1780046121655_0.569258029011454","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.0.7","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.0.7","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js"},"dist":{"shasum":"a9a772dc1cd4c81eed63b4f33027d33dbc34b993","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.0.7.tgz","fileCount":55,"integrity":"sha512-eGBLDtzDR3Uw+bVppw1aLPmYxCKT2F38/UVIfBKc5gK2SsW+noHh0I4aXQOtNJtCnPmR43i6r4w0PRSzsHxruw==","signatures":[{"sig":"MEUCIQDN1sukGLzPbRnc5CB1qpYOLYlSaRf7DsWUJlIUyRyw3wIgcyK9uGYSdgTWbCkWdZ6l7A0ccLEZLj/9sglzjE5fJLg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171089},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.0.7.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/583b40c2a8dd4e5e0dc30c213091c430/intuitionrobotics-thunderstorm-codemod-2.0.7.tgz","_integrity":"sha512-eGBLDtzDR3Uw+bVppw1aLPmYxCKT2F38/UVIfBKc5gK2SsW+noHh0I4aXQOtNJtCnPmR43i6r4w0PRSzsHxruw==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.0.7_1780054186047_0.3567875836445906","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.0.8","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.0.8","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js"},"dist":{"shasum":"e8539b4275a4e5b20a09288ad4b668ce9f6bed47","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.0.8.tgz","fileCount":55,"integrity":"sha512-46/z2idpyqeTB01KZJ8EO88UeRfDPyaBysnwYETMLNmTzPrjmxUoZdR8VPA8Rja2ehAECDyYE+gGFlcN+DM2hA==","signatures":[{"sig":"MEQCIHfmLHvsNmvegBsUM1Ywur1hqvdWrO8g3DRScxjfuXmgAiA/CdbjKRzMaJWIyQUGVzcNIeWGU11nN6JPDd3aHEbzhw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171089},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.0.8.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/d555f3c941161cca87c923d13c276e0f/intuitionrobotics-thunderstorm-codemod-2.0.8.tgz","_integrity":"sha512-46/z2idpyqeTB01KZJ8EO88UeRfDPyaBysnwYETMLNmTzPrjmxUoZdR8VPA8Rja2ehAECDyYE+gGFlcN+DM2hA==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.0.8_1780055734377_0.2404341153701166","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.0.9","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.0.9","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js"},"dist":{"shasum":"0b64c9f233f07fe815b82f9831c8b2a1b19f7f2c","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.0.9.tgz","fileCount":55,"integrity":"sha512-+UXy7PJFI+DzEzVRC6ZMNX9Jpq/XbTVDFeRnp8xZuq0JDoGb4TXIu4Lkeh0GU9dGmvGT5iWdks697ME1LH3yLg==","signatures":[{"sig":"MEUCIEnM14jyRg0rvaoDnmZXpBV5ZJSl21C+Ms0eA30cTVCTAiEA7YkrnmF0e5NWp7IN5VtiPMBQT5Tek9vhk3vr7JqFryM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171089},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.0.9.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/ea7f960d8f7297960547c388c3426caa/intuitionrobotics-thunderstorm-codemod-2.0.9.tgz","_integrity":"sha512-+UXy7PJFI+DzEzVRC6ZMNX9Jpq/XbTVDFeRnp8xZuq0JDoGb4TXIu4Lkeh0GU9dGmvGT5iWdks697ME1LH3yLg==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.0.9_1780483065427_0.6457466552977622","host":"s3://npm-registry-packages-npm-production"}},"2.0.10":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.0.10","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.0.10","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js"},"dist":{"shasum":"7b46e3e921e394d834953b610374f06ffb64589d","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.0.10.tgz","fileCount":55,"integrity":"sha512-h2cQmGHmXuEjS7dzMlyuVqvu07eAFWK+s69roxuref21prGf/3PFypEwa/hSZ2zqT77malF0Y8jeAKLz5mLOpA==","signatures":[{"sig":"MEUCICrBU1HqWAMfUcGOJsv+t31lwcl2yqX+zoWoO0OMlYBZAiEA7vzXPSew+5DmyjYtJNDFivTZUWwhxCI1v9BrTBq38Js=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171090},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.0.10.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/160217ec262a8b35ad4de4ec6ab329b1/intuitionrobotics-thunderstorm-codemod-2.0.10.tgz","_integrity":"sha512-h2cQmGHmXuEjS7dzMlyuVqvu07eAFWK+s69roxuref21prGf/3PFypEwa/hSZ2zqT77malF0Y8jeAKLz5mLOpA==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.0.10_1780484594404_0.03295773435699978","host":"s3://npm-registry-packages-npm-production"}},"2.0.11":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.0.11","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.0.11","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js"},"dist":{"shasum":"3ce8b462e456ec5eda3e7cc08c68a515426a850e","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.0.11.tgz","fileCount":55,"integrity":"sha512-QJB23djW+/wJtCoN5GUAJn9BtiF/n1jlrfQQil0wiO386mPLXr6sNyAXdm0lR5LMiyubHUddZP0VIb8Y2UWAtQ==","signatures":[{"sig":"MEQCIGmLSSnMUmx0JriD+qQv0sFvgczJ5JzFWfMRVmK2kCNQAiA5aS5Js0p+MGQ1nTpb4rWB31638UFFGCfo771gjGWm3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171090},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.0.11.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/30845e51807eb123c5644303de38ca02/intuitionrobotics-thunderstorm-codemod-2.0.11.tgz","_integrity":"sha512-QJB23djW+/wJtCoN5GUAJn9BtiF/n1jlrfQQil0wiO386mPLXr6sNyAXdm0lR5LMiyubHUddZP0VIb8Y2UWAtQ==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.0.11_1780485173207_0.3640961619805714","host":"s3://npm-registry-packages-npm-production"}},"2.0.12":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.0.12","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.0.12","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js"},"dist":{"shasum":"8c5d12636bc2230f30822b3b5f6f8bf18238d9ef","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.0.12.tgz","fileCount":55,"integrity":"sha512-vifpsLBSziKOzeMS7uyHGq4xMTQvTdrJZniXsvJoz46pJ5V5UCrF4M8jelafZay/sGVYcBXOM1AjZECaNv5ojg==","signatures":[{"sig":"MEUCIBycNJqqSUFFEb3l8QPZaHlLfiVbTUeL6Vlbnq8PAPkIAiEA1kZnVS+o8VB3I8jDC4J7++XGfJAwLhIPLAl+wVQ1ylE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171090},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.0.12.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/1baed583f65dde7590dad1af8406ebd6/intuitionrobotics-thunderstorm-codemod-2.0.12.tgz","_integrity":"sha512-vifpsLBSziKOzeMS7uyHGq4xMTQvTdrJZniXsvJoz46pJ5V5UCrF4M8jelafZay/sGVYcBXOM1AjZECaNv5ojg==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.0.12_1780492157373_0.8619134073397703","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.1.1","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.1.1","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"f8a6cdb651deb47ad9ccd67407a7dc7b785d8ce4","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.1.1.tgz","fileCount":68,"integrity":"sha512-otCUKg7/Sl+TrpKo1blE9qSWTGPhqIjUBi4gTPZ46ptLInzvQA21vZz7Lnc9FNbIFfi+4G+MlXOZK7aExv0bOQ==","signatures":[{"sig":"MEUCIHBFC4SGzRxFe2d38xUfeRhlQ4F4BjERT4yHEB4ffxUAAiEAoQNTt0Y1ybmzGl8h6WsDbFnssabrWGJ5Kg5+U6tOg2s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190842},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.1.1.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/6885b5a562767e171dc11ebf14e1c735/intuitionrobotics-thunderstorm-codemod-2.1.1.tgz","_integrity":"sha512-otCUKg7/Sl+TrpKo1blE9qSWTGPhqIjUBi4gTPZ46ptLInzvQA21vZz7Lnc9FNbIFfi+4G+MlXOZK7aExv0bOQ==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.1.1_1780594282190_0.6587569829717499","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.1.3","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.1.3","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"d50512ab762bb9c830754e6679acb7f65a07564b","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.1.3.tgz","fileCount":68,"integrity":"sha512-R9aB1aaGBjX+9/iHyOkfwc7Z9PIs4S40GGQ6D7AjuxH8awlO3D+KEMs1I0TL4Z9/XsFH+cBYtX+ejw/rImuqJw==","signatures":[{"sig":"MEUCIE1bkznrooj6qaO9iL9GSTupYx0Y2TyEvIMzMFI9VOwdAiEA9M9L3cD9UUKJ7D8r+NSrIR6X7mzRMyXVeIUmQMQKgZ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190842},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.1.3.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/9fd44d33d6ae0ee3617d0b616772e322/intuitionrobotics-thunderstorm-codemod-2.1.3.tgz","_integrity":"sha512-R9aB1aaGBjX+9/iHyOkfwc7Z9PIs4S40GGQ6D7AjuxH8awlO3D+KEMs1I0TL4Z9/XsFH+cBYtX+ejw/rImuqJw==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.1.3_1780950579575_0.5821396865079886","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.2.1","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.2.1","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"4485ee63a194ecb8a2209ee8e5e22184b69ef0d3","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.2.1.tgz","fileCount":68,"integrity":"sha512-ONhgpWf1Wzy6KuNqDNtU4mfQgQfzRlw4dt4lNi8Iz3J6YUtX1JSWANiF4OkNAKVCEnXHtoC6k5MDyjQtB8+zOQ==","signatures":[{"sig":"MEUCIHXbpZho45lIO3y1CcD1HhJB43NCEKrhI9Mwf3SxpVTfAiEAsTbu/0n4JgIChqStre/x6S8K/0ssZcqVNa2edJirqlY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190842},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.2.1.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/605b3169e5d3a13ecde8f21b39a9cff4/intuitionrobotics-thunderstorm-codemod-2.2.1.tgz","_integrity":"sha512-ONhgpWf1Wzy6KuNqDNtU4mfQgQfzRlw4dt4lNi8Iz3J6YUtX1JSWANiF4OkNAKVCEnXHtoC6k5MDyjQtB8+zOQ==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.2.1_1781272022388_0.5028793555501545","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.2.2","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.2.2","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"c33953ee6ddb36227b61dc375951db8ce59e5788","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.2.2.tgz","fileCount":68,"integrity":"sha512-lsmB91j9ZpRnk8qU2eOl8EpO2/Leqy6cRVUPgi+2PpVRPqo2Borp0sK1Kbmi9YQnk0l3OWCMHYRdSV35xM1yAw==","signatures":[{"sig":"MEQCIHilMQROm9njNI4It4tSNbYYEhBftDSMTM/Ns4h85/RAAiBsEgjaWuyhJfxMYXeSImxtcj8HaUSN3nndVqRtZK5krg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190842},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.2.2.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/71f59a366f53a7e6a97e4ad1412e6a56/intuitionrobotics-thunderstorm-codemod-2.2.2.tgz","_integrity":"sha512-lsmB91j9ZpRnk8qU2eOl8EpO2/Leqy6cRVUPgi+2PpVRPqo2Borp0sK1Kbmi9YQnk0l3OWCMHYRdSV35xM1yAw==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.2.2_1782306609630_0.8585729028026583","host":"s3://npm-registry-packages-npm-production"}},"2.2.3":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.2.3","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.2.3","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"20b273e84c89b9df65846d023df074a0a6c5dd85","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.2.3.tgz","fileCount":68,"integrity":"sha512-IgboBItEn8RPODZqw51TSq6NkQyq2K5Q9Kbtwq24Qj9qr5KKgBodg1eNbfq/tN1Z+LW9PouIM25l+hQ+c3ILmQ==","signatures":[{"sig":"MEYCIQCjvr494Z1UvgT/e0+xLeN4zqB3vlZ434QzHecoK9PIEgIhAJk4vmaPq9YXZYd/HYEmlm/vKr2ckr8cV12wGv4RJnF4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190842},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.2.3.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/ef045982382a5f38656d2dd0a844bd31/intuitionrobotics-thunderstorm-codemod-2.2.3.tgz","_integrity":"sha512-IgboBItEn8RPODZqw51TSq6NkQyq2K5Q9Kbtwq24Qj9qr5KKgBodg1eNbfq/tN1Z+LW9PouIM25l+hQ+c3ILmQ==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.2.3_1782479799856_0.261904692995377","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.3.1","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.3.1","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-to-handler":"bin/thunderstorm-to-handler.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"c0c1ae0290051f1e84b037cd5ef76b3c51f6f8ea","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.3.1.tgz","fileCount":81,"integrity":"sha512-3/OgWYZZ4e3cwI899R7yodm+QsJrxBY+WKAbPrFkXtokuaWpK6DW/OvpC9K83uHDGo5bjGSy/6zvhqNOxxbadQ==","signatures":[{"sig":"MEQCID9LFIqFVaM4HPQtNYwUDXh5n3NQLS6bS6LBABNNISytAiBQu/svn1+nf1xV9Ohq/13DCyN/TKWaLrt5ZsQf1JjkyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260982},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.3.1.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/f0a47f7cf797a34e05841d9c76d4ba23/intuitionrobotics-thunderstorm-codemod-2.3.1.tgz","_integrity":"sha512-3/OgWYZZ4e3cwI899R7yodm+QsJrxBY+WKAbPrFkXtokuaWpK6DW/OvpC9K83uHDGo5bjGSy/6zvhqNOxxbadQ==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0","typescript":"^5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.3.1_1782943724001_0.5654561332089059","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.3.2","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.3.2","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-to-handler":"bin/thunderstorm-to-handler.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"01e616addf28dd4b8a9b102b5e104c10788554df","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.3.2.tgz","fileCount":81,"integrity":"sha512-RFWhwo/8dGQNDCc3qnBTCRCoP2p7qW7l/sBkH95trb8Op9Ozn5gxqNXo6j8vRDda2ZRD3SqXImPZypT1Kmlk0Q==","signatures":[{"sig":"MEQCICEEsrnRmGeKD/XaWEJIDN9HrNEyFNXpKtn6XdqMbuADAiBRW4KkLeYbYSNOeyZQObJmG95E/TXieSR2b0w+qQeyTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260982},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.3.2.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/5e67cdc63ba563d5ea4f377699ca6385/intuitionrobotics-thunderstorm-codemod-2.3.2.tgz","_integrity":"sha512-RFWhwo/8dGQNDCc3qnBTCRCoP2p7qW7l/sBkH95trb8Op9Ozn5gxqNXo6j8vRDda2ZRD3SqXImPZypT1Kmlk0Q==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0","typescript":"^5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.3.2_1783341903751_0.23611556605588535","host":"s3://npm-registry-packages-npm-production"}},"2.3.3":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.3.3","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.3.3","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-to-handler":"bin/thunderstorm-to-handler.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"596476111ced1fea9c6de981a0093ae2ee93638a","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.3.3.tgz","fileCount":81,"integrity":"sha512-qFORLjL3KNmhsaXErnh+3WBrXpzg1pZ2Tu0yYJWgb5PFBrZvYjTdw6fMrenQtaZzR2rhbHhQofohg1Pq/EHBXA==","signatures":[{"sig":"MEYCIQCDCoGl2OAPDGO79qTtUGajSjfSJr09Z1cErZOoaIrrBAIhALpU1FanGpnReZzHMAI0XmgkGWdbUMnH8M2ECY32+KFe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260982},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.3.3.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/e1b7a288cd7706dd9231a6a867b1d444/intuitionrobotics-thunderstorm-codemod-2.3.3.tgz","_integrity":"sha512-qFORLjL3KNmhsaXErnh+3WBrXpzg1pZ2Tu0yYJWgb5PFBrZvYjTdw6fMrenQtaZzR2rhbHhQofohg1Pq/EHBXA==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0","typescript":"^5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.3.3_1784059845037_0.5793610777283738","host":"s3://npm-registry-packages-npm-production"}},"2.3.4":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.3.4","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.3.4","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-to-handler":"bin/thunderstorm-to-handler.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"e9aa49eae597db0aeac31ffa0041652f9c4ae7bf","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.3.4.tgz","fileCount":81,"integrity":"sha512-90SRCAu8EuIAab8ofz1Ymllet7a0mhgGslYF4qLntRLMS2UrSICSVFIqigadxm1JPivntKqJA5bea7rMT3kB/A==","signatures":[{"sig":"MEUCIQDtmaz3khFKNgY2eAC5frnLBsIVUx5c6f2EFled5/ZYrwIgAQJIvUCZTtu1NrmZh/7Rmtjwavdi5oXMB60iLauw9XU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260982},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.3.4.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/11caa195af6779f8efcc8b9b0a2911e4/intuitionrobotics-thunderstorm-codemod-2.3.4.tgz","_integrity":"sha512-90SRCAu8EuIAab8ofz1Ymllet7a0mhgGslYF4qLntRLMS2UrSICSVFIqigadxm1JPivntKqJA5bea7rMT3kB/A==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0","typescript":"^5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.3.4_1784063462157_0.6112260308031336","host":"s3://npm-registry-packages-npm-production"}},"2.3.5":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.3.5","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.3.5","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-to-handler":"bin/thunderstorm-to-handler.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"ff07b55c8fe3308652512f5ee5d2afe7daab81f0","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.3.5.tgz","fileCount":81,"integrity":"sha512-r1PjATC1W1MFEuE5wkbKDhHXDOg1tJBVYf/ZBZTJZi/5iC8Oz+t3yIF6EMZVuPI+L0viClQWAIZ3KUWbXHXDEA==","signatures":[{"sig":"MEUCIBlF7CNl6RP9bNZMebpIi2iHUT2upc6EGLePfvwioSBWAiEA7xAfZRR08+mDTUkq0bGIqXmurpfRVaYY/5e9BGFldWk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260982},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.3.5.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/f48afc84ddadc368d1823309c2cf9103/intuitionrobotics-thunderstorm-codemod-2.3.5.tgz","_integrity":"sha512-r1PjATC1W1MFEuE5wkbKDhHXDOg1tJBVYf/ZBZTJZi/5iC8Oz+t3yIF6EMZVuPI+L0viClQWAIZ3KUWbXHXDEA==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0","typescript":"^5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.3.5_1784208673517_0.46209533271942926","host":"s3://npm-registry-packages-npm-production"}},"2.3.6":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.3.6","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.3.6","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-to-handler":"bin/thunderstorm-to-handler.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"1ab4e0ca78a8e40699c103f0e68dac80d528f1d6","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.3.6.tgz","fileCount":81,"integrity":"sha512-FLavmCXqi/B3No6i7L52JbOPW0jGwFXU6uRgxcWVFUubBSiYDjbiS9AGu3/R7jMNQgMfI8Jg1kB0ZTiPJqnbcg==","signatures":[{"sig":"MEUCIQDEGS1g4YVZkfQdZQTy9TxUVcKaYJ+rwQxVHHZMzRnmVgIgV3nskQqIcQkWjqWKZ24WQzA2Qr8b+YjqzckU2VbG3uY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260982},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.3.6.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/19d2b100928405fd6d7e45fa84cc1b05/intuitionrobotics-thunderstorm-codemod-2.3.6.tgz","_integrity":"sha512-FLavmCXqi/B3No6i7L52JbOPW0jGwFXU6uRgxcWVFUubBSiYDjbiS9AGu3/R7jMNQgMfI8Jg1kB0ZTiPJqnbcg==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0","typescript":"^5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.3.6_1784282134282_0.573514624370844","host":"s3://npm-registry-packages-npm-production"}},"2.3.7":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.3.7","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.3.7","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-to-handler":"bin/thunderstorm-to-handler.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"ee4c668df7161055813b2af407d4d88ef1568039","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.3.7.tgz","fileCount":81,"integrity":"sha512-00nlHUiVY8r1SBdLnqc8JYCZ1o5tzuicFBqITHBJik93Ml6ouS/mvsy7EgYIUCRwXEXQjJm5HDvruUe9aDh3pA==","signatures":[{"sig":"MEUCIQDXFzhygHdtxOjOdq0yNxgNsE4vXNkv6h8imh3zKeXHFAIgRXbcwz8cSfn5UgnMLy4jK8uz1sXXBXFU++SFD7so/Hg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260982},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.3.7.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/f7a33acea60b988e9b8b2c61944dd501/intuitionrobotics-thunderstorm-codemod-2.3.7.tgz","_integrity":"sha512-00nlHUiVY8r1SBdLnqc8JYCZ1o5tzuicFBqITHBJik93Ml6ouS/mvsy7EgYIUCRwXEXQjJm5HDvruUe9aDh3pA==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0","typescript":"^5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.3.7_1784558865636_0.4186051232627117","host":"s3://npm-registry-packages-npm-production"}},"2.3.8":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.3.8","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.3.8","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-to-handler":"bin/thunderstorm-to-handler.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"17bacfe909c1b047294a479459e424c4d7cffafc","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.3.8.tgz","fileCount":81,"integrity":"sha512-qQKBc63wyU2mpRpFcgZvXBkwyXlsCIxVX165+cv8snHCFKyt3KqPd7hik5lbvM+XN0vEIssrUTKVbhSUcyZrfw==","signatures":[{"sig":"MEYCIQCwFx0ArZFRGkagaVs0JkU/TwWbNLvMtmFH1JEqLRLSJwIhAKUANlXIUUwxgygL6e8L66N+dIk5qiAW9IPfsyMnjbvS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260982},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.3.8.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/259eafec394d8a4d7b5779822cfa75b4/intuitionrobotics-thunderstorm-codemod-2.3.8.tgz","_integrity":"sha512-qQKBc63wyU2mpRpFcgZvXBkwyXlsCIxVX165+cv8snHCFKyt3KqPd7hik5lbvM+XN0vEIssrUTKVbhSUcyZrfw==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0","typescript":"^5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.3.8_1784799286767_0.8069035727870282","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.4.1","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.4.1","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-to-handler":"bin/thunderstorm-to-handler.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"a3a8264c93a3ab31f906aa388b2c9b8658cae65e","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.4.1.tgz","fileCount":81,"integrity":"sha512-/26PVuP3y6PZj8TEPtcJbga5CIu+3bMxGJ7D9vojIsL+YPudWgsyOysDZ2ZI38V++sC3JamfGeOckSCzJizpfQ==","signatures":[{"sig":"MEUCIGtYZh4swrLee0b9mqa9V1bvJ84c8NbeRnxDdM7urGyrAiEAxcwyeMOfvsQcA4LaE7Jgh3W1LR574en1+JMQIdkvKKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260982},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.4.1.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/91010ed84195a756dd3ae38ecfbc3dd1/intuitionrobotics-thunderstorm-codemod-2.4.1.tgz","_integrity":"sha512-/26PVuP3y6PZj8TEPtcJbga5CIu+3bMxGJ7D9vojIsL+YPudWgsyOysDZ2ZI38V++sC3JamfGeOckSCzJizpfQ==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0","typescript":"^5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.4.1_1785097570916_0.9297640756578176","host":"s3://npm-registry-packages-npm-production"}},"2.4.2":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.4.2","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.4.2","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-to-handler":"bin/thunderstorm-to-handler.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"186370d0c67281becd5bd69defa6095bee72e373","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.4.2.tgz","fileCount":81,"integrity":"sha512-tKbdG9qMYXCsH3XCoSMRebTNApIZVcpunry4iUacvHMCVzFTFtmGp3tvg0Kq2sv3HQ3DFlf5qDGnSFY6tUGFJw==","signatures":[{"sig":"MEUCIGY73x0d7FgYFVsjmHeY7OjObYwpK0XMDl0nyY9w6+YwAiEAqYni6sDeM1hH6PyDgv4+wphJlvdVYTrdKgiXoTopgVc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260982},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.4.2.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/c43fade6a2325db5234fed0141612163/intuitionrobotics-thunderstorm-codemod-2.4.2.tgz","_integrity":"sha512-tKbdG9qMYXCsH3XCoSMRebTNApIZVcpunry4iUacvHMCVzFTFtmGp3tvg0Kq2sv3HQ3DFlf5qDGnSFY6tUGFJw==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0","typescript":"^5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.4.2_1785160371894_0.11144718744625592","host":"s3://npm-registry-packages-npm-production"}},"2.4.3":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.4.3","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.4.3","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-to-handler":"bin/thunderstorm-to-handler.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"7d523798cc87c71f68a3fc27cfb7f25413e8b5c7","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.4.3.tgz","fileCount":81,"integrity":"sha512-2LhMTpFKwcjJUgKGSxOUGRf/+FXdeOCrnyAcDFpZF8o+2Zb4H1yDOseOaUaRtSYLtcdUciqQiM7ehlzomiT9fg==","signatures":[{"sig":"MEQCIFTY7TzMUmmTVe6b4Lqr9ey9hNksNIbBylfW421NifoIAiBmdhU+M4heHxfCh+0ZgIjWaYgHCAyYUhzMO1UEp21rQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260982},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.4.3.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/b9c815e12b5256de101508da1a14b5a1/intuitionrobotics-thunderstorm-codemod-2.4.3.tgz","_integrity":"sha512-2LhMTpFKwcjJUgKGSxOUGRf/+FXdeOCrnyAcDFpZF8o+2Zb4H1yDOseOaUaRtSYLtcdUciqQiM7ehlzomiT9fg==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0","typescript":"^5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.4.3_1785167212008_0.0652643757977609","host":"s3://npm-registry-packages-npm-production"}},"2.4.4":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.4.4","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.4.4","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-to-handler":"bin/thunderstorm-to-handler.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"0f978ea8a42e7d888611fe57a56f18ad6c7dad36","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.4.4.tgz","fileCount":81,"integrity":"sha512-fAGhgZp0qft7h2OZl0mi28bOa2IZ4ZkmXjFkVJszSIVVDl2oOMf8ZijGzB0Y2i5IKcg6L5mZN7fZOY6lFUtiog==","signatures":[{"sig":"MEUCIQDm98h8m062DJTbuZJgFDsM8KyOg8lDkLbLfLkCWf5jFQIgMZZltDi6XLu2+xSR5QTRXpJQFOLnCyix54FHEOHqbNE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDdEXJoHonPHueGhsoIv0hA0nSDwST+QbS6XoCt53fUYgIgDYJuSfyn1KosGVyE6qMS9/6Cqe7DBjd6M5KbspYnlPg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260982},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.4.4.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/02d4ff4e1223e73386d0fb423d275c43/intuitionrobotics-thunderstorm-codemod-2.4.4.tgz","_integrity":"sha512-fAGhgZp0qft7h2OZl0mi28bOa2IZ4ZkmXjFkVJszSIVVDl2oOMf8ZijGzB0Y2i5IKcg6L5mZN7fZOY6lFUtiog==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0","typescript":"^5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.4.4_1788519857504_0.03710975409973516","host":"s3://npm-registry-packages-npm-production"}},"2.4.5":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.4.5","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.4.5","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-to-handler":"bin/thunderstorm-to-handler.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"98fbd9d3bf47ebed128bd13597733c0a6e743fb0","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.4.5.tgz","fileCount":81,"integrity":"sha512-tilXzYoY3yKoVS2EYz/sSHRmBO+eVV+REpdrXCRBoGZ6D3LDvOGWn4fhuYxq2I3sZEmeDLeIhhRLvBnVZz9XFg==","signatures":[{"sig":"MEUCIQDhM74qf/aRuFhCHc39aCpXnkJBrFcN3bTiShUwHzo+JQIgZN1L3x6A0/6HZRUvNnk+deh+eUznk3TGKmE0kT0FJpY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD0mUggsWKURH70GRDEKPUEPfV5I2REFWxT9+rKu/6beQIhALTqvTh+laD47MPsyCMctJA34se0M3GIcr1y2qhIw0w9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260982},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.4.5.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/c941ef965792d6f2d2d409da18eb7ebd/intuitionrobotics-thunderstorm-codemod-2.4.5.tgz","_integrity":"sha512-tilXzYoY3yKoVS2EYz/sSHRmBO+eVV+REpdrXCRBoGZ6D3LDvOGWn4fhuYxq2I3sZEmeDLeIhhRLvBnVZz9XFg==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0","typescript":"^5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.4.5_1789549532050_0.6490173925400566","host":"s3://npm-registry-packages-npm-production"}},"2.4.6":{"name":"@intuitionrobotics/thunderstorm-codemod","version":"2.4.6","author":{"name":"IR"},"license":"Apache-2.0","_id":"@intuitionrobotics/thunderstorm-codemod@2.4.6","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-to-handler":"bin/thunderstorm-to-handler.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"02eafd907e3ff4ac9ae7766e9885a335c6bee479","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.4.6.tgz","fileCount":81,"integrity":"sha512-DnhRa7rGRkvl9qwqqdVLOg24xyQ9qQi4w3xD0NAe2D+UiNxqGq1hmGVqFpo46QB7u3RRoSs/0d7wQvrqhAQNNA==","signatures":[{"sig":"MEUCIQCIxpmsexH+43oFTzXAwcyacFzHeOqHTSK3RbSV32ppXAIgYSBLl3JTBmbesk+NoK/H1NicUlYC0xhwr/9QRNSVfsQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCPVC9eLf+naF2QJA7HAzMqR+rRJ9KnIJbBLo3aOSr2QwIhAIWUWyyEak/mXeTVkEqEngjRGxwE3qI7NCO80UnazSs4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260982},"main":"./dist/cli.js","_from":"file:intuitionrobotics-thunderstorm-codemod-2.4.6.tgz","types":"./dist/cli.d.ts","engines":{"node":">=20"},"scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/ed40ff8959c55eccf1e0f4e2cb31ff6c/intuitionrobotics-thunderstorm-codemod-2.4.6.tgz","_integrity":"sha512-DnhRa7rGRkvl9qwqqdVLOg24xyQ9qQi4w3xD0NAe2D+UiNxqGq1hmGVqFpo46QB7u3RRoSs/0d7wQvrqhAQNNA==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0","typescript":"^5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunderstorm-codemod_2.4.6_1790161145078_0.38705732291952444","host":"s3://npm-registry-packages-npm-production"}},"2.4.7":{"_id":"@intuitionrobotics/thunderstorm-codemod@2.4.7","bin":{"thunderstorm-codemod":"bin/thunderstorm-codemod.js","thunderstorm-gen-routes":"bin/thunderstorm-gen-routes.js","thunderstorm-to-handler":"bin/thunderstorm-to-handler.js","thunderstorm-check-routes":"bin/thunderstorm-check-routes.js","thunderstorm-bootstrap-routes":"bin/thunderstorm-bootstrap-routes.js","thunderstorm-check-module-init":"bin/thunderstorm-check-module-init.js"},"dist":{"shasum":"9014377e1f507bc3f6d4ec693e9f5b88288307e6","tarball":"https://registry.npmjs.org/@intuitionrobotics/thunderstorm-codemod/-/thunderstorm-codemod-2.4.7.tgz","fileCount":81,"integrity":"sha512-radmAN9nxKIfTLIVXkY3t1/MDcgPxu/p9lp8PV27JF5crJxWIC/a+xBu0WNXvnaKdn0cnIcsEHVHBgYGGP4Fzw==","signatures":[{"sig":"MEQCIBVHjUxl2HIo7G/qMys5/iq++6lO9s01QgTJMfK8XOJPAiAiajSMkyHILbz8RGwmBsYk5e9s/gqfeiAY/y0Vfnh8XQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIH/N/DlUIlCsRG17U84cdP/5OQKy2mlZHKNiTQkFVW/TAiEAjY15zBw7YH+zVoReFkJEIcr3ITxAL53oC2cJLWzRwdw="}],"unpackedSize":260982},"main":"./dist/cli.js","name":"@intuitionrobotics/thunderstorm-codemod","_from":"file:intuitionrobotics-thunderstorm-codemod-2.4.7.tgz","types":"./dist/cli.d.ts","author":{"name":"IR"},"engines":{"node":">=20"},"license":"Apache-2.0","scripts":{"lint":"echo no-lint","build":"tsc -p tsconfig.json","clean":"rm -rf dist"},"version":"2.4.7","_npmUser":{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"},"_resolved":"/tmp/473d1aa27f8a5354700c351e6c064459/intuitionrobotics-thunderstorm-codemod-2.4.7.tgz","_integrity":"sha512-radmAN9nxKIfTLIVXkY3t1/MDcgPxu/p9lp8PV27JF5crJxWIC/a+xBu0WNXvnaKdn0cnIcsEHVHBgYGGP4Fzw==","_npmVersion":"10.2.3","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","directories":{},"maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"_nodeVersion":"20.10.0","dependencies":{"chokidar":"^4.0.0","ts-morph":"^25.0.0","typescript":"^5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/thunderstorm-codemod_2.4.7_1790172313626_0.8142087660599535"}}},"time":{"created":"2026-05-19T15:16:39.782Z","modified":"2026-09-23T14:05:14.322Z","2.0.1":"2026-05-19T15:16:40.063Z","2.0.2":"2026-05-19T18:35:49.864Z","2.0.3":"2026-05-25T08:31:34.632Z","2.0.4":"2026-05-26T15:35:51.356Z","2.0.5":"2026-05-28T15:28:25.454Z","2.0.6":"2026-05-29T09:15:21.802Z","2.0.7":"2026-05-29T11:29:46.188Z","2.0.8":"2026-05-29T11:55:34.532Z","2.0.9":"2026-06-03T10:37:45.575Z","2.0.10":"2026-06-03T11:03:14.562Z","2.0.11":"2026-06-03T11:12:53.366Z","2.0.12":"2026-06-03T13:09:17.596Z","2.1.1":"2026-06-04T17:31:22.335Z","2.1.3":"2026-06-08T20:29:39.708Z","2.2.1":"2026-06-12T13:47:02.568Z","2.2.2":"2026-06-24T13:10:09.770Z","2.2.3":"2026-06-26T13:16:40.002Z","2.3.1":"2026-07-01T22:08:44.138Z","2.3.2":"2026-07-06T12:45:03.905Z","2.3.3":"2026-07-14T20:10:45.197Z","2.3.4":"2026-07-14T21:11:02.307Z","2.3.5":"2026-07-16T13:31:13.657Z","2.3.6":"2026-07-17T09:55:34.450Z","2.3.7":"2026-07-20T14:47:45.772Z","2.3.8":"2026-07-23T09:34:46.942Z","2.4.1":"2026-07-26T20:26:11.061Z","2.4.2":"2026-07-27T13:52:52.040Z","2.4.3":"2026-07-27T15:46:52.185Z","2.4.4":"2026-09-04T11:04:17.583Z","2.4.5":"2026-09-16T09:05:32.179Z","2.4.6":"2026-09-23T10:59:05.183Z","2.4.7":"2026-09-23T14:05:13.889Z"},"author":{"name":"IR"},"license":"Apache-2.0","description":"One-shot migration tool for v0.x to v1.0 of the @intuitionrobotics/* framework. Rewrites legacy module.exports = ... API/aggregator/re-export files to ESM-style export default, and generates static RouteResolver manifests from api/ directories.","maintainers":[{"name":"jenkins_ir","email":"jenkins@intuitionrobotics.com"}],"readme":"# @intuitionrobotics/thunderstorm-codemod\n\nOne-shot migration tools for upgrading downstream consumers of the\n`@intuitionrobotics/*` framework. Ships three CLI binaries, all designed\nto be run **once** per repository (and then deleted from your dev deps).\n\n```sh\npnpm dlx @intuitionrobotics/thunderstorm-codemod migrate         ./src/main/api\npnpm dlx @intuitionrobotics/thunderstorm-codemod bootstrap-routes ./src/main/api --out ./src/main/api/routes.ts\npnpm dlx @intuitionrobotics/thunderstorm-codemod check-routes    ./src/main/api --routes ./src/main/api/routes.ts\n```\n\n> The `bootstrap-routes` / `check-routes` invocations above are short for\n> the bins `thunderstorm-bootstrap-routes` and `thunderstorm-check-routes`.\n> Both are published with their own `bin` entry, so you can wire\n> `check-routes` into CI directly via:\n> `npx --package=@intuitionrobotics/thunderstorm-codemod -- thunderstorm-check-routes ...`\n\n## What each tool does\n\n### `thunderstorm-codemod migrate <api-dir>`\n\nThree transformations in one pass, all idempotent.\n\n**Pass 1 — `module.exports` rewrite (v0.x → v1).** Safe to run on any tree.\n\n| Before | After |\n|---|---|\n| `module.exports = new ServerApi_X();` | `export default new ServerApi_X();` |\n| `module.exports = [a, b, c];` | `export default [a, b, c];` |\n| `module.exports = expr;` (anything else) | `export default expr;` |\n| `module.exports = require(\"X\");` | `import _reexport from \"X\";`<br>`export default _reexport;` |\n\nRegex-based; multi-line or conditional `module.exports` are left alone —\nreview with `--dry-run` first if you have an unusual layout.\n\n**Pass 2 — strip `super(\"path\")` and collapse `_Get`/`_Post` (v1 → v2).**\n\nFor every `ServerApi_*` subclass:\n\n- Removes the URL-fragment argument from the `super(...)` call.\n- If the parent is `ServerApi_Get` or `ServerApi_Post`, rewrites the\n  `extends` clause to `extends ServerApi<T>` and injects\n  `HttpMethod.GET` (or `.POST`) into the super() args.\n- Updates the import list: replaces `ServerApi_Get` / `ServerApi_Post`\n  with `ServerApi`, adds `HttpMethod`. Preserves `type` modifiers on\n  type-only imports (load-bearing under `verbatimModuleSyntax`).\n\n| Parent class (before migration) | super() args captured |\n|---|---|\n| `extends ServerApi_Get<...>`    | `super(\"leaf\")` → arg 0 → leaf, method=GET |\n| `extends ServerApi_Post<...>`   | `super(\"leaf\")` → arg 0 → leaf, method=POST |\n| `extends ServerApi_Redirect`    | `super(\"leaf\", code, url)` → arg 0 |\n| `extends ServerApi<...>`        | `super(METHOD, \"leaf\"[, tag])` → arg 1 |\n\nRecording into the sidecar happens for **every** ServerApi-family\nendpoint the codemod sees, even ones with nothing structural to rewrite.\nThat way `bootstrap-routes` always knows the method for each endpoint\nwhen generating the routes file.\n\nThe sidecar lives at `<api-dir>/.thunderstorm-routes-sidecar.json`.\nDelete it once `bootstrap-routes` has consumed it.\n\n### `thunderstorm-bootstrap-routes <api-dir> --out <file.ts>`\n\nReads the sidecar from `migrate` plus the filesystem layout of `<api-dir>`\nand writes a single Express-Router-tree routes file:\n\n```ts\n// Auto-generated by thunderstorm-bootstrap-routes — initial seed.\n// Hand-edit this from here. The tool runs ONCE; do not regenerate.\n\nimport {Router} from \"express\";\n\nimport register        from \"./v1/register.js\";\nimport endpointExample from \"./v1/types-testing/post-without-response-endpoint.js\";\n\nconst typesTesting = Router();\ntypesTesting.post(\"/post-without-response-endpoint\", endpointExample.handler);\n\nconst v1 = Router();\nv1.post(\"/register\", register.handler);\nv1.use(\"/types-testing\", typesTesting);\n\nexport const apiRoutes: Router = Router();\napiRoutes.use(\"/v1\", v1);\n```\n\nEach leaf gets `router.<method>(\"/path\", api.handler)` — pure Express,\nno framework helper. `.handler` is the cached `RequestHandler` on every\n`ServerApi` instance.\n\nConventions inherited from the walker:\n\n- `_<name>.ts` files are skipped (private helpers — no v2 equivalent).\n- `&<name>.ts` files were RouteResolver aggregators in v1. They are\n  **omitted** from the generated routes file. Delete them from your\n  repo after the seed is written; they're vestigial.\n- Directory names become Express Router subtrees mounted at `/{dirname}`.\n- File basenames are the fallback for leaf URLs when the sidecar has\n  no captured `leafPath` (e.g. files that were already v2-shape on a\n  re-run).\n- JS reserved words (`delete`, `class`, …) used as identifiers get an\n  underscore prefix (`_delete`, `_class`) so the emitted file compiles.\n\nAfter `bootstrap-routes` writes the file: **edit it freely.** The tool\nruns once. From here on, adding an endpoint means writing the handler\nfile and adding one `router.<method>(\"/path\", api.handler)` line in\nthis routes file.\n\n### `thunderstorm-check-routes <api-dir> --routes <file.ts>`\n\nCI guard. Verifies every leaf endpoint in `<api-dir>` is mounted somewhere\nin the routes file. Recognised mount patterns:\n\n1. `router.<verb>(path, api.handler)` — the canonical case.\n2. `router.<verb>(path, api)` — bare identifier in the handler slot\n   (TS would warn at compile time if this doesn't match the Express\n   `RequestHandler` shape, so it's rare but accepted).\n3. `const ... = importedX` — destructure or alias from an imported\n   identifier. The check trusts the destructured names are mounted\n   further down without re-walking.\n4. `for (const a of importedArray) ...` — iteration over an imported\n   array, typical for dynamic DB-API-generator output:\n   ```ts\n   for (const api of generatedApis)\n       router[api.method](`/${api.relativePath}`, api.handler);\n   ```\n\nExits 0 if all leaves are mounted; exits 1 with `file:line` lines for\nthe missing ones; exits 2 on bad CLI args.\n\n## End-to-end migration flow\n\n```sh\n# 1. Inside your consumer repo, on a clean branch:\npnpm dlx @intuitionrobotics/thunderstorm-codemod migrate ./src/main/api\n\n# 2. Generate the initial Express routes file:\npnpm dlx @intuitionrobotics/thunderstorm-codemod bootstrap-routes \\\n    ./src/main/api --out ./src/main/api/routes.ts\n\n# 3. Delete legacy aggregators the tool flagged but left in place:\nfind ./src/main/api -name '&*.ts' -delete\ngrep -l 'new RouteResolver(' ./src/main/api -r | xargs rm -f\n\n# 4. Update your server entrypoint:\n#    -   .setInitialRouteResolver(new RouteResolver())\n#    -   .registerApis(...)\n#    +   .setRoutes(apiRoutes)        // import from ./api/routes.js\n#    +   (everything else is unchanged)\n#\n#    Plus: any ad-hoc endpoint class living outside api/ needs the same\n#    Get/Post collapse the codemod did automatically inside api/. See\n#    docs/migrating-to-v2.md \"Endpoint class outside api/\" for the\n#    grep + hand-edit checklist.\n\n# 5. Add the CI guard. Once it passes, commit and remove the codemod\n#    from your devDependencies — its job is done.\npnpm dlx @intuitionrobotics/thunderstorm-codemod check-routes \\\n    ./src/main/api --routes ./src/main/api/routes.ts\n```\n\n## Known limitations\n\n- **Array-of-endpoints files.** A file like\n  `export default [new ApiA(), new ApiB()];` is captured in the sidecar\n  with one entry per class, but the bootstrap emits a single import.\n  Hand-edit the generated routes file:\n  ```ts\n  const [a, b] = arrayFile;\n  router.get(\"/a\", a.handler);\n  router.post(\"/b\", b.handler);\n  ```\n  Or, for dynamic DB-API-generator arrays, iterate inline:\n  ```ts\n  for (const api of generatedApis)\n      router[api.method](`/${api.relativePath}`, api.handler);\n  ```\n  `check-routes` accepts both patterns.\n- **Direct `new ServerApi_Redirect(\"path\", code, url)` constructions.**\n  Not yet rewritten by the codemod (only subclasses are). The bootstrap\n  falls back to the filename for the mount path. Hand-edit if you need\n  the original URL fragment preserved.\n- **Non-string path literals.** If `super(METHOD, somePath)` uses a\n  variable or expression instead of a string literal, the codemod\n  leaves the file alone. Fix manually.\n- **Endpoint classes outside `api/`.** The codemod only walks the\n  directory you pass. Endpoint classes in module init code, util files,\n  or anywhere else need a hand-edit (same shape — drop `_Get`/`_Post`,\n  add `HttpMethod` to super, fix imports).\n- **Bare `.ts` files only.** `.tsx`, `.js`, `.cjs`, `.d.ts`, and\n  `.test.ts` are skipped.\n- **Skips `node_modules`, `dist`, `build`, `.git`.** Hidden directories\n  (`.<name>`) too.\n\n## Exit codes\n\n| Code | Meaning |\n|---|---|\n| 0 | success |\n| 1 | one or more files failed to read/transform/write, or an endpoint was unmounted |\n| 2 | invalid CLI arguments |\n\n## Bins\n\nThe package exposes four binaries:\n\n| Bin | Purpose |\n|---|---|\n| `thunderstorm-codemod` | umbrella, currently supports `migrate` |\n| `thunderstorm-bootstrap-routes` | one-shot Express routes-file seed |\n| `thunderstorm-check-routes` | CI guard: every leaf is mounted |\n| `thunderstorm-gen-routes` | legacy v1 RouteResolver-tree generator (deprecated; kept for repos that haven't migrated yet) |\n","readmeFilename":"README.md"}