{"_id":"node-file-router","_rev":"19-5a042d79b74401cf59bb4fa895bf2947","name":"node-file-router","dist-tags":{"latest":"0.9.0"},"versions":{"0.1.1":{"name":"node-file-router","version":"0.1.1","keywords":["router","file router","routing","express"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","_id":"node-file-router@0.1.1","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"homepage":"https://danilqa.github.io/node-file-router","bugs":{"url":"https://github.com/kentcdodds/starwars-names/issues"},"dist":{"shasum":"ea94307d045a4cf3a15decac4290ccda1e65cfb2","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.1.1.tgz","fileCount":137,"integrity":"sha512-3jbcjXGitmJM/RmbaLEMrOTL5Cc36jhXL9Y3WNf4B4BhJr9HkzliRaOJNTVESWXXS0LnEke3sOaQOAOADTNlAg==","signatures":[{"sig":"MEYCIQDOHJGEOnCSS4NRdw2w9OAKPOfr1LN7q0+aZbjpoxZsdQIhAJfABwLyu88dbAU2iU/CxnNHL/fxkZuAjcvMKUwv4iDZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387240},"main":"../cjs/file-router.js","_from":"file:node-file-router-0.1.1.tgz","types":"./types/file-router.d.ts","module":"./esm/file-router.mjs","engines":{"node":">=14.8.0"},"exports":{"import":"./esm/file-router.mjs","require":"./cjs/file-router.js"},"scripts":{"lint":"eslint .","test":"vitest run","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","dev:link":"pnpm link ./dist","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","dev:sandbox":"ts-node examples/sandbox/server.ts","test:coverage":"vitest run --coverage","dev:sandbox:inspect":"node --loader ts-node --inspect examples/sandbox/server.ts"},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"_resolved":"/private/var/folders/5z/5hzch97n0m1fkn0665mrpbm40000gn/T/c52696386bdd34e6d5bf0a3e89e594e9/node-file-router-0.1.1.tgz","_integrity":"sha512-3jbcjXGitmJM/RmbaLEMrOTL5Cc36jhXL9Y3WNf4B4BhJr9HkzliRaOJNTVESWXXS0LnEke3sOaQOAOADTNlAg==","repository":{"url":"https://github.com/Danilqa/node-file-router/issues","type":"git"},"_npmVersion":"9.5.1","description":"A file-based routing for Node.js","directories":{},"_nodeVersion":"18.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"8.46.0","vitest":"0.31.0","ts-node":"10.9.1","prettier":"3.0.0","cross-env":"7.0.3","@babel/cli":"7.21.5","typescript":"5.0.4","@babel/core":"7.21.8","@types/node":"20.1.4","@babel/preset-env":"7.21.5","@vitest/coverage-c8":"0.31.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.0.0","@babel/preset-typescript":"7.21.5","@typescript-eslint/parser":"^6.2.0","eslint-config-airbnb-base":"15.0.0","@babel/plugin-transform-runtime":"7.21.4","@typescript-eslint/eslint-plugin":"^6.2.0","babel-plugin-add-import-extension":"1.6.0","@babel/plugin-transform-modules-commonjs":"7.21.5"},"_npmOperationalInternal":{"tmp":"tmp/node-file-router_0.1.1_1691753430075_0.5870667308322486","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"node-file-router","version":"0.1.2","keywords":["router","file router","routing","express"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","_id":"node-file-router@0.1.2","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"homepage":"https://danilqa.github.io/node-file-router","bugs":{"url":"https://github.com/kentcdodds/starwars-names/issues"},"dist":{"shasum":"1b6baee736264e9f1e4e58c1d662503e7a0151e0","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.1.2.tgz","fileCount":133,"integrity":"sha512-E3Oqc8hypP0yT5yHpl/li5SyOaSRYKouVja4psqUSDQ8y82QqnF6ouXoK1t8fZSu4InLfHXSBdstacFaVoUe8g==","signatures":[{"sig":"MEQCIF9m60QxI3dXkv6GqyyiLcM9QvPMuG1YHHJrYg7t/9rQAiAoFDYJnPJl5qsWqyPRYmZEH2t+bhZ4emGCX+bmXBEirQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":220833},"main":"../cjs/file-router.js","_from":"file:node-file-router-0.1.2.tgz","types":"./types/file-router.d.ts","module":"./esm/file-router.mjs","engines":{"node":">=14.8.0"},"exports":{"import":"./esm/file-router.mjs","require":"./cjs/file-router.js"},"scripts":{"lint":"eslint .","test":"vitest run","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","dev:link":"pnpm link ./dist","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","dev:sandbox":"ts-node examples/sandbox/server.ts","test:coverage":"vitest run --coverage","dev:sandbox:inspect":"node --loader ts-node --inspect examples/sandbox/server.ts"},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"_resolved":"/private/var/folders/5z/5hzch97n0m1fkn0665mrpbm40000gn/T/ffd3add491da181c71599a51626dfd07/node-file-router-0.1.2.tgz","_integrity":"sha512-E3Oqc8hypP0yT5yHpl/li5SyOaSRYKouVja4psqUSDQ8y82QqnF6ouXoK1t8fZSu4InLfHXSBdstacFaVoUe8g==","repository":{"url":"https://github.com/Danilqa/node-file-router/issues","type":"git"},"_npmVersion":"9.5.1","description":"A file-based routing for Node.js","directories":{},"_nodeVersion":"18.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"8.46.0","vitest":"0.31.0","ts-node":"10.9.1","prettier":"3.0.0","cross-env":"7.0.3","@babel/cli":"7.21.5","typescript":"5.0.4","@babel/core":"7.21.8","@types/node":"20.1.4","@babel/preset-env":"7.21.5","@vitest/coverage-c8":"0.31.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.0.0","@babel/preset-typescript":"7.21.5","@typescript-eslint/parser":"^6.2.0","eslint-config-airbnb-base":"15.0.0","@babel/plugin-transform-runtime":"7.21.4","@typescript-eslint/eslint-plugin":"^6.2.0","babel-plugin-add-import-extension":"1.6.0","@babel/plugin-transform-modules-commonjs":"7.21.5"},"_npmOperationalInternal":{"tmp":"tmp/node-file-router_0.1.2_1691753879441_0.19847686408459642","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"node-file-router","version":"0.1.3","keywords":["router","file router","routing","express"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","_id":"node-file-router@0.1.3","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"homepage":"https://danilqa.github.io/node-file-router","bugs":{"url":"https://github.com/kentcdodds/starwars-names/issues"},"dist":{"shasum":"9f28ce6f826df310495cacbbcf23415f4ed8bef0","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.1.3.tgz","fileCount":135,"integrity":"sha512-SDorA7uwOTa8RPMKWsb2tsXMDYibfvAbpeocwi84f73au4ceihi0J0/nkoxVEwXB8kzcbchOrJUxeIs/SUB2PA==","signatures":[{"sig":"MEYCIQDrZt84EwyxhFFhJeOtKQ3vBifCkFB8NlWaL3Ly6eDXfQIhAJxa3eSXTMVlwHX3Nn/L3IBiaq1HSZ0cFo5owYvFiUID","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":223391},"main":"../cjs/file-router.js","_from":"file:node-file-router-0.1.3.tgz","types":"./types/file-router.d.ts","module":"./esm/file-router.mjs","engines":{"node":">=14.8.0"},"exports":{"import":"./esm/file-router.mjs","require":"./cjs/file-router.js"},"scripts":{"lint":"eslint .","test":"vitest run","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","dev:link":"pnpm link ./dist","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","dev:sandbox":"ts-node examples/sandbox/server.ts","test:coverage":"vitest run --coverage","dev:sandbox:inspect":"node --loader ts-node --inspect examples/sandbox/server.ts"},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"_resolved":"/private/var/folders/5z/5hzch97n0m1fkn0665mrpbm40000gn/T/d850472a60a5d4510db1f6f7ae91aba5/node-file-router-0.1.3.tgz","_integrity":"sha512-SDorA7uwOTa8RPMKWsb2tsXMDYibfvAbpeocwi84f73au4ceihi0J0/nkoxVEwXB8kzcbchOrJUxeIs/SUB2PA==","repository":{"url":"https://github.com/Danilqa/node-file-router/issues","type":"git"},"_npmVersion":"9.5.1","description":"A file-based routing for Node.js","directories":{},"_nodeVersion":"18.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"8.46.0","vitest":"0.31.0","ts-node":"10.9.1","prettier":"3.0.0","cross-env":"7.0.3","@babel/cli":"7.21.5","typescript":"5.0.4","@babel/core":"7.21.8","@types/node":"20.1.4","@babel/preset-env":"7.21.5","@vitest/coverage-c8":"0.31.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.0.0","@babel/preset-typescript":"7.21.5","@typescript-eslint/parser":"^6.2.0","eslint-config-airbnb-base":"15.0.0","@babel/plugin-transform-runtime":"7.21.4","@typescript-eslint/eslint-plugin":"^6.2.0","babel-plugin-add-import-extension":"1.6.0","@babel/plugin-transform-modules-commonjs":"7.21.5"},"_npmOperationalInternal":{"tmp":"tmp/node-file-router_0.1.3_1691758480269_0.2501276135095487","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"node-file-router","version":"0.1.4","keywords":["nodejs","router","file router","routing","express"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","_id":"node-file-router@0.1.4","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"homepage":"https://danilqa.github.io/node-file-router","bugs":{"url":"https://github.com/kentcdodds/starwars-names/issues"},"dist":{"shasum":"423c04f32eb7d61187a18b3658f534535923264a","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.1.4.tgz","fileCount":135,"integrity":"sha512-Imui+O8kjmsEPHM4mD+26+nIAgp35C8tMgALO2ojrvRCrH9WEEUsr73LsKRJ8kxIVEvnj3Ih8BnIRn6k2VuvZg==","signatures":[{"sig":"MEQCIE36BKAV4kypezZ33o45yOkGp+n58A1/6PVH4XqeHkHOAiApN67MkbEcUaar4lPeE4MxZVM+2FqiJgaKAgYfVUZbJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":255129},"main":"../cjs/file-router.js","_from":"file:node-file-router-0.1.4.tgz","types":"./types/file-router.d.ts","module":"./esm/file-router.mjs","engines":{"node":">=14.8.0"},"exports":{"import":"./esm/file-router.mjs","require":"./cjs/file-router.js"},"scripts":{"lint":"eslint .","test":"vitest run","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","dev:link":"pnpm link ./dist","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","dev:sandbox":"ts-node examples/sandbox/server.ts","test:coverage":"vitest run --coverage","dev:sandbox:inspect":"node --loader ts-node --inspect examples/sandbox/server.ts"},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"_resolved":"/private/var/folders/5z/5hzch97n0m1fkn0665mrpbm40000gn/T/e03b063cd7b4e7621d1e2592510a9bce/node-file-router-0.1.4.tgz","_integrity":"sha512-Imui+O8kjmsEPHM4mD+26+nIAgp35C8tMgALO2ojrvRCrH9WEEUsr73LsKRJ8kxIVEvnj3Ih8BnIRn6k2VuvZg==","repository":{"url":"https://github.com/Danilqa/node-file-router/issues","type":"git"},"_npmVersion":"9.5.1","description":"A file-based routing for Node.js","directories":{},"_nodeVersion":"18.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"8.46.0","vitest":"0.31.0","ts-node":"10.9.1","prettier":"3.0.0","cross-env":"7.0.3","@babel/cli":"7.21.5","typescript":"5.0.4","@babel/core":"7.21.8","@types/node":"20.1.4","@babel/preset-env":"7.21.5","@vitest/coverage-c8":"0.31.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.0.0","@babel/preset-typescript":"7.21.5","@typescript-eslint/parser":"^6.2.0","eslint-config-airbnb-base":"15.0.0","@babel/plugin-transform-runtime":"7.21.4","@typescript-eslint/eslint-plugin":"^6.2.0","babel-plugin-add-import-extension":"1.6.0","@babel/plugin-transform-modules-commonjs":"7.21.5"},"_npmOperationalInternal":{"tmp":"tmp/node-file-router_0.1.4_1691916513285_0.1858568368024729","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"node-file-router","version":"0.1.5","keywords":["nodejs","router","file router","routing","express"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","_id":"node-file-router@0.1.5","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"homepage":"https://danilqa.github.io/node-file-router","bugs":{"url":"https://github.com/Danilqa/node-file-router/issues"},"dist":{"shasum":"b027f68c9200200487653e1e8d12e9a2a7b01b54","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.1.5.tgz","fileCount":135,"integrity":"sha512-qin8yxdLJk2Hfc3DUC6cRANowklfTT7wQH/LgSZoJx6gWxwicZX8koz6NsIshbOOHOk2okF0D+pte2q7/XvHvA==","signatures":[{"sig":"MEQCID1g6XBQYVUR+iMUdIOpDTLHu9p5A4TkooOmSTnq7A9kAiB4d7bQ5W5AGq0KRGByZmpe9638icMRYY7DrnINhLW/vQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":255667},"main":"../cjs/file-router.js","_from":"file:node-file-router-0.1.5.tgz","types":"./types/file-router.d.ts","module":"./esm/file-router.mjs","engines":{"node":">=14.8.0"},"exports":{"import":"./esm/file-router.mjs","require":"./cjs/file-router.js"},"scripts":{"lint":"eslint src","test":"vitest run","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","dev:link":"pnpm link ./dist","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","dev:sandbox":"ts-node examples/sandbox/server.ts","test:coverage":"vitest run --coverage","dev:sandbox:inspect":"node --loader ts-node --inspect examples/sandbox/server.ts"},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"_resolved":"/private/var/folders/5z/5hzch97n0m1fkn0665mrpbm40000gn/T/2ce3dea8beaf6fe9f01b247a266d0f68/node-file-router-0.1.5.tgz","_integrity":"sha512-qin8yxdLJk2Hfc3DUC6cRANowklfTT7wQH/LgSZoJx6gWxwicZX8koz6NsIshbOOHOk2okF0D+pte2q7/XvHvA==","repository":{"url":"git+https://github.com/Danilqa/node-file-router.git","type":"git"},"_npmVersion":"9.5.1","description":"A file-based routing for Node.js","directories":{},"_nodeVersion":"18.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"8.46.0","vitest":"0.31.0","ts-node":"10.9.1","prettier":"3.0.0","cross-env":"7.0.3","@babel/cli":"7.21.5","typescript":"5.0.4","@babel/core":"7.21.8","@types/node":"20.1.4","@babel/preset-env":"7.21.5","@vitest/coverage-c8":"0.31.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.0.0","@babel/preset-typescript":"7.21.5","@typescript-eslint/parser":"^6.2.0","eslint-config-airbnb-base":"15.0.0","@babel/plugin-transform-runtime":"7.21.4","@typescript-eslint/eslint-plugin":"^6.2.0","babel-plugin-add-import-extension":"1.6.0","@babel/plugin-transform-modules-commonjs":"7.21.5"},"_npmOperationalInternal":{"tmp":"tmp/node-file-router_0.1.5_1693208212606_0.8923281745763361","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"node-file-router","version":"0.2.0","keywords":["nodejs","express","bun","router","file router","routing"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","_id":"node-file-router@0.2.0","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"homepage":"https://danilqa.github.io/node-file-router","bugs":{"url":"https://github.com/Danilqa/node-file-router/issues"},"dist":{"shasum":"48bd64a323927410cc048c8bf892fa70ef3a3859","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.2.0.tgz","fileCount":135,"integrity":"sha512-kmgRk4a+MaH28c4xQDiXNdIjkxQMScGxYF/khTNyqY9YyNcM046GyErmkWaA4MLHKacR7a7rWSiNxi+vm3XbMA==","signatures":[{"sig":"MEQCIGM1rHRFAT21LgFHj07GYS/tp5wRhl2tFM72a9vACa4jAiBQbE7NUPZP6/Bj2xTuVSb9Lia2JqnoQIZEY3mhc2csTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":255555},"main":"../cjs/file-router.js","_from":"file:node-file-router-0.2.0.tgz","types":"./types/file-router.d.ts","module":"./esm/file-router.mjs","engines":{"node":">=14.8.0"},"exports":{"import":"./esm/file-router.mjs","require":"./cjs/file-router.js"},"scripts":{"lint":"eslint src","test":"vitest run","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","dev:link":"pnpm link ./dist","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","dev:sandbox":"ts-node examples/sandbox/server.ts","test:coverage":"vitest run --coverage","dev:sandbox:inspect":"node --loader ts-node --inspect examples/sandbox/server.ts"},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"_resolved":"/private/var/folders/pf/5lqs32hj76s3ctc3zq7plxgm0000gn/T/1d67447c908762475de53559a7467009/node-file-router-0.2.0.tgz","_integrity":"sha512-kmgRk4a+MaH28c4xQDiXNdIjkxQMScGxYF/khTNyqY9YyNcM046GyErmkWaA4MLHKacR7a7rWSiNxi+vm3XbMA==","repository":{"url":"git+https://github.com/Danilqa/node-file-router.git","type":"git"},"_npmVersion":"9.6.7","description":"A powerful file-based routing for Node.js","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"8.46.0","vitest":"0.31.0","ts-node":"10.9.1","prettier":"3.0.0","cross-env":"7.0.3","@babel/cli":"7.21.5","typescript":"5.0.4","@babel/core":"7.21.8","@types/node":"20.1.4","@babel/preset-env":"7.21.5","@vitest/coverage-c8":"0.31.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.0.0","@babel/preset-typescript":"7.21.5","@typescript-eslint/parser":"^6.2.0","eslint-config-airbnb-base":"15.0.0","@babel/plugin-transform-runtime":"7.21.4","@typescript-eslint/eslint-plugin":"^6.2.0","babel-plugin-add-import-extension":"1.6.0","@babel/plugin-transform-modules-commonjs":"7.21.5"},"_npmOperationalInternal":{"tmp":"tmp/node-file-router_0.2.0_1694277555644_0.8819534864555938","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"node-file-router","version":"0.3.0","keywords":["nodejs","express","bun","router","file router","routing"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","_id":"node-file-router@0.3.0","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"homepage":"https://danilqa.github.io/node-file-router","bugs":{"url":"https://github.com/Danilqa/node-file-router/issues"},"dist":{"shasum":"13135db5a8b9fc02e233780bcf0044ad7e0f74fa","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.3.0.tgz","fileCount":135,"integrity":"sha512-zzB3Jjp4dy4IQ7iAbs5ciBYTDOPdvsXoibupxeN2OdNag/2Y6Ua8dtJaQslFwJ1PZFXR/6uPMcuUf6sllYzd3Q==","signatures":[{"sig":"MEUCIQCkGbOOgSaFtCz84itsjGigY5P3RJZgpxFwvvEIx84gegIgOIlIdOFo23V/pLLv1ZszNfQOQsdxOUbj9O5Li6mbiOg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":263275},"main":"../cjs/file-router.js","_from":"file:node-file-router-0.3.0.tgz","types":"./types/file-router.d.ts","module":"./esm/file-router.mjs","engines":{"node":">=14.8.0"},"exports":{"import":"./esm/file-router.mjs","require":"./cjs/file-router.js"},"scripts":{"lint":"eslint src","test":"vitest run","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","dev:link":"pnpm link ./dist","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","dev:sandbox":"tsnd examples/sandbox/server.ts","test:coverage":"vitest run --coverage","dev:sandbox:inspect":"tsnd --inspect -- examples/sandbox/server.ts"},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"_resolved":"/private/var/folders/pf/5lqs32hj76s3ctc3zq7plxgm0000gn/T/b1b7e02bcde1c0c576c9df6b0a352d2f/node-file-router-0.3.0.tgz","_integrity":"sha512-zzB3Jjp4dy4IQ7iAbs5ciBYTDOPdvsXoibupxeN2OdNag/2Y6Ua8dtJaQslFwJ1PZFXR/6uPMcuUf6sllYzd3Q==","repository":{"url":"git+https://github.com/Danilqa/node-file-router.git","type":"git"},"_npmVersion":"9.6.7","description":"A powerful file-based routing for Node.js","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"8.46.0","vitest":"0.31.0","prettier":"3.0.0","cross-env":"7.0.3","@babel/cli":"7.21.5","typescript":"5.0.4","@babel/core":"7.21.8","@types/node":"20.1.4","ts-node-dev":"2.0.0","@babel/preset-env":"7.21.5","@vitest/coverage-c8":"0.31.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.0.0","@babel/preset-typescript":"7.21.5","@typescript-eslint/parser":"6.2.0","eslint-config-airbnb-base":"15.0.0","@babel/plugin-transform-runtime":"7.21.4","@typescript-eslint/eslint-plugin":"6.2.0","babel-plugin-add-import-extension":"1.6.0","@babel/plugin-transform-modules-commonjs":"7.21.5"},"_npmOperationalInternal":{"tmp":"tmp/node-file-router_0.3.0_1696334199599_0.9170565113457125","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"node-file-router","version":"0.3.1","keywords":["nodejs","express","bun","router","file router","routing"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","_id":"node-file-router@0.3.1","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"homepage":"https://danilqa.github.io/node-file-router","bugs":{"url":"https://github.com/Danilqa/node-file-router/issues"},"dist":{"shasum":"9408202319841427284444ece8c343916d2dfb4c","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.3.1.tgz","fileCount":135,"integrity":"sha512-6NFJrIWaiJ/Ip3wCRO/i/GIbAuxUtxXzFM85XX5v5ALuuKzOp3qAKyaUhTvAecAw32G5h7uhwgBscWmCFsegrw==","signatures":[{"sig":"MEYCIQD66WOai847iD0HRs51AdXalPmTikQZeoItKUbY9UqYFwIhANI4oe0HDEPOC5anGTpdpNZP0U0bg9XE9zMuw0QzHn3O","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":263517},"main":"../cjs/file-router.js","_from":"file:node-file-router-0.3.1.tgz","types":"./types/file-router.d.ts","module":"./esm/file-router.mjs","engines":{"node":">=14.8.0"},"exports":{"import":"./esm/file-router.mjs","require":"./cjs/file-router.js"},"scripts":{"lint":"eslint src","test":"vitest run","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","dev:link":"pnpm link ./dist","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","dev:sandbox":"tsnd examples/sandbox/server.ts","test:coverage":"vitest run --coverage","dev:sandbox:inspect":"tsnd --inspect -- examples/sandbox/server.ts"},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"_resolved":"/private/var/folders/pf/5lqs32hj76s3ctc3zq7plxgm0000gn/T/b9c9aac4ff3efa4c7bb24a134427fb1d/node-file-router-0.3.1.tgz","_integrity":"sha512-6NFJrIWaiJ/Ip3wCRO/i/GIbAuxUtxXzFM85XX5v5ALuuKzOp3qAKyaUhTvAecAw32G5h7uhwgBscWmCFsegrw==","repository":{"url":"git+https://github.com/Danilqa/node-file-router.git","type":"git"},"_npmVersion":"9.6.7","description":"A powerful file-based routing for Node.js","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"husky":"8.0.3","eslint":"8.46.0","vitest":"0.31.0","prettier":"3.0.0","cross-env":"7.0.3","@babel/cli":"7.21.5","typescript":"5.0.4","@babel/core":"7.21.8","@types/node":"20.1.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@babel/preset-env":"7.21.5","@vitest/coverage-c8":"0.31.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.0.0","@babel/preset-typescript":"7.21.5","@typescript-eslint/parser":"6.2.0","eslint-config-airbnb-base":"15.0.0","@babel/plugin-transform-runtime":"7.21.4","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"6.2.0","babel-plugin-add-import-extension":"1.6.0","@babel/plugin-transform-modules-commonjs":"7.21.5"},"_npmOperationalInternal":{"tmp":"tmp/node-file-router_0.3.1_1697016568485_0.3013028725645195","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"node-file-router","version":"0.4.0","keywords":["nodejs","express","bun","router","file router","routing"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","_id":"node-file-router@0.4.0","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"homepage":"https://danilqa.github.io/node-file-router","bugs":{"url":"https://github.com/Danilqa/node-file-router/issues"},"dist":{"shasum":"aa5f8fd9305a241a0bf50e45d4abe2c74cb9d494","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.4.0.tgz","fileCount":141,"integrity":"sha512-hqBbVL74okSYPiVzYAr6H+hIQqZfuRaJra3+hw+NQMVWlniN85XH4XWAOsTtoeOeZUSz6uq9BdeskWsdYIPz4g==","signatures":[{"sig":"MEUCIQD3Z9P8dbkr7amSyJyYs8orRdhmDIp7ZeSR4ODmIMDLkwIgKhGjgv6af3fA73UTTYYjBZ9INj1IKTnRAAdugG4Pr3w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":268998},"main":"../cjs/file-router.js","_from":"file:node-file-router-0.4.0.tgz","types":"./types/file-router.d.ts","module":"./esm/file-router.mjs","engines":{"node":">=14.8.0"},"exports":{"import":"./esm/file-router.mjs","require":"./cjs/file-router.js"},"scripts":{"lint":"eslint src","test":"vitest run","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","dev:link":"pnpm link ./dist","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","dev:sandbox":"tsnd examples/sandbox/server.ts","test:coverage":"vitest run --coverage","dev:sandbox:inspect":"tsnd --inspect -- examples/sandbox/server.ts"},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"_resolved":"/private/var/folders/pf/5lqs32hj76s3ctc3zq7plxgm0000gn/T/c388dcff370c002916f693de3066ecb5/node-file-router-0.4.0.tgz","_integrity":"sha512-hqBbVL74okSYPiVzYAr6H+hIQqZfuRaJra3+hw+NQMVWlniN85XH4XWAOsTtoeOeZUSz6uq9BdeskWsdYIPz4g==","repository":{"url":"git+https://github.com/Danilqa/node-file-router.git","type":"git"},"_npmVersion":"9.6.7","description":"A powerful file-based routing for Node.js","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"husky":"8.0.3","eslint":"8.46.0","vitest":"0.31.0","prettier":"3.0.0","cross-env":"7.0.3","@babel/cli":"7.21.5","typescript":"5.0.4","@babel/core":"7.21.8","@types/node":"20.1.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@babel/preset-env":"7.21.5","@vitest/coverage-c8":"0.31.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.0.0","@babel/preset-typescript":"7.21.5","@typescript-eslint/parser":"6.2.0","eslint-config-airbnb-base":"15.0.0","@babel/plugin-transform-runtime":"7.21.4","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"6.2.0","babel-plugin-add-import-extension":"1.6.0","@babel/plugin-transform-modules-commonjs":"7.21.5"},"_npmOperationalInternal":{"tmp":"tmp/node-file-router_0.4.0_1699688714147_0.911425544080815","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"node-file-router","version":"0.5.0","keywords":["nodejs","express","bun","router","file router","routing","middleware"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","_id":"node-file-router@0.5.0","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"homepage":"https://danilqa.github.io/node-file-router","bugs":{"url":"https://github.com/Danilqa/node-file-router/issues"},"dist":{"shasum":"e3b1a6c55a1928f5f3282920832404baa8db5908","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.5.0.tgz","fileCount":165,"integrity":"sha512-1pVQmcbOdYUqbpu9RV5QMakOkt347bl+20XZcEtniWryxZHauFfoSg8tsWrLkVK3JlALk10Fp5opacSiBsD6Pg==","signatures":[{"sig":"MEQCIAcOI3XmohFOjgnTJVpvNclk+LLnbqCBtuIp87f7YqA5AiA8RMrVbb1FRC15l4jZSMH6qXkAhqPqGwbQSljtBMH5Vg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":338703},"main":"../cjs/index.js","types":"./types/index.d.ts","module":"./esm/index.mjs","engines":{"node":">=14.8.0"},"exports":{"import":"./esm/index.mjs","require":"./cjs/index.js"},"gitHead":"842f67abe120d85d89dec2c36ab17daf5072cd06","scripts":{"lint":"eslint src","test":"vitest run","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","dev:link":"pnpm link ./dist","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","dev:sandbox":"tsnd examples/sandbox/server.ts","test:coverage":"vitest run --coverage","dev:sandbox:inspect":"tsnd --inspect -- examples/sandbox/server.ts"},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"repository":{"url":"git+https://github.com/Danilqa/node-file-router.git","type":"git"},"_npmVersion":"9.6.7","description":"A powerful file-based routing for Node.js","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"husky":"8.0.3","eslint":"8.46.0","vitest":"0.31.0","prettier":"3.0.0","cross-env":"7.0.3","@babel/cli":"7.21.5","typescript":"5.0.4","@babel/core":"7.21.8","@types/node":"20.1.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@babel/preset-env":"7.21.5","@vitest/coverage-c8":"0.31.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.0.0","@babel/preset-typescript":"7.21.5","@typescript-eslint/parser":"6.2.0","eslint-config-airbnb-base":"15.0.0","@babel/plugin-transform-runtime":"7.21.4","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"6.2.0","babel-plugin-add-import-extension":"1.6.0","@babel/plugin-transform-modules-commonjs":"7.21.5"},"_npmOperationalInternal":{"tmp":"tmp/node-file-router_0.5.0_1705419513746_0.36300894337945877","host":"s3://npm-registry-packages"}},"0.5.1":{"name":"node-file-router","version":"0.5.1","keywords":["nodejs","express","bun","router","file router","routing","middleware"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","_id":"node-file-router@0.5.1","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"homepage":"https://node-file-router.js.org","bugs":{"url":"https://github.com/Danilqa/node-file-router/issues"},"dist":{"shasum":"8dbda1589d37eeac31979638cce5578d2e8206bc","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.5.1.tgz","fileCount":165,"integrity":"sha512-EGAf/QwvW34Dcyzze/1/Gba4nKAKs7aR4gR/t4gX4HaFr3FSUW+VaQW5/ETIzEyW14cKP/dj8/C2LrCsRWOtkA==","signatures":[{"sig":"MEUCIQDtGf5qX89OwYk92QZ96OASrCyeKhhLXjIwS9IMM/FKTgIgCUxKtn6102+SkAGOjlsJc2GNzwR8lKPT6iX7RliWRss=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":338822},"main":"../cjs/index.js","types":"./types/index.d.ts","module":"./esm/index.mjs","engines":{"node":">=14.8.0"},"exports":{"import":{"types":"./types/index.d.ts","default":"./esm/index.mjs"},"require":{"types":"./types/index.d.ts","default":"./cjs/index.js"}},"gitHead":"265df7606bdb7623d538939e504f405dab6660a8","scripts":{"lint":"eslint src tests","test":"vitest run","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","dev:link":"pnpm link ./dist","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","dev:sandbox":"tsnd examples/sandbox/server.ts","test:coverage":"vitest run --coverage","dev:sandbox:inspect":"tsnd --inspect -- examples/sandbox/server.ts"},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"repository":{"url":"git+https://github.com/Danilqa/node-file-router.git","type":"git"},"_npmVersion":"9.6.7","description":"A powerful file-based routing for Node.js","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"husky":"8.0.3","eslint":"8.46.0","vitest":"0.31.0","prettier":"3.0.0","cross-env":"7.0.3","@babel/cli":"7.21.5","typescript":"5.0.4","@babel/core":"7.21.8","@types/node":"20.1.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@babel/preset-env":"7.21.5","@vitest/coverage-c8":"0.31.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.0.0","@babel/preset-typescript":"7.21.5","@typescript-eslint/parser":"6.2.0","eslint-config-airbnb-base":"15.0.0","@babel/plugin-transform-runtime":"7.21.4","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"6.2.0","babel-plugin-add-import-extension":"1.6.0","@babel/plugin-transform-modules-commonjs":"7.21.5"},"_npmOperationalInternal":{"tmp":"tmp/node-file-router_0.5.1_1705855677359_0.9921409334949784","host":"s3://npm-registry-packages"}},"0.5.2":{"name":"node-file-router","version":"0.5.2","keywords":["nodejs","express","bun","router","file router","routing","middleware"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","_id":"node-file-router@0.5.2","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"homepage":"https://node-file-router.js.org","bugs":{"url":"https://github.com/Danilqa/node-file-router/issues"},"dist":{"shasum":"0f907819263e997b8a6173346cc9e275bd71e812","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.5.2.tgz","fileCount":165,"integrity":"sha512-zdp0GuTzBABlS5GEgDjotOcJEozL4ngF33vcsn1K9VA0qyOPnEr61oWzhs5p3hlqgwXiYINMmy6c/6UhMPMKdQ==","signatures":[{"sig":"MEUCIBwQHPUbuwK3/2ifvaR0jpd4Zui2hwXcfvvu/AVhf2RLAiEA4ukxXwG/5w+azkQOiao+gCpdpAN8P16H+J5yA6Fwl9E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":341516},"main":"../cjs/index.js","types":"./types/index.d.ts","module":"./esm/index.mjs","engines":{"node":">=14.8.0"},"exports":{"import":{"types":"./types/index.d.ts","default":"./esm/index.mjs"},"require":{"types":"./types/index.d.ts","default":"./cjs/index.js"}},"gitHead":"b538d244165bff968608e3f9b059ba2c8c2950e0","scripts":{"lint":"eslint src tests","test":"vitest run","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","dev:link":"pnpm link ./dist","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","dev:sandbox":"tsnd examples/sandbox/server.ts","test:coverage":"vitest run --coverage","dev:sandbox:inspect":"tsnd --inspect -- examples/sandbox/server.ts"},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"repository":{"url":"git+https://github.com/Danilqa/node-file-router.git","type":"git"},"_npmVersion":"9.6.7","description":"A powerful file-based routing for Node.js","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"husky":"8.0.3","eslint":"8.46.0","vitest":"0.31.0","prettier":"3.0.0","cross-env":"7.0.3","@babel/cli":"7.21.5","typescript":"5.0.4","@babel/core":"7.21.8","@types/node":"20.1.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@babel/preset-env":"7.21.5","@vitest/coverage-c8":"0.31.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.0.0","@babel/preset-typescript":"7.21.5","@typescript-eslint/parser":"6.2.0","eslint-config-airbnb-base":"15.0.0","@babel/plugin-transform-runtime":"7.21.4","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"6.2.0","babel-plugin-add-import-extension":"1.6.0","@babel/plugin-transform-modules-commonjs":"7.21.5"},"_npmOperationalInternal":{"tmp":"tmp/node-file-router_0.5.2_1706602098568_0.20763274961492462","host":"s3://npm-registry-packages"}},"0.5.3":{"name":"node-file-router","version":"0.5.3","keywords":["nodejs","express","bun","router","file router","routing","middleware"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","_id":"node-file-router@0.5.3","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"homepage":"https://node-file-router.js.org","bugs":{"url":"https://github.com/Danilqa/node-file-router/issues"},"dist":{"shasum":"0d7bb94e27d1843cd961ab797b981193af2015b2","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.5.3.tgz","fileCount":165,"integrity":"sha512-lC9W8S9vWjUio8etj6wq2R+4b1eysaXGVrKh6JsB/KBrpBbFby7mT6a1SJ6gkJHEeIfDeCioWAQJQpoylvhkpA==","signatures":[{"sig":"MEQCIACtgeTNd8FTL1CvBw38OVASX8nsjFnEqUW3pYxBLzxTAiAGmAlDK53NBbshImdHRqYipbIMpPfu18p9E4/RdO/DVg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":342232},"main":"../cjs/index.js","types":"./types/index.d.ts","module":"./esm/index.mjs","engines":{"node":">=14.8.0"},"exports":{"import":{"types":"./types/index.d.ts","default":"./esm/index.mjs"},"require":{"types":"./types/index.d.ts","default":"./cjs/index.js"}},"gitHead":"b0439c2b78434ee8d57a14b1e986daf7e13d1915","scripts":{"lint":"eslint src tests","test":"vitest run","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","dev:link":"pnpm link ./dist","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","dev:sandbox":"tsnd examples/sandbox/server.ts","test:coverage":"vitest run --coverage","dev:sandbox:inspect":"tsnd --inspect -- examples/sandbox/server.ts"},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"repository":{"url":"git+https://github.com/Danilqa/node-file-router.git","type":"git"},"_npmVersion":"9.6.7","description":"A powerful file-based routing for Express.js, Bun, pure Node.js and more","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"husky":"8.0.3","eslint":"8.46.0","vitest":"0.31.0","prettier":"3.0.0","cross-env":"7.0.3","@babel/cli":"7.21.5","typescript":"5.0.4","@babel/core":"7.21.8","@types/node":"20.1.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@babel/preset-env":"7.21.5","@vitest/coverage-c8":"0.31.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.0.0","@babel/preset-typescript":"7.21.5","@typescript-eslint/parser":"6.2.0","eslint-config-airbnb-base":"15.0.0","@babel/plugin-transform-runtime":"7.21.4","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"6.2.0","babel-plugin-add-import-extension":"1.6.0","@babel/plugin-transform-modules-commonjs":"7.21.5"},"_npmOperationalInternal":{"tmp":"tmp/node-file-router_0.5.3_1706939091866_0.46214754872530794","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"node-file-router","version":"0.6.0","keywords":["nodejs","express","bun","router","file router","routing","middleware"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","_id":"node-file-router@0.6.0","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"homepage":"https://node-file-router.js.org","bugs":{"url":"https://github.com/Danilqa/node-file-router/issues"},"dist":{"shasum":"d35d6923806be8eb0af96db702c96a20e26c809a","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.6.0.tgz","fileCount":165,"integrity":"sha512-2lpuHcQD2Ez9PQt3lZccXt5VLiriuUA13EJxJb1ARYLCOYKa9+2XDCVM4JzXkdzt6wkg4lJnPzlk827jPMb0NQ==","signatures":[{"sig":"MEQCIEqDoMpAe5Q5mNDe8RYdL9nCVbEqpUR15We2Z3uc+iksAiBc7LuksYJtchJOd2DNnUCEjVmF9B5WHLQGGeoY7xJICQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":342779},"main":"../cjs/index.js","_from":"file:node-file-router-0.6.0.tgz","types":"./types/index.d.ts","module":"./esm/index.mjs","engines":{"node":">=14.8.0"},"exports":{"import":{"types":"./types/index.d.ts","default":"./esm/index.mjs"},"require":{"types":"./types/index.d.ts","default":"./cjs/index.js"}},"scripts":{"lint":"eslint src tests","test":"vitest run","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","dev:link":"pnpm link ./dist","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","dev:sandbox":"tsnd examples/sandbox/server.ts","test:coverage":"vitest run --coverage","dev:sandbox:inspect":"tsnd --inspect -- examples/sandbox/server.ts"},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"_resolved":"/private/var/folders/pf/5lqs32hj76s3ctc3zq7plxgm0000gn/T/cebac96576eaf87fdf1a690b71bd4aa5/node-file-router-0.6.0.tgz","_integrity":"sha512-2lpuHcQD2Ez9PQt3lZccXt5VLiriuUA13EJxJb1ARYLCOYKa9+2XDCVM4JzXkdzt6wkg4lJnPzlk827jPMb0NQ==","repository":{"url":"git+https://github.com/Danilqa/node-file-router.git","type":"git"},"_npmVersion":"9.6.7","description":"A powerful file-based routing for Express.js, Bun, pure Node.js and more","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"husky":"8.0.3","eslint":"8.46.0","vitest":"0.31.0","prettier":"3.0.0","cross-env":"7.0.3","@babel/cli":"7.21.5","typescript":"5.0.4","@babel/core":"7.21.8","@types/node":"20.1.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@babel/preset-env":"7.21.5","@vitest/coverage-c8":"0.31.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.0.0","@babel/preset-typescript":"7.21.5","@typescript-eslint/parser":"6.2.0","eslint-config-airbnb-base":"15.0.0","@babel/plugin-transform-runtime":"7.21.4","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"6.2.0","babel-plugin-add-import-extension":"1.6.0","@babel/plugin-transform-modules-commonjs":"7.21.5"},"_npmOperationalInternal":{"tmp":"tmp/node-file-router_0.6.0_1708771635125_0.018292185376591386","host":"s3://npm-registry-packages"}},"0.7.0":{"name":"node-file-router","version":"0.7.0","keywords":["nodejs","express","bun","router","file router","routing","middleware"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","_id":"node-file-router@0.7.0","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"homepage":"https://node-file-router.js.org","bugs":{"url":"https://github.com/Danilqa/node-file-router/issues"},"dist":{"shasum":"0e3e91cd11cd90d8442a060309b8dc7ebe0ae900","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.7.0.tgz","fileCount":159,"integrity":"sha512-8+hGGvWm4YAMIbITFB2Eo3wcnCuExgY1wAApv1nGPTxTEugP5MdpHZR9Zg5JrSFD3wGrMMPu1//Vy6EHuDhQAw==","signatures":[{"sig":"MEUCIBUUMWaMiEnoDQqEceuFKH7498FUa2xBK8kqLbNWT9e4AiEAopXfPHYzLcushz7uZB/fckVfTVMjr3qxcR5ZAyaLhGI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":344659},"main":"../cjs/index.js","types":"./types/index.d.ts","module":"./esm/index.mjs","engines":{"node":">=14.8.0"},"exports":{"import":{"types":"./types/index.d.ts","default":"./esm/index.mjs"},"require":{"types":"./types/index.d.ts","default":"./cjs/index.js"}},"gitHead":"d7e9cf9df0b235c3b40dc7ff147b2036893063f8","scripts":{"lint":"eslint src tests","test":"vitest run","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","dev:link":"pnpm link ./dist","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","dev:sandbox":"tsnd examples/sandbox/server.ts","test:coverage":"vitest run --coverage","dev:sandbox:inspect":"tsnd --inspect -- examples/sandbox/server.ts"},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"repository":{"url":"git+https://github.com/Danilqa/node-file-router.git","type":"git"},"_npmVersion":"10.9.2","description":"A powerful file-based routing for Express.js, Bun, pure Node.js and more","directories":{},"_nodeVersion":"22.13.1","_hasShrinkwrap":false,"packageManager":"pnpm@9.2.0+sha512.98a80fd11c2e7096747762304106432b3ddc67dcf54b5a8c01c93f68a2cd5e05e6821849522a06fb76284d41a2660d5e334f2ee3bbf29183bf2e739b1dafa771","devDependencies":{"husky":"8.0.3","eslint":"8.46.0","vitest":"0.31.0","prettier":"3.0.0","cross-env":"7.0.3","@babel/cli":"7.21.5","typescript":"5.0.4","@babel/core":"7.21.8","@types/node":"20.1.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@babel/preset-env":"7.21.5","@vitest/coverage-c8":"0.31.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.0.0","@babel/preset-typescript":"7.21.5","@typescript-eslint/parser":"6.2.0","eslint-config-airbnb-base":"15.0.0","@babel/plugin-transform-runtime":"7.21.4","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"6.2.0","babel-plugin-add-import-extension":"1.6.0","@babel/plugin-transform-modules-commonjs":"7.21.5"},"_npmOperationalInternal":{"tmp":"tmp/node-file-router_0.7.0_1737809493548_0.18653360715953693","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"node-file-router","version":"0.8.0","keywords":["nodejs","express","bun","router","file router","routing","middleware"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","_id":"node-file-router@0.8.0","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"homepage":"https://node-file-router.js.org","bugs":{"url":"https://github.com/Danilqa/node-file-router/issues"},"dist":{"shasum":"d96f848972657227fc3de0a65f2f838d1d41762e","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.8.0.tgz","fileCount":171,"integrity":"sha512-Kh4Inn3qE3EqLxvQqXAykVcObyXkKfJu0x0D+x05yolgons/huoTRmllulcP7qK6eW8HAd2ajQuhWgCSusPpDQ==","signatures":[{"sig":"MEUCIHTEzNqbnpTyJ1CDbxZzsPOpjf+ewvfqbv0VwVul6o9MAiEAqgXV6si3kFFIxeb1fzluSb/2Tq3AjdiPQcMQSlImxYQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":362207},"main":"../cjs/index.js","types":"./types/index.d.ts","module":"./esm/index.mjs","engines":{"node":">=14.8.0"},"exports":{"import":{"types":"./types/index.d.ts","default":"./esm/index.mjs"},"require":{"types":"./types/index.d.ts","default":"./cjs/index.js"}},"gitHead":"962d4b4fd4c3d267c88dc73c3953a1d40f1a515e","scripts":{"lint":"eslint src tests","test":"vitest run","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","dev:link":"pnpm link ./dist","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","dev:sandbox":"tsnd examples/sandbox/server.ts","test:coverage":"vitest run --coverage","dev:sandbox:inspect":"tsnd --inspect -- examples/sandbox/server.ts"},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"repository":{"url":"git+https://github.com/Danilqa/node-file-router.git","type":"git"},"_npmVersion":"10.7.0","description":"A powerful file-based routing for Express.js, Bun, pure Node.js and more","directories":{},"_nodeVersion":"20.14.0","_hasShrinkwrap":false,"packageManager":"pnpm@9.2.0+sha512.98a80fd11c2e7096747762304106432b3ddc67dcf54b5a8c01c93f68a2cd5e05e6821849522a06fb76284d41a2660d5e334f2ee3bbf29183bf2e739b1dafa771","devDependencies":{"husky":"8.0.3","eslint":"8.46.0","vitest":"0.31.0","prettier":"3.0.0","cross-env":"7.0.3","@babel/cli":"7.21.5","typescript":"5.0.4","@babel/core":"7.21.8","@types/node":"20.1.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@babel/preset-env":"7.21.5","@vitest/coverage-c8":"0.31.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.0.0","@babel/preset-typescript":"7.21.5","@typescript-eslint/parser":"6.2.0","eslint-config-airbnb-base":"15.0.0","@babel/plugin-transform-runtime":"7.21.4","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"6.2.0","babel-plugin-add-import-extension":"1.6.0","@babel/plugin-transform-modules-commonjs":"7.21.5"},"_npmOperationalInternal":{"tmp":"tmp/node-file-router_0.8.0_1738423368454_0.0867490553070378","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"node-file-router","version":"0.9.0","description":"A powerful file-based routing for Express.js, Bun, pure Node.js and more","scripts":{"dev:sandbox":"tsnd examples/sandbox/server.ts","dev:sandbox:inspect":"tsnd --inspect -- examples/sandbox/server.ts","dev:link":"pnpm link ./dist","build":"pnpm build:cjs && pnpm build:esm && pnpm build:types && node ./dev/scripts/copy-files.js","build:esm":"cross-env BABEL_ENV=esm babel src --extensions '.ts' --out-dir 'dist/esm' --out-file-extension .mjs --source-maps","build:cjs":"cross-env BABEL_ENV=cjs babel src --extensions '.ts' --out-dir 'dist/cjs' --source-maps","build:types":"tsc --emitDeclarationOnly --declaration --outDir dist/types --rootDir src","test":"vitest run","test:coverage":"vitest run --coverage","lint":"eslint src tests"},"module":"./esm/index.mjs","main":"../cjs/index.js","types":"./types/index.d.ts","exports":{"import":{"types":"./types/index.d.ts","default":"./esm/index.mjs"},"require":{"types":"./types/index.d.ts","default":"./cjs/index.js"}},"keywords":["nodejs","express","bun","router","file router","routing","middleware"],"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Danilqa/node-file-router/issues"},"repository":{"type":"git","url":"git+https://github.com/Danilqa/node-file-router.git"},"homepage":"https://node-file-router.js.org","engines":{"node":">=14.8.0"},"devDependencies":{"@babel/cli":"7.21.5","@babel/core":"7.21.8","@babel/plugin-transform-modules-commonjs":"7.21.5","@babel/plugin-transform-runtime":"7.21.4","@babel/preset-env":"7.21.5","@babel/preset-typescript":"7.21.5","@commitlint/cli":"17.7.2","@commitlint/config-conventional":"17.7.0","@types/node":"20.1.4","@typescript-eslint/eslint-plugin":"6.2.0","@typescript-eslint/parser":"6.2.0","@vitest/coverage-c8":"0.31.0","babel-plugin-add-import-extension":"1.6.0","cross-env":"7.0.3","eslint":"8.46.0","eslint-config-airbnb-base":"15.0.0","eslint-config-prettier":"8.9.0","eslint-plugin-prettier":"5.5.4","husky":"8.0.3","prettier":"3.0.0","ts-node-dev":"2.0.0","typescript":"5.0.4","vitest":"0.31.0"},"packageManager":"pnpm@9.2.0+sha512.98a80fd11c2e7096747762304106432b3ddc67dcf54b5a8c01c93f68a2cd5e05e6821849522a06fb76284d41a2660d5e334f2ee3bbf29183bf2e739b1dafa771","_id":"node-file-router@0.9.0","gitHead":"2a462d5cfcf7fc09192b4accc9d9a6e5c728fbbf","_nodeVersion":"20.14.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-Y4qlb/C1K+r+MLAMYuld+aCDoBAtG+PtRT0T8asYr4VLIdac7sgEoPqzTCWQ3YSuzaLbPvZg7AkHBJE8LXYV9w==","shasum":"ba3a9684ff03c92bfc495d1bafb358e589669a4e","tarball":"https://registry.npmjs.org/node-file-router/-/node-file-router-0.9.0.tgz","fileCount":177,"unpackedSize":379824,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHnOJSYEuTaQ4XzFcUe+n9xC0UWgIUGD0Jtm44CJQsVLAiEA2bwmhqOLrJ/4ykQf19YJTOL/e1ljVCZ6l9ICLtaIjdU="}]},"_npmUser":{"name":"dsitdikov","email":"hello.boriskas@gmail.com"},"directories":{},"maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/node-file-router_0.9.0_1763834241787_0.19025275576325473"},"_hasShrinkwrap":false}},"time":{"created":"2023-08-11T11:30:29.995Z","modified":"2025-11-22T17:57:22.199Z","0.1.0":"2023-08-10T11:09:40.944Z","0.1.1":"2023-08-11T11:30:30.306Z","0.1.2":"2023-08-11T11:37:59.683Z","0.1.3":"2023-08-11T12:54:40.525Z","0.1.4":"2023-08-13T08:48:33.579Z","0.1.5":"2023-08-28T07:36:52.857Z","0.2.0":"2023-09-09T16:39:15.916Z","0.3.0":"2023-10-03T11:56:39.819Z","0.3.1":"2023-10-11T09:29:28.761Z","0.4.0":"2023-11-11T07:45:14.395Z","0.5.0":"2024-01-16T15:38:33.931Z","0.5.1":"2024-01-21T16:47:57.524Z","0.5.2":"2024-01-30T08:08:18.782Z","0.5.3":"2024-02-03T05:44:52.091Z","0.6.0":"2024-02-24T10:47:15.305Z","0.7.0":"2025-01-25T12:51:33.727Z","0.8.0":"2025-02-01T15:22:48.664Z","0.9.0":"2025-11-22T17:57:21.979Z"},"bugs":{"url":"https://github.com/Danilqa/node-file-router/issues"},"author":{"name":"Daniil Sitdikov","email":"hello.boriskas@gmail.com"},"license":"MIT","homepage":"https://node-file-router.js.org","keywords":["nodejs","express","bun","router","file router","routing","middleware"],"repository":{"type":"git","url":"git+https://github.com/Danilqa/node-file-router.git"},"description":"A powerful file-based routing for Express.js, Bun, pure Node.js and more","maintainers":[{"name":"dsitdikov","email":"hello.boriskas@gmail.com"}],"readme":"# Node File Router\n\n<img align=\"right\" width=\"92\" height=\"92\" title=\"Node File Router Logo\"\nsrc=\"./static/images/logo.png\" />\n\n[![product of the week](./static/images/devhunt-badge.svg)](https://devhunt.org/tool/node-file-router)\n\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/f0e2838a1ddf48a89bec571a0f692834)](https://app.codacy.com/gh/Danilqa/node-file-router?utm_source=github.com&utm_medium=referral&utm_content=Danilqa/node-file-router&utm_campaign=Badge_Grade)\n[![ci Status](https://github.com/danilqa/node-file-router/actions/workflows/deploy.yml/badge.svg)](https://github.com/Danilqa/node-file-router/actions)\n[![npm downloads](https://snyk.io/test/github/danilqa/node-file-router/badge.svg)](https://snyk.io/test/github/danilqa/node-file-router)\n[![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/danilqa/node-file-router/blob/main/LICENSE)\n\nA powerful file-based routing for Node.js. \n\nIt simplifies the creation and organization of API services.\nYou can effortlessly map your project's file structure to your API endpoints, enabling a clear and maintainable codebase.\n\n* **Technology Agnostic**: \n  * Express\n  * Pure Node HTTP\n  * Bun\n  * Sockets\n  * ... whatever compatible with the interface\n* **0** dependencies\n* **CommonJS** and **ES modules** support\n* **TypeScript** support\n* **100%** test coverage\n* **Middlewares** support\n\n# Overview\n\nImagine you have a project with the following structure:\n```\napi/\n├── profile/\n│   ├── middlware.ts - middleware for profile\n│   └── orders.[post].ts - methods in any filenames\n├── catalog/\n│   └── [[...tags]].ts - several segments\n├── collection/\n│   └── [cid]/ - slugs in folders\n│       └── products/\n│           └── [pid].ts - slugs in files\n├── index.ts - root\n├── middleware.ts - middleware for all routes\n└── _404.ts - not found response    \n```\n\nNode File Router will automatically map it to your API endpoints:\n* [POST]: /profile/orders → `/api/profile/orders.[post].ts`\n* /catalog/men/black/denim → `/api/catalog/[[...tags]].ts`\n* /collection/77/products/13 → `/api/collection/[cid]/products/[pid].ts`\n* / → `index.ts`\n\nSome examples of how your file handlers can be written:\n\nMethods in a file\n```js\nexport default {\n  get(req, res, routeParams) {},\n  post(req, res, routeParams) {},\n  patch(req, res, routeParams) {},\n}\n```\n\nSingle response function\n```js\nexport default function (req, res, routeParams) {}\n```\n\nMiddlewares chain\n```js\nexport default [\n  useErrorHandler,\n  useLogger,\n  useAuthGuard,\n];\n```\n\nClasses\n```js\nexport default class Resource {\n  get(req, res, routeParams) {}\n  \n  post(req, res, routeParams) {}\n  \n  patch(req, res, routeParams) {}\n}\n```\n\n# Documentation\n\n```bash\nnpm i node-file-router\n```\n\nVisit [website](https://node-file-router.js.org/) to get started and view \nthe full documentation.\n\nUsage:\n* [Getting started](https://node-file-router.js.org/docs/getting-started)\n* [Usage guide](https://node-file-router.js.org/docs/usage-guide)\n  * [Configuration](https://node-file-router.js.org/docs/usage-guide#configuration)\n* [Usage with Bun](https://node-file-router.js.org/docs/use-with-bun)\n* [Get All Registered Routes](https://node-file-router.js.org/docs/usage-guide#get-all-registered-routes)\n\nMethods routing:\n* [Any method](https://node-file-router.js.org/docs/usage-guide#any-method)\n* [Object with methods](https://node-file-router.js.org/docs/usage-guide#object-with-methods)\n* [Class with methods](https://node-file-router.js.org/docs/usage-guide#class-with-methods)\n* [Methods in filenames](https://node-file-router.js.org/docs/usage-guide#methods-in-filenames)\n\nRoute matching:\n* [Plain match](https://node-file-router.js.org/docs/route-matching#direct-matching) - /plain/route/\n* [Exact slug](https://node-file-router.js.org/docs/route-matching#exact-matching) - /[id]/\n* [Catching all](https://node-file-router.js.org/docs/route-matching#catching-all) - /[id1]/[id2]/[idn]/\n* [Optional catching all](https://node-file-router.js.org/docs/route-matching#optional-catching-all) - ?/[id1]/[id2]/[idn]/\n\nSupport other protocols and frameworks:\n* [Custom adapter](https://node-file-router.js.org/docs/custom-adapter)\n\nMiddlewares:\n* [Usage and examples](https://node-file-router.js.org/docs/middlewares)\n\n# Examples\n\nVisit [examples folder](https://github.com/Danilqa/node-file-router/tree/main/examples) to see samples with \ndifferent module systems, adapters, and use cases.\n\n# Support\n\nI usually respond within 24 hours. Fixes typically take 1-3 days. Additionally, I provide time estimations for \nnew features and fixes. Feel free to ask questions, voice ideas, and share your projects on [Github Discussion](https://github.com/Danilqa/node-file-router/discussions).\n\n# Developing\n\nTo begin development and contribution, read [this guide](/contributing/developing.md).\n","readmeFilename":"README.md"}