{"_id":"express-route-parser","_rev":"9-4cda29486cfca529af9eb7a165fd69a2","name":"express-route-parser","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"express-route-parser","version":"1.0.0","keywords":["express","documentation","generator","plugin","parser","metadata","reflection"],"author":{"name":"Nathan Klisch"},"license":"ISC","_id":"express-route-parser@1.0.0","maintainers":[{"name":"nklisch","email":"nklisch@gmail.com"}],"homepage":"https://github.com/nklisch/express-route-parser#readme","bugs":{"url":"https://github.com/nklisch/express-route-parser/issues"},"dist":{"shasum":"ad7e9779ff3a71cd682c9eb21e1904fbed401b38","tarball":"https://registry.npmjs.org/express-route-parser/-/express-route-parser-1.0.0.tgz","fileCount":9,"integrity":"sha512-Kg8o3odC7wFcMzNXC+uBK2PJ+1JYTIzgd+fevPoXXht+khxt0Saf9rc8rFX6bVkXFCnr5Yoc74E3yJq26nxIyQ==","signatures":[{"sig":"MEQCIB/8eKk+yjYq/O2N0X81qIXlGjB+TkRibEWkEMwE1KaeAiAKLADa9W0QsIu9T1msyZj2FqPoyCwaaouQ/n9maCI2tQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14317,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi45umACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqnOBAAmBgzBk/Jdx2m9kOSnXxnVwhvxv93wOAw6BQrCBl1DL2opoPN\r\nmQJxhbEAxMktl+RtSABA8apXvqzJE9XcWhaEUOrtYmWYYUusXTmopJLIL5A3\r\nh2q88StnwC1lbzb+LcXMlLX5aurJ9vJ6NXP/UfviWQ+hT+UVEJLLJJUZc7L8\r\nPxEa+nU6u1+4vsSLQ7qNNFQmQlvs/LVqs6GP3BTx9qoDPzNFeASW4YMacqBA\r\nee22q/GQZ2tyWQQly3qmoWYalWInZACnQJ7sS9o679s+SI6TxUZVZDt1D52Y\r\nsgvw/yjpAZO9lkbmkiJriz+cBmxxLAOOwGPqFBpWSQRUpnfIibU39dxvGxrz\r\nSneMnRplJVxyRKVMQ9UcDwCSNYhBTlieDLlSj22JaKyc5r5P9cFEI2k7FzOx\r\nE2JgX3H6lHks3cu0Rq40+Wb6IQJjoWkjP93pbwlJPmqF8fVA/AB000CozL8S\r\no4hQt+IPsGpSThJgm67FzGHl4WP0yu0y4xNNQiBAY3fH1+37JqECcbwIu6Jo\r\nHmcg65yf5vffnzx5YJw1KMDrl9mbwVUXTpw4MF+JpTlOGWzCeUzcTga8BbPs\r\n51r8JkoEWs3nuJi7vM+F4MjjvyHJ+0nYIyLTxk/MQn2jCHsqPNcko/CHHo5B\r\nmdansKRkvkD/HT+PRG7BA9zs+tTIfjGKt+8=\r\n=hS5I\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","funding":{"url":"https://www.buymeacoffee.com/nklisch","type":"buyMeACoffee"},"gitHead":"131f7ae68ac4318a5d16658a5308d031700ece62","scripts":{"lint":"eslint -c .eslintrc.js --ext .ts src","test":"jest --collectCoverage --config jestconfig.json","build":"tsc","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","prepare":"npm run build","version":"npm run format && git add -A src","lint-fix":"eslint -c .eslintrc.js --ext .ts src --fix","preversion":"npm run lint","postversion":"git push && git push --tags","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"nklisch","email":"nklisch@gmail.com"},"repository":{"url":"git+https://github.com/nklisch/express-route-parser.git","type":"git"},"_npmVersion":"8.13.2","description":"An Express plugin that can list the path and route endpoints of an Express app.","directories":{},"_nodeVersion":"18.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.2","eslint":"^8.19.0","express":"^4.18.1","ts-jest":"^28.0.5","prettier":"^2.7.1","typescript":"^4.7.4","@types/jest":"^28.1.4","@types/express":"^4.17.13","eslint-plugin-jsdoc":"^39.3.3","eslint-plugin-react":"^7.30.1","eslint-config-prettier":"^8.5.0","tslint-config-prettier":"^1.18.0","@typescript-eslint/parser":"^5.30.6","eslint-plugin-prefer-arrow":"^1.2.3","@typescript-eslint/eslint-plugin":"^5.30.6"},"peerDependencies":{"express":"^4.x","@types/express":"^4.x"},"_npmOperationalInternal":{"tmp":"tmp/express-route-parser_1.0.0_1659083686000_0.5403721869434304","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"express-route-parser","version":"1.0.1","keywords":["express","documentation","generator","plugin","parser","metadata","reflection"],"author":{"name":"Nathan Klisch"},"license":"ISC","_id":"express-route-parser@1.0.1","maintainers":[{"name":"nklisch","email":"nklisch@gmail.com"}],"homepage":"https://github.com/nklisch/express-route-parser#readme","bugs":{"url":"https://github.com/nklisch/express-route-parser/issues"},"dist":{"shasum":"ab31810794ba80e61b43d3460fab585ed2401167","tarball":"https://registry.npmjs.org/express-route-parser/-/express-route-parser-1.0.1.tgz","fileCount":9,"integrity":"sha512-NoOhjmcbe9Hlg9zh7e6WBpNkVqSzOTBd4956d+y1h6SWg2WyfSjpALeKVJGkuQt0N6A4nnzkz+Av+grPB/NBpw==","signatures":[{"sig":"MEQCID/CUcqyWFGJyJE2qcfsB1gsRsQwGj7LccEg22kCgAbIAiBonB/Rj09EZmGlKFr9pQd9TTfrn0YGxSySFR7zB57agg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13821,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi455XACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoA8hAAibNFU9MtVncS0E/5AnD256xil3wJGUjytgPVWy5+f83c49c6\r\nTU04evsjpu0EMjjTPJfSPJ0a/QnTZzo7p9pzdbfxmxCX0pKbYRRs+Jb2S2fM\r\nmO5SokIoT+Mh8HA1latv0TYy9UuACDZzUUT0wgadQGbMVroUq/aVkfzY4rj5\r\ni52qFqv7buvISrdjfuTv6UoBcpGbQKQMUDx3tC+cK0PoiXqzA5TzOBh/fRrL\r\nj6a1ky+0En+hbc1r9raaY2fFPklgr8dYBiUPz0uYxFCJ7DPeEJu5Hl718vQm\r\nhh50wd4V/R1pzw2PoS+xiIfgmfAgjnmTsNQKrYubzO3wcAEAdx2+c0tuPoen\r\nb9Vs6KYDZF24CDCC6wu267VSmEpV8R52CE30CLyon4Gn2Z9O8hqQ5x5CNpiz\r\nlueMpHl2WzDh+5JA4tfbcSger7uZHNehPGnKaj3iII/96EV7N0Sb24s0jgZB\r\ngGjzo6vgvp7VVLDM2oOtKIxYyo/YcYgp/Hqi2yXUcHGettwzx36i64xzeyvh\r\nPwMSaOE4OnUGpJ2AdhBUxWoUVxk8Aohk/xExX7KGPV4V1c0b+eEP0qPD4F2g\r\nopCbGS05K43lbaMjIQxMezaJLrZZUlSW1dyT7HM8FECK1lTPu/1I241amPgg\r\nozE9TgKPK8Xa3BdQNR+c8JnIUXctLpzu9MQ=\r\n=7MTn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","funding":{"url":"https://www.buymeacoffee.com/nklisch","type":"buyMeACoffee"},"gitHead":"2b4251efeb32a4ab529992581bd6d768aa6d526a","scripts":{"lint":"eslint -c .eslintrc.js --ext .ts src","test":"jest --collectCoverage --config jestconfig.json","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","version":"npm run format && git add -A src","lint-fix":"eslint -c .eslintrc.js --ext .ts src --fix","preversion":"npm run lint","postversion":"git push && git push --tags","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"nklisch","email":"nklisch@gmail.com"},"repository":{"url":"git+https://github.com/nklisch/express-route-parser.git","type":"git"},"_npmVersion":"8.13.2","description":"An Express plugin that can list the path and route endpoints of an Express app.","directories":{},"_nodeVersion":"18.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.2","eslint":"^8.19.0","express":"^4.18.1","ts-jest":"^28.0.5","prettier":"^2.7.1","typescript":"^4.7.4","@types/jest":"^28.1.4","@types/express":"^4.17.13","eslint-plugin-jsdoc":"^39.3.3","eslint-plugin-react":"^7.30.1","eslint-config-prettier":"^8.5.0","tslint-config-prettier":"^1.18.0","@typescript-eslint/parser":"^5.30.6","eslint-plugin-prefer-arrow":"^1.2.3","@typescript-eslint/eslint-plugin":"^5.30.6"},"peerDependencies":{"express":"^4.x","@types/express":"^4.x"},"_npmOperationalInternal":{"tmp":"tmp/express-route-parser_1.0.1_1659084375096_0.9866174100479306","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"express-route-parser","version":"1.0.2","keywords":["express","documentation","generator","plugin","parser","metadata","reflection","list","path","routes","log"],"author":{"name":"Nathan Klisch"},"license":"ISC","_id":"express-route-parser@1.0.2","maintainers":[{"name":"nklisch","email":"nklisch@gmail.com"}],"homepage":"https://github.com/nklisch/express-route-parser#readme","bugs":{"url":"https://github.com/nklisch/express-route-parser/issues"},"dist":{"shasum":"7ac8e3e2bde0530b405a0d79fcd0f26b398f1391","tarball":"https://registry.npmjs.org/express-route-parser/-/express-route-parser-1.0.2.tgz","fileCount":9,"integrity":"sha512-Kmvi5ubY+Xuf9fKuy3fBjwj0kBspFK8yA5vXk4WwrEL9w3NMA9UNZp+VZRukeuK/yyL0wA06ywDH0CNEk2TDqA==","signatures":[{"sig":"MEUCIHgnJu72lsMgCdtLVvl+QlT7vCtqn6S9kCT2pqgv+ZlPAiEAkcLKEGFWbuatbBSeYYwsNPwhViq8rZ+0Df3/9NXigRg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13870,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi5EcfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp0OA//d+xLWyUKm1ifGW3l8VGvwLSTxocPKMjFidM3alRKEoqDDcfT\r\nxn3Ld8XSWwy4PTY97wFDi/KlU9OvcM1E4Od5ikazx6qGgneI5rTK/2cmT7q9\r\nFx/NSGC2pKRFEARD9lxTh+iQpPlQ7Z/UED8w3wo82I4OsEz67AjD17fn83DR\r\nh0w2ytn+NysbIgh5TQA19MjYXMyGo2oBdskIk5nJpZlWXrI113TOykRJKyq+\r\nD7pRR0NU2Nv9XS8Y65X1GxTVTnW52UTY1S1UAcJzVpPCXKvW0/8zTMGH2XZg\r\nl3LDvJNaxH08FmSQzpQPhnur8vOG6xCv+1YjhRngpgyRWZDRmBsEm1YKO95D\r\n5RXbbh/TqMQvapo+OeakY3ObUzNW+S+yH3kSoNeFqPbcc12xU96pAyZr+fvC\r\nB29Ad0RSw5IxI7IfVNBa01t8b+ofZF74iKzBA6HELFvyJWMcBD7JmVabXRb9\r\nNqPOyIvxM+rZxJ4xXe3K0djnbnkHBKKa6WG4tv8SjH5BiC+4fJyD+53gnSOl\r\nQK08ltHsrKaw7rXewHTJZ8GLJ/Kex3VtsfonNTVVllyL3TKt0jW26JRP1pq1\r\nRUAv+HMVu1NAXEFb2AnvdEByISdsrvAILeHyZMq9Zb9Fs3dkNynWnLDyF7aY\r\n4vmB3Zq2Gn9OmmAp0cvQRAuc3m8G+IEhc3E=\r\n=tKT3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","funding":{"url":"https://www.buymeacoffee.com/nklisch","type":"buyMeACoffee"},"gitHead":"d5758b00a60528f9238208934126446e65dc65bc","scripts":{"lint":"eslint -c .eslintrc.js --ext .ts src","test":"jest --collectCoverage --config jestconfig.json","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","version":"npm run format && git add -A src","lint-fix":"eslint -c .eslintrc.js --ext .ts src --fix","preversion":"npm run lint","postversion":"git push && git push --tags","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"nklisch","email":"nklisch@gmail.com"},"repository":{"url":"git+https://github.com/nklisch/express-route-parser.git","type":"git"},"_npmVersion":"8.13.2","description":"An Express plugin that can list the path and route endpoints of an Express app.","directories":{},"_nodeVersion":"18.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.2","eslint":"^8.19.0","express":"^4.18.1","ts-jest":"^28.0.5","prettier":"^2.7.1","typescript":"^4.7.4","@types/jest":"^28.1.4","@types/express":"^4.17.13","eslint-plugin-jsdoc":"^39.3.3","eslint-plugin-react":"^7.30.1","eslint-config-prettier":"^8.5.0","tslint-config-prettier":"^1.18.0","@typescript-eslint/parser":"^5.30.6","eslint-plugin-prefer-arrow":"^1.2.3","@typescript-eslint/eslint-plugin":"^5.30.6"},"peerDependencies":{"express":"^4.x","@types/express":"^4.x"},"_npmOperationalInternal":{"tmp":"tmp/express-route-parser_1.0.2_1659127583199_0.3134122879074952","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"express-route-parser","version":"1.0.3","keywords":["express","documentation","generator","plugin","parser","metadata","reflection","list","path","routes","log"],"author":{"name":"Nathan Klisch"},"license":"ISC","_id":"express-route-parser@1.0.3","maintainers":[{"name":"nklisch","email":"nklisch@gmail.com"}],"homepage":"https://github.com/nklisch/express-route-parser#readme","bugs":{"url":"https://github.com/nklisch/express-route-parser/issues"},"dist":{"shasum":"34505e08c25f22f26c228f0c62aaf9d4e9b2b09d","tarball":"https://registry.npmjs.org/express-route-parser/-/express-route-parser-1.0.3.tgz","fileCount":9,"integrity":"sha512-6U+oqSeXRA5Z+qeZVj4izr+aIyxyEFs/3Cz7AZOqYzaDqcaN/c4gcjzwKhGRs/ToRC3hhOgnbi1WI01zZSc1LA==","signatures":[{"sig":"MEUCIQC8hoSmL6IQEfcuTJsVwhP8Guwq+sShMp+JRL4bGvkcWAIgEoO2VBduLiKjQYNaZOVyfJBJ9Ov7d26+f2+9PWCiqTQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14618,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi5HNPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmowTw/9GyMu3Mhwfc6hDQOc0nEeUKf6Twnb3B+cquMzHpnr3KpIurh2\r\nUub+qHbCrmDZ1QZRyb1YDuYpYb5RDeMYAEq0iG1aDgn0g4OC3ic0a3Qk6hJu\r\nxyxMrxhShkOB9uIuykjQ60MvBNtM9UewsVlz8c6bsnIQD0RCWGahrsA6HUBi\r\nUjLuB+K8X+dFbKKrjRtshZtIlnP7Tk71pynBP3fO37oDdcYUD8sDRYZambvc\r\nKcqvEtQHh0AWyWvtJVpSyhdHItDzbjZFpS6/sQ9ZhnSMEN2mEk3imC8ToUYs\r\nYNMiWs9Z3wlyKu1OccEjWNv2fbi+ZeJAMO7x9cfizG/8pvE0yNOWN92oEx1g\r\n8cT99om7gs/MjNhmfRQoj3GlUQSBfYWy4wl9cJHLTPCHyRWbeUMPcBAqUESP\r\nKpg19zt+H4/9yKC5n/x2Vyx9nfp2OR7TCf6Y+2WChpDzxMtzT1E1H3Im55Mu\r\n7NGidv1c1jdmV42GHyHHPDh473c73wAoxdoITVVYVAwiQsC06f7Xd9CK/Qdp\r\nk+Hgg74kDVy77FOK1CiX80sIOruFMnTKpAAeOJTTtfZ18rAFoEW8zcM8RkfO\r\nVksTElN0grJrV3NU4zOs9C+9DV4bbDk9Cmnf0KU4D5a15aRv1dgymRFOsrOQ\r\nuhfHCGtoLWmd7fSQtlz3AA4DdJw1EusD9vE=\r\n=Siku\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","funding":{"url":"https://www.buymeacoffee.com/nklisch","type":"buyMeACoffee"},"gitHead":"5bac844f8d6dd352556d156cde358ab4f6827a79","scripts":{"lint":"eslint -c .eslintrc.js --ext .ts src","test":"jest --collectCoverage --config jestconfig.json","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","version":"npm run format && git add -A src","lint-fix":"eslint -c .eslintrc.js --ext .ts src --fix","preversion":"npm run lint","postversion":"git push && git push --tags","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"nklisch","email":"nklisch@gmail.com"},"repository":{"url":"git+https://github.com/nklisch/express-route-parser.git","type":"git"},"_npmVersion":"8.13.2","description":"An Express plugin that can list the path and route endpoints of an Express app.","directories":{},"_nodeVersion":"18.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.2","eslint":"^8.19.0","express":"^4.18.1","ts-jest":"^28.0.5","prettier":"^2.7.1","typescript":"^4.7.4","@types/jest":"^28.1.4","@types/express":"^4.17.13","eslint-plugin-jsdoc":"^39.3.3","eslint-plugin-react":"^7.30.1","eslint-config-prettier":"^8.5.0","tslint-config-prettier":"^1.18.0","@typescript-eslint/parser":"^5.30.6","eslint-plugin-prefer-arrow":"^1.2.3","@typescript-eslint/eslint-plugin":"^5.30.6"},"peerDependencies":{"express":"^4.x","@types/express":"^4.x"},"_npmOperationalInternal":{"tmp":"tmp/express-route-parser_1.0.3_1659138895351_0.6395571543156073","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"express-route-parser","version":"1.0.4","keywords":["express","documentation","generator","plugin","parser","metadata","reflection","list","path","routes","log"],"author":{"name":"Nathan Klisch"},"license":"ISC","_id":"express-route-parser@1.0.4","maintainers":[{"name":"nklisch","email":"nklisch@gmail.com"}],"homepage":"https://github.com/nklisch/express-route-parser#readme","bugs":{"url":"https://github.com/nklisch/express-route-parser/issues"},"dist":{"shasum":"2cf5f0a899405c229426f414cd7fb5d26df7edf7","tarball":"https://registry.npmjs.org/express-route-parser/-/express-route-parser-1.0.4.tgz","fileCount":9,"integrity":"sha512-06xMP+SapZ73Sd1rbq6Hxy0hP/TltlYcrMM4TX6A2kOpGI8BRyZzT4uzGhht536r45LzwCNNASTNOVShQOeNtQ==","signatures":[{"sig":"MEQCID797A8tpBqqiPG7WFphmBw+c+6ZDS7ufDRpMwyNPP/UAiAGK5jA3awCEm+M0WEDAOyasGuQO26RXvu9XLYMZGoPEA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14642,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi5Hn/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpsGBAAho+FpH59rl8swTRVOJS3957x/Yr/Rwwkww3g6xYGkG+KJSdD\r\nVhQcXFwsPqYQn125nE/mVm9K/ACPZhlOZycELi/BgwP7slWSxIwrespe3o4V\r\nG5qDQrYG3qlyNZHusnZaCOIk6Zuw2Fk0jz4TL9oM9BcY4ZYD+cibkFF4vx1K\r\nVHCiT12RnaumNdS4aC/C82V9w8hTHjAHBvbaILARc2vONEDlt+e8L7S2SwuN\r\n14axL5Nca27b8oG2mn5lrBEzLekO2T64x/6FMjeyIMxFsF94ATlGBAWaHPJT\r\na/g7EkVS9oBGVId0zFcPPxNDHVNVRFD8CsHW9cY/QLmCT/6fJpx16nDhOVEc\r\nxADRaMvmyGkZ2GD0zuqU8xz9PdCkWLSimRqtUnPhKRu9K5V+5XWk3xH0vopB\r\nOjlODvP9JtrSdRWg+QRttDIib4lyStPE+tn+mUw6NwG8EucXa0qsZCARRimR\r\nsoG1+kMetRXfVRlFhJ5WhXIudruj1Ci1/gdLwOFea3VrUca/RtL7PPj2UxOl\r\nEHK1p/s7jhTNcIxIEYVaRlNhv/9beUDSn/EwpawR8K3K7oT0uHI5HlrU6S/y\r\n/1XHgUbjDpIA15/FXQvqPxPom2YlFRLoDaCh5Bi1iZ/+0fpK1XmTwbSBSn06\r\nJl103aOrY91s5q0xDgwIurmo9cNivZ1auKU=\r\n=uhkW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","funding":{"url":"https://www.buymeacoffee.com/nklisch","type":"buyMeACoffee"},"gitHead":"33a8b0b2205d64d8560ea9dd9688d68159253709","scripts":{"lint":"eslint -c .eslintrc.js --ext .ts src","test":"jest --collectCoverage --config jestconfig.json","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","version":"npm run format && git add -A src","lint-fix":"eslint -c .eslintrc.js --ext .ts src --fix","preversion":"npm run lint","postversion":"git push && git push --tags","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"nklisch","email":"nklisch@gmail.com"},"repository":{"url":"git+https://github.com/nklisch/express-route-parser.git","type":"git"},"_npmVersion":"8.13.2","description":"An Express plugin that can list the path and route endpoints of an Express app.","directories":{},"_nodeVersion":"18.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.2","eslint":"^8.19.0","express":"^4.18.1","ts-jest":"^28.0.5","prettier":"^2.7.1","typescript":"^4.7.4","@types/jest":"^28.1.4","@types/express":"^4.17.13","eslint-plugin-jsdoc":"^39.3.3","eslint-plugin-react":"^7.30.1","eslint-config-prettier":"^8.5.0","tslint-config-prettier":"^1.18.0","@typescript-eslint/parser":"^5.30.6","eslint-plugin-prefer-arrow":"^1.2.3","@typescript-eslint/eslint-plugin":"^5.30.6"},"peerDependencies":{"express":"^4.x","@types/express":"^4.x"},"_npmOperationalInternal":{"tmp":"tmp/express-route-parser_1.0.4_1659140607572_0.015015598948862507","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"express-route-parser","version":"1.0.5","keywords":["express","documentation","generator","plugin","parser","metadata","reflection","list","path","routes","log"],"author":{"name":"Nathan Klisch"},"license":"ISC","_id":"express-route-parser@1.0.5","maintainers":[{"name":"nklisch","email":"nklisch@gmail.com"}],"homepage":"https://github.com/nklisch/express-route-parser#readme","bugs":{"url":"https://github.com/nklisch/express-route-parser/issues"},"dist":{"shasum":"dc4113f43fbdf0880b6a1b24c172dbb99243d3f1","tarball":"https://registry.npmjs.org/express-route-parser/-/express-route-parser-1.0.5.tgz","fileCount":9,"integrity":"sha512-twfGYnLWH/KD5EtgXI2XokhavhRMxr5f24F7zNrr7bWvm4cGu5opnAfwHH4fFo7/J2FaelmfyM5BNnL1q4vHVw==","signatures":[{"sig":"MEQCIFkX+7jXU+rh8e7P5DT4J05czNyHAU87yGCJ7vMHkpK7AiByI3AMHQWUo9XIoP+H6pmU6ajVXnxhV/J+oH1UX/z6zA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14665,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi52eMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq9QQ/+NzZpFrGLmSp5hEgCSXP4rY8Cga+ydDYjgFDrQCTQivsVsEer\r\n616ZiqOiW/vKUHlpEXcAYORv50oojE/UqRnpjyCK/DCu9S+9tFNNdzgJfkkG\r\n6qU0/rYQW78WIUo9hUF4DkOVATrtoU6cE+4HXsKq7rame77M4I9df5N/ERrJ\r\nb8m1ReEWINbHSkNZRu3Q6As5XkiywN5b176CAE74DGAtVFD9PPD+hrZUs5sQ\r\nP9pWksg/tkDVZzn+nJ9OZ8xd2owURoGjt6umG4qvnmXgexPKgfHIX0zCE3uB\r\nBhI4g1IRXlJG9p7g+c7JZi4CWTZeZPLy13zg17ur2o/eGyFZE485hWL/NAGK\r\n2rYFCr5iMUF88BV0iTZD2K9T4oOi7+JXDmJgPRQ+IZR+4RvZ9Yy9qOLz4GTW\r\nUsTYPdKgeoJDwGYp/bjidO51NOXC1c7PiS9Ec9Mz1OHrGp8Agu0AEuGGr7xv\r\n5b6foIgmmq+sL5FWrQnDNtK9oWJWc8ZmVBf6M6wo7IHykIlr1lu91/5HOgNF\r\nIl90UmEb1Xf+ZIBYumiukOFfLQNCkK5FR5jEFD4typu0weYOpqtWCccIpUdI\r\nLhqACgWbGUW9IzE1i4aCpDNdUB61TO19KxKZEt52fsMCOZ36nayhpo4kEL99\r\nn8pCd9J1SXJXRAASFb/0S+aYfG9zUEHqEo0=\r\n=jAYX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","funding":{"url":"https://www.buymeacoffee.com/nklisch","type":"buyMeACoffee"},"gitHead":"5ddb91a7f6ab5e27238f0f60bc42b3a6c4aee8cf","scripts":{"lint":"eslint -c .eslintrc.js --ext .ts src","test":"jest --collectCoverage --config jestconfig.json","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","version":"npm run format && git add -A src","lint-fix":"eslint -c .eslintrc.js --ext .ts src --fix","preversion":"npm run lint","postversion":"git push && git push --tags","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"nklisch","email":"nklisch@gmail.com"},"repository":{"url":"git+https://github.com/nklisch/express-route-parser.git","type":"git"},"_npmVersion":"8.13.2","description":"An Express plugin that can list the path and route endpoints of an Express app.","directories":{},"_nodeVersion":"18.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.2","eslint":"^8.19.0","express":"^4.18.1","ts-jest":"^28.0.5","prettier":"^2.7.1","typescript":"^4.7.4","@types/jest":"^28.1.4","@types/express":"^4.17.13","eslint-plugin-jsdoc":"^39.3.3","eslint-plugin-react":"^7.30.1","eslint-config-prettier":"^8.5.0","tslint-config-prettier":"^1.18.0","@typescript-eslint/parser":"^5.30.6","eslint-plugin-prefer-arrow":"^1.2.3","@typescript-eslint/eslint-plugin":"^5.30.6"},"peerDependencies":{"express":"^4.x","@types/express":"^4.x"},"_npmOperationalInternal":{"tmp":"tmp/express-route-parser_1.0.5_1659332492397_0.7278502268914593","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"express-route-parser","version":"1.0.6","keywords":["express","documentation","generator","plugin","parser","metadata","reflection","list","path","routes","log"],"author":{"name":"Nathan Klisch"},"license":"ISC","_id":"express-route-parser@1.0.6","maintainers":[{"name":"nklisch","email":"nklisch@gmail.com"}],"homepage":"https://github.com/nklisch/express-route-parser#readme","bugs":{"url":"https://github.com/nklisch/express-route-parser/issues"},"dist":{"shasum":"b5a087e019fe0bbcdf17845ab1244908e3a4d32e","tarball":"https://registry.npmjs.org/express-route-parser/-/express-route-parser-1.0.6.tgz","fileCount":9,"integrity":"sha512-jY+6c/BNXxAer459N0WwS8Fl0bvINJM5pSIzUgaFSbpLpYi7oI54xdgWZxe2TVc2CDjvI3pae+nNA3ngKDnorw==","signatures":[{"sig":"MEYCIQDnpMIwdrLAKHggNmOrIbECprNkT/s7nkMyMuSBWg11hAIhANA+LYv52l+4g+KJUbMcSWp6zoY/OqwkHnNRleLjjKQM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/express-route-parser@1.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15894},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=18"},"funding":{"url":"https://www.buymeacoffee.com/nklisch","type":"buyMeACoffee"},"gitHead":"eedba4c40019cb8c7eb2f90502407d4d2d163c9d","scripts":{"lint":"eslint -c .eslintrc.js --ext .ts src","test":"jest --collectCoverage --config jestconfig.json","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","version":"npm run format && git add -A src","lint-fix":"eslint -c .eslintrc.js --ext .ts src --fix","preversion":"npm run lint","postversion":"git push --follow-tags","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7e653f90-b57f-4d81-946b-0ecef0752555"}},"repository":{"url":"git+https://github.com/nklisch/express-route-parser.git","type":"git"},"_npmVersion":"11.11.0","description":"An Express plugin that can list the path and route endpoints of an Express app.","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.2","eslint":"^8.19.0","express":"^4.18.1","ts-jest":"^28.0.5","prettier":"^2.7.1","typescript":"^4.7.4","@types/jest":"^28.1.4","@types/express":"^4.17.13","eslint-plugin-jsdoc":"^39.3.3","eslint-plugin-react":"^7.30.1","eslint-config-prettier":"^8.5.0","tslint-config-prettier":"^1.18.0","@typescript-eslint/parser":"^5.30.6","eslint-plugin-prefer-arrow":"^1.2.3","@typescript-eslint/eslint-plugin":"^5.30.6"},"peerDependencies":{"express":"^4.x","@types/express":"^4.x"},"_npmOperationalInternal":{"tmp":"tmp/express-route-parser_1.0.6_1777833746801_0.8083251408468184","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"express-route-parser","version":"1.1.0","keywords":["express","documentation","generator","plugin","parser","metadata","reflection","list","path","routes","log"],"author":{"name":"Nathan Klisch"},"license":"ISC","_id":"express-route-parser@1.1.0","maintainers":[{"name":"nklisch","email":"nklisch@gmail.com"}],"homepage":"https://github.com/nklisch/express-route-parser#readme","bugs":{"url":"https://github.com/nklisch/express-route-parser/issues"},"dist":{"shasum":"9a5c40e29667cf713aa49e7f93e5d636dbbe4af6","tarball":"https://registry.npmjs.org/express-route-parser/-/express-route-parser-1.1.0.tgz","fileCount":21,"integrity":"sha512-rwy2s0WpMA35kprGH8Pxu0ap/heUaTLQlKUNBkMkmrGTaHHMBZG2ZHDQZEbe15QSA6Bc/0m4MvgsqgHzdpijWw==","signatures":[{"sig":"MEUCIAt9mKX4+HIynw65kHnJNqAQuJkzBKrdK5/Z0ML690LPAiEAkLdeBDQx1crF4SyEApgl2WC4Knl4NAZuhotR2EAOg7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/express-route-parser@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33949},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=20"},"funding":{"url":"https://www.buymeacoffee.com/nklisch","type":"buyMeACoffee"},"gitHead":"08ffec76da372d47d9c1d300bb07bb7fc51d906e","scripts":{"lint":"eslint src","test":"vitest run --coverage","build":"tsc","clean":"rm -rf lib coverage","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","version":"npm run format && git add -A src","lint-fix":"eslint src --fix","prebuild":"rm -rf lib","preversion":"npm run lint","test:watch":"vitest","postversion":"git push --follow-tags","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7e653f90-b57f-4d81-946b-0ecef0752555"}},"repository":{"url":"git+https://github.com/nklisch/express-route-parser.git","type":"git"},"_npmVersion":"11.11.0","description":"An Express plugin that can list the path and route endpoints of an Express app.","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.3.0","vitest":"^4.1.5","express":"^4.18.1","prettier":"^3.8.3","typescript":"^6.0.3","@types/node":"^22.0.0","@types/express":"^4.17.13","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.5","eslint-plugin-jsdoc":"^62.9.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prefer-arrow-functions":"^3.9.1"},"peerDependencies":{"express":"^4.x","@types/express":"^4.x"},"_npmOperationalInternal":{"tmp":"tmp/express-route-parser_1.1.0_1777842849684_0.6136606561474156","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"express-route-parser","version":"2.0.0","description":"An Express plugin that can list the path and route endpoints of an Express app.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"test":"vitest run --coverage","test:watch":"vitest","clean":"rm -rf lib coverage","prebuild":"rm -rf lib","build":"tsc","format":"prettier --write \"src/**/*.ts\"","format:check":"prettier --check \"src/**/*.ts\"","lint":"eslint src","lint-fix":"eslint src --fix","prepare":"npm run build","prepublishOnly":"npm test && npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push --follow-tags"},"repository":{"type":"git","url":"git+https://github.com/nklisch/express-route-parser.git"},"funding":{"type":"buyMeACoffee","url":"https://www.buymeacoffee.com/nklisch"},"keywords":["express","documentation","generator","plugin","parser","metadata","reflection","list","path","routes","log"],"author":{"name":"Nathan Klisch"},"license":"ISC","bugs":{"url":"https://github.com/nklisch/express-route-parser/issues"},"homepage":"https://github.com/nklisch/express-route-parser#readme","devDependencies":{"@types/express":"^4.17.13","@types/express-v5":"npm:@types/express@^5.0.0","@types/node":"^22.0.0","@vitest/coverage-v8":"^4.1.5","eslint":"^10.3.0","eslint-config-prettier":"^10.1.8","eslint-plugin-jsdoc":"^62.9.0","eslint-plugin-prefer-arrow-functions":"^3.9.1","express":"^4.18.1","express-v5":"npm:express@^5.2.0","path-to-regexp":"^8.0.0","prettier":"^3.8.3","typescript":"^6.0.3","typescript-eslint":"^8.59.1","vitest":"^4.1.5"},"peerDependencies":{"@types/express":"^4.x || ^5.x","express":"^4.x || ^5.x"},"engines":{"node":">=20"},"gitHead":"89b932854fad6ac0fdee1e9a2110ae5bee708d76","_id":"express-route-parser@2.0.0","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-2YD6e0aFtWqqT3oT8Zs9ozRoltnLoSUnYYoT83ktKzPuaVZW09juuODV9DQLk2RCW+6QnXMBEeFpsSYze+kQSg==","shasum":"c9de3f9d6bc3f1ed18444d14f99cc010f66cc09e","tarball":"https://registry.npmjs.org/express-route-parser/-/express-route-parser-2.0.0.tgz","fileCount":29,"unpackedSize":53819,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/express-route-parser@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCo0KMfPIjl/Mes5/3kZeoCVD2xn4W7X9L+raIYz+bSRAIhALdU02l7OuwxfGmrbEJz64bdKWGZpiI69i+WBTSfkacl"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7e653f90-b57f-4d81-946b-0ecef0752555"}},"directories":{},"maintainers":[{"name":"nklisch","email":"nklisch@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-route-parser_2.0.0_1777870798569_0.16872875216134742"},"_hasShrinkwrap":false}},"time":{"created":"2022-07-29T08:34:45.999Z","modified":"2026-05-04T04:59:58.971Z","1.0.0":"2022-07-29T08:34:46.516Z","1.0.1":"2022-07-29T08:46:15.269Z","1.0.2":"2022-07-29T20:46:23.362Z","1.0.3":"2022-07-29T23:54:55.513Z","1.0.4":"2022-07-30T00:23:27.765Z","1.0.5":"2022-08-01T05:41:32.543Z","1.0.6":"2026-05-03T18:42:26.949Z","1.1.0":"2026-05-03T21:14:09.869Z","2.0.0":"2026-05-04T04:59:58.708Z"},"bugs":{"url":"https://github.com/nklisch/express-route-parser/issues"},"author":{"name":"Nathan Klisch"},"license":"ISC","homepage":"https://github.com/nklisch/express-route-parser#readme","keywords":["express","documentation","generator","plugin","parser","metadata","reflection","list","path","routes","log"],"repository":{"type":"git","url":"git+https://github.com/nklisch/express-route-parser.git"},"description":"An Express plugin that can list the path and route endpoints of an Express app.","maintainers":[{"name":"nklisch","email":"nklisch@gmail.com"}],"readme":"# express-route-parser\nThis package parses an express project, generating a list of all routes, converted to the syntax used in a express route.\n\n## Features\nCan Parse:\n- Nested Routers and Complex Express Projects\n- Optional parameters e.g. `/:name?`\n- Complex Matching routes e.g. `/ma*tch`, `/ex(ab)?mple`\n- Regex routes e.g. `/\\/abc|\\/xyz/`\n- Array of paths e.g. `app.get(['/abc', '/xyz']) -> /abc,xyz/`\n\nOutputs list of relevant data with the option to attach arbitrary meta-data to a route:\n ```javascript\n    // Example output for a single route\n    [{\n            path: '/dashboard/:entity/:resourceId',\n            pathParams: [\n                { name: 'entity', in: 'path', required: true },\n                { name: 'resourceId', in: 'path', required: true },\n            ],\n            method: 'get',\n            // metadata can be anything the designer chooses\n            metadata: { \n                operationId: 'getResourceByEntity', \n                hidden: true, \n                schema: {/* some schema */} \n                },\n        }]\n ```\n## Installation\n```\nnpm i express-route-parser\n```\n\n## Usage\n```javascript\nimport { parseExpressApp } from 'express-route-parser';\nimport express, { RequestHandler, Request, Response, NextFunction } from 'express';\n const app = express();\n    const router = express.Router();\n    const subrouter = express.Router();\n\n    // **Optional middleware construct**\n    // Wrapper function to allow us to attach meta-data to a route in a re-usable way\n    const middleware = (metadata: any): RequestHandler => {\n        const m: any = (req: Request, res: Response, next: NextFunction) => {\n            next(); // This can be anything - validation, something else. You can hook into your existing middlewares if you want\n        };\n        m.metadata = metadata;\n        return m;\n    };\n\n    // place holder express response handler\n    const successResponse: RequestHandler = (req: Request, res: Response) => {\n        res.status(204).send();\n    };\n\n    app.get(\n        '/resources/users/:id',\n        middleware({ operationId: 'getUserById', notes: 'These are some notes' }),\n        successResponse,\n    );\n\n    // The middleware MUST be placed on a final route layer (app.get, router.post, app.patch, router.route, ect...)\n    subrouter.get(\n        '/:resourceId',\n        middleware({\n            operationId: 'getResourceByEntity',\n            hidden: true,\n            schema: {\n                /* some schema data */\n            },\n        }),\n        successResponse,\n    );\n    // This parser can handle nested, complex router projects\n    router.use('/:entity', subrouter);\n    app.use('/dashboard', router);\n    \n    // You must parse your express app after you have added any and all routes in your app\n    const parsed = parseExpressApp(app);\n    console.log(parsed);\n```\n\n**Output**\n```javascript\nparsedApp = \n    [\n        {\n            path: '/resources/users/:id',\n            pathParams: [{ name: 'id', in: 'path', required: true }],\n            method: 'get',\n            metadata: { operationId: 'getUserById', notes: 'These are some notes' },\n        },\n        {\n            path: '/dashboard/:entity/:resourceId',\n            pathParams: [\n                { name: 'entity', in: 'path', required: true },\n                { name: 'resourceId', in: 'path', required: true },\n            ],\n            method: 'get',\n            metadata: { operationId: 'getResourceByEntity', hidden: true, schema: {} },\n        },\n    ]\n```\n\n## Rendering routes\n\nParsed routes can be rendered to HTML, Markdown, or pretty-printed JSON\nwithout any additional dependencies:\n\n```typescript\nimport {\n  parseExpressApp,\n  renderRoutesAsHtml,\n  renderRoutesAsMarkdown,\n  renderRoutesAsJson,\n} from 'express-route-parser';\n\nconst routes = parseExpressApp(app);\n\nconst html = renderRoutesAsHtml(routes, { title: 'My API' });\nconst md = renderRoutesAsMarkdown(routes);\nconst json = renderRoutesAsJson(routes);\n```\n\nEach renderer accepts a `RouteMetaData[]` (single-metadata mode) or\n`RouteMetaDataMulti[]` (multi-metadata mode — see below).\n\n## Multiple metadata middlewares per route\n\nBy default, the parser throws if a route has more than one metadata-bearing\nmiddleware. To allow multiple, pass `multipleMetadata: true`:\n\n```typescript\nconst routes = parseExpressApp(app, { multipleMetadata: true });\n// → metadata is now `any[]` (possibly empty) on each route\n```\n\nThe `withMetadata()` helper provides a typed alternative to the\ninline `const m: any = ...` pattern shown earlier:\n\n```typescript\nimport { withMetadata } from 'express-route-parser';\n\napp.get(\n  '/users/:id',\n  withMetadata({ operationId: 'getUser', tags: ['users'] }),\n  realHandler,\n);\n```\n\n## Express 5 support\n\n`express-route-parser` works with Express 4 (since v1.0) and Express 5 (since v2.0). The same `parseExpressApp(app)` call works with either; the parser detects the version automatically.\n\nFor Express 5, **import this package before constructing any routers**:\n\n```typescript\n// Top of your app entry point\nimport { parseExpressApp } from 'express-route-parser';\nimport express from 'express';                  // ← after our import\n\nconst app = express();\nconst router = express.Router();\nrouter.get('/users/:id', handler);\napp.use('/api', router);\n\nconst routes = parseExpressApp(app);\n```\n\nWhy: Express 5 stores mount paths only as compiled matcher closures; the original path string is unrecoverable after `Router.use(...)` returns. We patch `Router.prototype.use` and `.route` (auto-installed when this package is imported) to capture mount paths at registration time. The patch must be in place before any router is constructed.\n\nIf your build sometimes constructs routers in modules imported before `express-route-parser`, set `EXPRESS_ROUTE_PARSER_NO_AUTO_INSTRUMENT=1` and call `instrumentExpress5Router()` manually at the right time:\n\n```typescript\n// EXPRESS_ROUTE_PARSER_NO_AUTO_INSTRUMENT=1 must be set in the environment\nimport { instrumentExpress5Router, parseExpressApp } from 'express-route-parser';\n\ninstrumentExpress5Router();              // BEFORE any router is constructed\nimport express from 'express';           // routers built after this point are captured\n```\n\n`instrumentExpress5Router()` is idempotent — calling it multiple times is safe and returns `true` after the first successful patch.\n\n### Express 5 path-syntax notes\n\nExpress 5 uses `path-to-regexp@8`, which has different syntax than Express 4:\n\n| Express 4 | Express 5 |\n|---|---|\n| `/users/:id` | `/users/:id` (unchanged) |\n| `/users/:id?` | `/users{/:id}` |\n| `/files/*` | `/files/*splat` (named wildcard) |\n\nMigration is the consumer's job — Express 5 throws at registration time on the old syntax.\n\n### Extra parameter info on Express 5\n\nFor routes parsed from an Express 5 app, each `Parameter` has a `type` field:\n\n```typescript\ninterface Parameter {\n  name: string;\n  in: 'path';\n  required: boolean;\n  type?: 'param' | 'wildcard';   // present on v5 routes\n}\n```\n\nExpress 4 routes don't populate `type` (the field is absent).\n\n","readmeFilename":"README.md"}