{"_id":"react-fs-router","_rev":"32-95a604f7fb5858550a0d35ca26517c1c","name":"react-fs-router","dist-tags":{"latest":"2.0.1"},"versions":{"0.1.3":{"name":"react-fs-router","version":"0.1.3","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"ISC","_id":"react-fs-router@0.1.3","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"34647fa4e48b3517f3b0db01747ab1b7784ebb7f","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.1.3.tgz","fileCount":5,"integrity":"sha512-czDjUyBmPIrVINz3antCiJnntkfCggXkj/lRVrilqSqclcCYtwkaG2tJGvHWvyMUVOtbK1w1flw0ecHISI0lpg==","signatures":[{"sig":"MEUCIDxyfkB9457z1s0fTlGTVAHhwHdDzELIo4aOodSLW8sDAiEAyOytnjk9IOeq4VAwU6l5QzFOm5B+9TZkaMjA3kby9oE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12203},"main":"./bin/index.js","gitHead":"0509faa5318242935b7d0c25b5b6622b4dc3abcd","scripts":{"test":"node index.js -p ./pages"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"node":"^16.10.0","react":"^17.0.2","chokidar":"^3.5.2","prettier":"^2.4.1","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.1.3_1634120499352_0.666368299943549","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"react-fs-router","version":"0.1.0","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"ISC","_id":"react-fs-router@0.1.0","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"c2bf876a5280b47916f7cb8063b17d4f08bf30c1","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.1.0.tgz","fileCount":5,"integrity":"sha512-fhd+Rqe60fK5diQVA77HdbU83CfqoZCPEzdjXVNTfOyY5c8sSsPtm0YUh/v8Mm2tVk4hKcPMG8sbkebfPfHH6A==","signatures":[{"sig":"MEUCIQDtRBK7XoeD5bguCtbPw8YTbVp6X1GPze4Y/fwj+P0vcwIgPOgjoMLDfjqJ3NMlTaqY8hfggqsFrw0QVjxeW3eT9cg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12233},"main":"./bin/index.js","gitHead":"509e5d796fdc3f77a8027377eb78799db8c2ef53","scripts":{"test":"node index.js -p ./pages"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"node":"^16.10.0","react":"^17.0.2","chokidar":"^3.5.2","prettier":"^2.4.1","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.1.0_1634120700417_0.3413931122792888","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"react-fs-router","version":"0.1.4","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"ISC","_id":"react-fs-router@0.1.4","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"bba518796512f59bffd46e862ec78f3af520f92b","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.1.4.tgz","fileCount":5,"integrity":"sha512-Jna7AbZD/7OchLRVgRE1K/Li6USYdB4kqGYMP1zHJuVVe3PRqcT06h+pKs6kGn6Ei6wO3BxR+NwYpts8I6sNBA==","signatures":[{"sig":"MEUCIQCH1HyO9IQdUgps9trJiOLCUIdFwul9UQ4AHQ6tEzXOkQIgOpg1wArYMgC1rmb1yv8hoSzHGz8V6oiZeeWKnGUjMQU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12224},"main":"./bin/index.js","gitHead":"509e5d796fdc3f77a8027377eb78799db8c2ef53","scripts":{"test":"node index.js -p ./pages"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"node":"^16.10.0","react":"^17.0.2","chokidar":"^3.5.2","prettier":"^2.4.1","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.1.4_1634121057697_0.6289527387807896","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"react-fs-router","version":"0.1.5","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"ISC","_id":"react-fs-router@0.1.5","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"51efdccadb1334cbb118e387064a7a6e861dbfa8","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.1.5.tgz","fileCount":5,"integrity":"sha512-5btFbm7qeV3axFyEuVQQM7XBFlmljPIpbDTD0k0Zu731Qkg8jQ6ZkSVNwuhXK5vT2tGMX6DC/ndfej5ZYzmnhg==","signatures":[{"sig":"MEUCIQC4FDNfZN99agL16men9m60nUU/F70J4pghYg+VxtaE7gIgUHHNeyStF98JhA+MrKSOO9dx467McVR4+0HxpalfKG0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12260},"main":"./bin/index.js","gitHead":"509e5d796fdc3f77a8027377eb78799db8c2ef53","scripts":{"test":"node index.js -p ./pages"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"node":"^16.10.0","react":"^17.0.2","chokidar":"^3.5.2","prettier":"^2.4.1","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.1.5_1634121364628_0.8222214605529024","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"react-fs-router","version":"0.2.0","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"ISC","_id":"react-fs-router@0.2.0","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"dist/index.js","react-fs-router":"dist/index.js"},"dist":{"shasum":"0d1324a5cc71e37f2a28e62ebc2c097ced529fd4","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.0.tgz","fileCount":21,"integrity":"sha512-0lhmZbJfmoht9IvbRiJfyyrIF3WTSwvB71f4TNH1aNOyPBq4jwtl3wbHKgI7XGdj9n5mNxxGEajt3lcyNHDFng==","signatures":[{"sig":"MEUCICQOYg8nYNIrfGfCbjCXdPdDP/sdns1NXJsxUM/eJcqQAiEAgPNgj6Ne1PVUrsOJRXfE61OBJs2mSyFIqLbTU7Usc8M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23205},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"a4cc833ce26fd1c08d3240a94b86301464012bd5","scripts":{"test":"node index.js -p ./pages","build":"rm -rf ./dist & npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"node":"^16.10.0","react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4","@types/node":"^16.10.5"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.0_1634125532366_0.3614631042252592","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"react-fs-router","version":"0.2.2","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"ISC","_id":"react-fs-router@0.2.2","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"b80d9d8fd4bf41e5399493ac38a0d5dacfedab37","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.2.tgz","fileCount":16,"integrity":"sha512-xN9ySy52fSLeLDPTLmwS34SMDFNDTGpx/TquFzD4Q4yfxvJK5gzEzcSxePDc3XG5CysGur6zCQPYufPaWMdE3g==","signatures":[{"sig":"MEUCIQDkvA4pZ1RX8rDeDahD+l/ymwutKSkYc+xdEJYJVkYxKAIgSLGO0hEImaLnr3jlEqJseWZ0HRkE7VnSxtIVI9dEwog=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16277},"main":"./bin/index.js","types":"./dist/index.d.ts","gitHead":"a4cc833ce26fd1c08d3240a94b86301464012bd5","scripts":{"test":"node index.js -p ./pages","build":"rm -rf ./dist & npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"node":"^16.10.0","react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4","@types/node":"^16.10.5"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.2_1634126237969_0.3961508391494817","host":"s3://npm-registry-packages"}},"0.2.3":{"name":"react-fs-router","version":"0.2.3","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"ISC","_id":"react-fs-router@0.2.3","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"d94f103bdbbedd639cf7168b8ae9406635dcd471","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.3.tgz","fileCount":3,"integrity":"sha512-CsC7s9rdxitOcfgEiC6KssHlwTX9iv6YW+TIg9dDUqVktqzmR4lASp2Jfem3NCsj3QPejLHG7AljzheCDnFbAw==","signatures":[{"sig":"MEYCIQDILKy1bk9tWKZDdmqRRivzpcRpurezMwFNyRPGoX4QdgIhANtwQNyCqDU5s/3o0yR7GzIkKEse9C+80dIhCJy5lHFu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1389},"main":"./bin/index.js","types":"./dist/index.d.ts","gitHead":"dcd422738b6ce64e088395c7ca927ec459e79133","scripts":{"test":"node index.js -p ./pages","build":"rm -rf ./dist & npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"node":"^16.10.0","react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4","@types/node":"^16.10.5"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.3_1634126823945_0.47011807056335564","host":"s3://npm-registry-packages"}},"0.2.4":{"name":"react-fs-router","version":"0.2.4","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"ISC","_id":"react-fs-router@0.2.4","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"14ebb70a239dbe553ed3cbcbe3ea1fd55e65d741","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.4.tgz","fileCount":16,"integrity":"sha512-Se3zodVQ2iGz7siqxV/vRMt/YkoKIlZk4lOTrBk5hatPORfINo77Mm7QzJYb/0AMFcecWo2Jr7gPaAtqHd9LEA==","signatures":[{"sig":"MEYCIQCL8cClOGZK7Drj9nM4BE4I88um3/EKcfIveh6kcbUlqAIhAOMYc0TRsx3b+R4opF349AGDCJA7JkkPgj+YU9VU35kU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16277},"main":"./bin/index.js","types":"./dist/index.d.ts","gitHead":"dcd422738b6ce64e088395c7ca927ec459e79133","scripts":{"test":"node index.js -p ./pages","build":"rm -rf ./dist & npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"node":"^16.10.0","react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4","@types/node":"^16.10.5"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.4_1634127480932_0.7289284887853642","host":"s3://npm-registry-packages"}},"0.2.5":{"name":"react-fs-router","version":"0.2.5","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"ISC","_id":"react-fs-router@0.2.5","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"8f97e13744b4c6c398c56ddfac2e0374033e049b","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.5.tgz","fileCount":16,"integrity":"sha512-2C35BC5QlO2owAbWvbIgPWQhs0i5f/+GztdHPyHq3Hu7fTx65SlEqk/s2ECJO29veTfvKCOrkjLwpOde2Ff4Zw==","signatures":[{"sig":"MEQCIEIiBide1TXNrvv4eeue9GuI4oA0taZYSzBN0cHlmFWwAiAQTN6LiL/govDeAKo/8F3H3SeCtiur5X6RQWMvWSLkTA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16164},"main":"./bin/index.js","types":"./dist/index.d.ts","gitHead":"b11a8109c44ae7e4758e2ec4e2c5639809217543","scripts":{"test":"node index.js -p ./pages","build":"rm -rf ./dist & npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"node":"^16.10.0","react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4","@types/node":"^16.10.5"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.5_1634128950600_0.055275682895217226","host":"s3://npm-registry-packages"}},"0.2.6":{"name":"react-fs-router","version":"0.2.6","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"ISC","_id":"react-fs-router@0.2.6","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"9f13a9a45f25b21ac93b91118297f42fb2f347b9","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.6.tgz","fileCount":16,"integrity":"sha512-NYTZXYtnIPcvv9qTK9nGK0+FS0z4aHDukcenokpovOTrg8hG5hewUQZ95hl1vTAbC+YYKHYG/RuXPKMC9ksq5w==","signatures":[{"sig":"MEYCIQChSP9F31R91iJExCtEJO0n9r21BuI7JlfClEJGNizdngIhAJDx0jmHmcNteiRbFkeUqnS/V5PDC40S5Jmh/u3eD581","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16165},"main":"./bin/index.js","types":"./dist/index.d.ts","gitHead":"83dc9a7d430ed292a27e0497dc05d8bd6f0ae715","scripts":{"test":"node index.js -p ./pages","build":"rm -rf ./dist & npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"node":"^16.10.0","react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4","@types/node":"^16.10.5"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.6_1634130241017_0.909247476779441","host":"s3://npm-registry-packages"}},"0.2.7":{"name":"react-fs-router","version":"0.2.7","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"ISC","_id":"react-fs-router@0.2.7","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"5f1e12d48b0b2075135c4a18708d74b9cdc5b0bc","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.7.tgz","fileCount":16,"integrity":"sha512-OQO5iAxELSujhyB/mJ72dCIK8er+hUrr1rmsmpk2XBlsadC7h4KOYx/2v6Mo77urNLCTeDvnq/Okp8CwnD8P2w==","signatures":[{"sig":"MEUCIQCupY75YFe5G+IUH7PoA6aylUFHZrDc5iHDT+U0GlQmQwIgERe7LCJjaIMU7taL/CivUVDqvRMUSiP26z8lgqu0lVw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16178},"main":"./bin/index.js","types":"./dist/index.d.ts","gitHead":"a0babbc7f5979889fa6ebc02e291643f363a8387","scripts":{"test":"node index.js -p ./pages","build":"rm -rf ./dist & npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"node":"^16.10.0","react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4","@types/node":"^16.10.5"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.7_1634130594100_0.5214587319939001","host":"s3://npm-registry-packages"}},"0.2.8":{"name":"react-fs-router","version":"0.2.8","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@0.2.8","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"f17f36c0f7e0c48ee17ac12f79aa439604c4b7b1","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.8.tgz","fileCount":16,"integrity":"sha512-ZfIMV79s8PdC7v1TVjx5Ca+w0mvmxZ5sk/WIQBLMKxKjNwUhTQGd4Qyi61OtBv9Qhh8Q8/JvpxbJz6rlupMUPw==","signatures":[{"sig":"MEUCIQDi0jfZXK2Rf6MqHi/tBBJHUCHdPTS/ABgfL/3j0VyTIQIgO+6rYUJ1uPnHMBi6VxpXbzAXS3KI8ttFwpP+b4sXIeQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16541},"main":"./bin/index.js","types":"./dist/index.d.ts","gitHead":"a0babbc7f5979889fa6ebc02e291643f363a8387","scripts":{"test":"node index.js -p ./pages","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"node":"^16.10.0","react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4","@types/node":"^16.10.5"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.8_1634132334424_0.47552255369348684","host":"s3://npm-registry-packages"}},"0.2.9":{"name":"react-fs-router","version":"0.2.9","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@0.2.9","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"c00827147c2309c809aac447e58b7b0cc4176740","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.9.tgz","fileCount":12,"integrity":"sha512-iFnOfg4kdBI88M1N/TxVgzDn0O4gEUmzu3BNgimCU4egKxG5JQgy40gEatXFWNu9dEw7mYABhcRx15zmIvZA1g==","signatures":[{"sig":"MEUCIBxYj2BFSIK7nhaWZxEyHicK17fD29zZR7byOcjCzf2HAiEAoxq/len9BKdyD89K+7Ubb/yRIL0q6TFqNRd5oDJKZIk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7543},"main":"./bin/index.js","gitHead":"fbd0d2773747abe949c9639801354b082194a417","scripts":{"test":"node ./bin/index.js -p ./pages","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"node":"^16.10.0","react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4","@types/node":"^16.10.5"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.9_1634137456952_0.21674825553901966","host":"s3://npm-registry-packages"}},"0.2.10":{"name":"react-fs-router","version":"0.2.10","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@0.2.10","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"19561628c38505df1f204952e02a21b5e6d6c1b2","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.10.tgz","fileCount":12,"integrity":"sha512-GpKrstxguLbzj9GZFnOjEfVclPehM/zplSUGcrrfdCek8M/I8UF3I91squ/tjsl12JPZTq2Tp2uuY1+cwAJdpQ==","signatures":[{"sig":"MEUCIQCAzPvWZTGQAei5ds2fRvNfOajsigA4tA6JpgHaitY89AIgcfmBgsWz7GvupBnxmm0D7kriP4CsrJqo93B6pC0GlUw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7711},"main":"./bin/index.js","gitHead":"daf402ff0a0535486ca500250b13c250212fcab4","scripts":{"test":"node ./bin/index.js -p ./pages -c ./configs","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.10_1634139486918_0.8512576282325497","host":"s3://npm-registry-packages"}},"0.2.11":{"name":"react-fs-router","version":"0.2.11","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@0.2.11","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"0bb1d56d94524b65a4343f19c2f1472ecab3aece","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.11.tgz","fileCount":14,"integrity":"sha512-vLJ9PaCTZe1D0s6u8Z5jes+lzOsf3+/j4S+4wLdCximjnHv3+gedqdWgS1xtiZjRSbWLUXw3HCYeIc77cQcmcg==","signatures":[{"sig":"MEQCIAuhALlieCNMC137ATDQqyYeUEfSpcmgmunv98nwbRZ9AiAuWCSKAKhze7kZG4G2ZPrZ/blYNr2YKQjTWx4l5/T6Qw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9321},"main":"./bin/index.js","gitHead":"b213d5458ddc415aaca582cb42c5e6f1a6ce0d87","scripts":{"test":"node ./bin/index.js -p ./pages -c ./configs","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.11_1634153016751_0.35710983921476647","host":"s3://npm-registry-packages"}},"0.2.12":{"name":"react-fs-router","version":"0.2.12","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@0.2.12","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"6c9040cf890490d52244e0ed807fc57d0240e8d5","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.12.tgz","fileCount":14,"integrity":"sha512-je5YJW7It0Ix76Mqut2WI1B7i4CFkdur4D0+JzHq4VeGDpXWlA80KAf5o+FveSMDHJSTXwGf1XrBpjvcywDOEQ==","signatures":[{"sig":"MEQCIGSDakLM/EpC6sbRLTzHwLysXUiiq8wLBvDS5gzFykAUAiARIGx9C762Vwkl5q4NE6wI01ALT9OnBX3cwYNSXCMY9A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9383},"main":"./bin/index.js","gitHead":"a0ed4ed582d4e069df12b1c4e6044b7cd6e8df36","scripts":{"test":"node ./bin/index.js -p ./pages -c ./configs","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.12_1634153292966_0.39049504516923106","host":"s3://npm-registry-packages"}},"0.2.13":{"name":"react-fs-router","version":"0.2.13","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@0.2.13","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"20f2708558392e2273cd68bc594fff03dd06605a","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.13.tgz","fileCount":14,"integrity":"sha512-zDonlcJ25+Wn0ktzaqT5yQCC+2tVj9uu6QkgoWSM5IZkIImIWgzfLQOq9n6mkAHKALRLpxj/T/2AWd/YqhA6uQ==","signatures":[{"sig":"MEUCIFnbMZ8kK1cN26yZNc3WgkV+7PasLVJh0f3+Ji+S3WhIAiEAmGFrW/ClMkqloA6zton093xV5MtORkhx34Y595kmK04=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9864},"main":"./bin/index.js","gitHead":"6cda25ff817178527fae3b3ee8ded49a6dc87ae3","scripts":{"test":"node ./bin/index.js -p ./pages -c ./configs","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.13_1634153524912_0.9702162255745279","host":"s3://npm-registry-packages"}},"0.2.14":{"name":"react-fs-router","version":"0.2.14","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@0.2.14","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"6abdc59649a3ec95d58be826a90ad6384598d12f","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.14.tgz","fileCount":13,"integrity":"sha512-GjGu/9KivTnv5aAhCUBy0/5JqAyURJIv0h0tAVc8lH/qcQ7GM0W9w5Gl2XqD55y4pgP98xFJqCXWXcjDvNzn4A==","signatures":[{"sig":"MEUCIE/LyG8mm7UgSUT40MNDy+8fpM15EtXSdnzu2x3m6+QnAiEAxSoXCoHASrfjjnMHdn5e6FRYTqE98WXqV7tdcfBRS1g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9802},"main":"./bin/index.js","gitHead":"859d21f9ae39e03317a447c8321e44bee0eb2d05","scripts":{"test":"node ./bin/index.js -p ./pages -c ./configs","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.14_1634153678584_0.6764374209760349","host":"s3://npm-registry-packages"}},"0.2.15":{"name":"react-fs-router","version":"0.2.15","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@0.2.15","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"bin/index.js","react-fs-router":"bin/index.js"},"dist":{"shasum":"14d1357e7335f68091d6683e4b0a029b51a223e9","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.15.tgz","fileCount":5,"integrity":"sha512-4/10y7UGPfp4gEKXeAenMOK7qU2tNso19tQaMAjCqFjdftL19clXJhzsCC+biIctW1GBISP+TQOaLVd0k0etLA==","signatures":[{"sig":"MEYCIQDbRAyGw/pZ5D9GwBd97mQQxFcuDGdiQVSoCToZ9YJvDQIhAPLxK03yK83GwU06AdY7UHiip5ALLIo/LNveZoC8KGOU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6570},"main":"./index.js","gitHead":"3de70f8e3678196098e1206b183ae5a1474dfa64","scripts":{"test":"node ./index.js -p ./pages -c ./configs","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.15_1634256757245_0.9014132387437261","host":"s3://npm-registry-packages"}},"0.2.16":{"name":"react-fs-router","version":"0.2.16","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@0.2.16","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"index.js","react-fs-router":"index.js"},"dist":{"shasum":"9c463c04f18fbe3df456197dbbd47418fddba5ea","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.16.tgz","fileCount":5,"integrity":"sha512-zX0oGFksBZMeRVb9eR8U68Xpds2bodNOs+Q5k5otNeFf0xhhoFu3AoUUT12ukPoypn+lQ+fOfZLpzlogWgTxSA==","signatures":[{"sig":"MEYCIQCAdWvqj9qP6mENOxEwLK0Guvl54vj3t6yUXHXiFwhqTAIhAMT/+53QPlPPETkMilSmozijWh8eQD5lxU/rZkmAHVZ7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6562},"main":"./index.js","gitHead":"3e9e1c13c1d237a3d2e4f5fa0210592319fc3935","scripts":{"test":"node ./index.js -p ./pages -c ./configs","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.16_1634257069587_0.20322650581317414","host":"s3://npm-registry-packages"}},"0.2.17":{"name":"react-fs-router","version":"0.2.17","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@0.2.17","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"index.js","react-fs-router":"index.js"},"dist":{"shasum":"3f9fc7f6743bff114926dd78bea57b853cb4c0c9","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.17.tgz","fileCount":5,"integrity":"sha512-fTggr0B4fD5xk6xqonEe14hIJnn527s8eRLMu/sSZnygmfFJYgrzR4or2oKnCPi+M7TG6X7E0asncPZw7oJFmg==","signatures":[{"sig":"MEQCIFEgRkMvJ/R5YyjZy7Nelo0jqVvQwBwInUwdAqhkt9WbAiALYx/IiUXJ3XG6fAdo1rog9mJ7ONTpXSnGJ8e/hDKA2Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11995},"main":"./index.js","gitHead":"65e1dfa9a241679ddc931296dc3a133bdf31f4e5","scripts":{"test":"node ./index.js -p ./pages -c ./configs","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"react":"^17.0.2","chokidar":"^3.5.2","commander":"^8.2.0","react-router-dom":"^5.3.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.17_1634414469799_0.5397557601637606","host":"s3://npm-registry-packages"}},"0.2.18":{"name":"react-fs-router","version":"0.2.18","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@0.2.18","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"bin":{"rfr":"index.js","react-fs-router":"index.js"},"dist":{"shasum":"e69881c06364e0490eeef586dabb8e461a269f2a","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.18.tgz","fileCount":5,"integrity":"sha512-HvGxcnBlGCQCWqUx0L4M29E2mGghH4bO8CrhMTFB8E/VZfXbkrmyndi3CQuOwLH8atq4/AJaXpWP0WrI4XQKpA==","signatures":[{"sig":"MEYCIQDbFa7NFKZn7JiU9g/0KcLRXpbUxIp6CBjqDxcUCfJLnQIhAMn/rTVd6ovAnT3ffO82kpGFmAD7HKVqPbY1hnZ3tXc1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11934},"main":"./index.js","gitHead":"66efffcf09f6eb8e7ae38a4638c736b5c5bf20f1","scripts":{"test":"node ./index.js -p ./pages -c ./configs","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"chokidar":"^3.5.2","commander":"^8.2.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.18_1634414757554_0.7121497824044771","host":"s3://npm-registry-packages"}},"0.2.19":{"name":"react-fs-router","version":"0.2.19","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@0.2.19","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"homepage":"https://github.com/Mehran9675/react-filesystem-routing#readme","bugs":{"url":"https://github.com/Mehran9675/react-filesystem-routing/issues"},"bin":{"rfr":"index.js","react-fs-router":"index.js"},"dist":{"shasum":"18fef2a387ca2c658ba21d8f2c1348ef52ef81ef","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.19.tgz","fileCount":5,"integrity":"sha512-lbtmrf/1zx1xTZYPO3nf3L+OTb9TudNXJJczu518Sdb/9/YyHwagwuMKokp0rFvdA3Ig7nt94lWBNiiuOoJHgw==","signatures":[{"sig":"MEUCIQDQKv3U2QlL3A5fgkURFMA76AwrilCE9oWd1/rXL4hnFgIgC9OmdkeOH0zn0Ns2r8BAkiej6OHeniYClZ7zg+fTvek=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12042},"main":"./index.js","gitHead":"226d84938f4c3e2d14c6a210358b15540a7bb42a","scripts":{"test":"node ./index.js -p ./pages -c ./configs","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"repository":{"url":"git+https://github.com/Mehran9675/react-filesystem-routing.git","type":"git"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"chokidar":"^3.5.2","commander":"^8.2.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.19_1634415166674_0.7905425813139366","host":"s3://npm-registry-packages"}},"0.2.20":{"name":"react-fs-router","version":"0.2.20","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@0.2.20","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"homepage":"https://github.com/Mehran9675/react-filesystem-routing#readme","bugs":{"url":"https://github.com/Mehran9675/react-filesystem-routing/issues"},"bin":{"rfr":"index.js","react-fs-router":"index.js"},"dist":{"shasum":"61171e1962449d9aa287f70017a2ca122685bc09","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-0.2.20.tgz","fileCount":5,"integrity":"sha512-w9XSP9QpXUYfyNJvGJe8/cxrbkBagdKr1KIJ9l3yGzWEa/6OGHkClw5SX6HMmn1s0TqkWgmdiMQhCFVd5GQvpQ==","signatures":[{"sig":"MEQCIGrlRgOhId2DJn+dRfe/HMsWcuLq+Pb1Z8JmE6U3bsnwAiB6HN3MBleL7jdFfPgDxKSxDWMktrme2yNHQt8W3IbexA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12030},"main":"./index.js","gitHead":"10e2b3c12447bde5cd422119f1eaa32e4f91223d","scripts":{"test":"node ./index.js -p ./pages -c ./configs","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"repository":{"url":"git+https://github.com/Mehran9675/react-filesystem-routing.git","type":"git"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"chokidar":"^3.5.2","commander":"^8.2.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_0.2.20_1634421396118_0.5806730453054911","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"react-fs-router","version":"1.0.0","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@1.0.0","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"homepage":"https://github.com/Mehran9675/react-filesystem-routing#readme","bugs":{"url":"https://github.com/Mehran9675/react-filesystem-routing/issues"},"bin":{"rfr":"index.js","react-fs-router":"index.js"},"dist":{"shasum":"f774091545a2cb83961454d8855e40f95f4f394a","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-1.0.0.tgz","fileCount":5,"integrity":"sha512-4977aGdKJxB7AyNvz3eK1GAWI2saIenZVCa9j3+dTHa8z6avpQ/P3vwfEXLyhoQ8ban9tbRXgHXFNecjMJH7Gg==","signatures":[{"sig":"MEQCIBye9NnAc0wOi3L7y96tlflQRChsJRhEZi9wRvW3jX1SAiAsuch8In0F1uuudHeOm6gWdMG1PgYk2cKlTpO7J12QNw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14675,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpBSpCRA9TVsSAnZWagAAlYcP/jyrJ/l6565UxzB4JLFz\nUEjI9A2HF8k1oVO5Um7kEnSlWtpOARAZRdSa813oimWkIREU+7jZIb2Vi2uR\nvzvAixsF0aEniUINVJLsO5bpAOVQB7nH3B5TS0ueexeNdQWtj2ceCJfVweIl\nQotN17SXNyxaFBxzcuHv7rUM8UWa96bDE0gbdeOc9hQUXmpsohPmcMU1B9b6\np66ky9LcSsvXdtDBOMzKKUadBcsTaV0tBrJJcgfHKe/EPiP+O6M1yPTdg6D0\nc5AuIOzd0y78BiBd+I9c9YgAcGqiqBpVVjcdgwZL04Zn0m5wnwJY58hLjs0v\nwWZPrxtr+HpaAUauwMPkJqYKT+bBi87+jM2QIx6ip3/rA4/jNMf97LhtYLUS\n+xmz3USLyXSagDtQg1+gRNJpb3VwrZ1z+t8fLD6maN+SgiSYwpmExBbxOXLA\n3I+2HfotdOvbI15eH1tJA1nNGaz8qQmA9OYU3tbkWSAULGISVNmmrQquNE6d\nIU3Jz26ImrY9kdQS7L0S1XXUIPEn5pQHhp1l4V2j5Qi0Htapc+E13+YK0ntu\n73pgY972vkUz2iXAh6P8udVR/99KmdLLdr55vFdWuwS+rvhAfztkQboFBZB3\nAM3GobxT6ZzhDHA2n4aUjKeKcGqo5MLH4UHz6ip+lUQDcPLCY/JW8E1ZSYGp\nMO60\r\n=d17+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./index.js","gitHead":"8b635870f2c45454ad115b89316b874ad12fc44a","scripts":{"test":"node ./index.js -i ./pages -ext ts","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"repository":{"url":"git+https://github.com/Mehran9675/react-filesystem-routing.git","type":"git"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"chokidar":"^3.5.2","commander":"^8.2.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_1.0.0_1638143145099_0.21184044385595358","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"react-fs-router","version":"1.0.1","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@1.0.1","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"homepage":"https://github.com/Mehran9675/react-filesystem-routing#readme","bugs":{"url":"https://github.com/Mehran9675/react-filesystem-routing/issues"},"bin":{"rfr":"index.js","react-fs-router":"index.js"},"dist":{"shasum":"46946bbee54bd6bd40be827680aecfcdfd598cab","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-1.0.1.tgz","fileCount":5,"integrity":"sha512-RnXB5bNFbwHPnUBQ5+83cmev4oHgZdhP7dXIx8w+khukAnkUk9P+fx8P04I/hZV7o6Y0rsxSE5NYqOPE1LCiyw==","signatures":[{"sig":"MEQCICiFfxfJp5eoI0Im23TjYGxajZOP5fSigM/JdQbuJjGRAiACrWJsO+BF0btW/HE0+iKwqOZ+VMqzvNPWTGloLhjCBQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14207,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpBY2CRA9TVsSAnZWagAAB1wP/38qXs3+DGF/JasLy63V\npM7Ia4T+Ulv8yldPWCkSbPGxco5PoZ9NPmBk1mkM5TQbCqUz5u1AiCZsRUil\nvYtYl2yU44wCfNDPF4DB0g0TCsMMubPtOwoS1EkPs5bS9yFneuwBx7Z+ke1e\nlzVKlz6h810QBYy4c7pOHsqBVFzeIM9nvzKOAFSQNOOAGFfiiKdlzkUe6pdK\nQMwWrQFjGYhBDb0VeMRyzTxV2FWHKplLH6oiEwL5oen3IVohniSqE7W6lN3G\nm9kU8DSza+P3TL/0Vta2neMapKCHCwkAf/Q6HusJeW2pk/p1BTXLnmWc/LeX\n+oMgSM1GXXXg/jIJUkOLBn4d92zXppffyzaBZBmohSUfH5gHbCyuV9ijMCeE\nmda/ZSUBO4MXIh60lZlK4JIdKHKSORVQcs3i0gjCo6bC5aAXa7vX1OoiRCxe\nS7f/FFuOgKXoDY/8kcbVTvMLj0Gy0f0bHFs9Jay8NX/vPMfvBtH+ek7TgbLR\nRo1fVZ71f1M0JDsfzLkI4A+mrjFH7c5Tf+Rrz3teycwtYy8DNaA3Sj2OCLHC\nHBwbWffUP7dqBLygEG2c8Xweb8Klx7yJfdhtIqdGNtck/NibfLiR7NDKmJon\nwzBxoXeQPYKeZNMdlG1C3bp34pIxfa3a4EQDyectri2g0380J2oWi20qeL9n\nyMbK\r\n=LuyT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./index.js","gitHead":"2dfdabdcfb4b6957f56eba2c7f19e0e692baac73","scripts":{"test":"node ./index.js -i ./pages -ext ts","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"repository":{"url":"git+https://github.com/Mehran9675/react-filesystem-routing.git","type":"git"},"_npmVersion":"6.14.13","description":"File-system based routing for React.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"chokidar":"^3.5.2","commander":"^8.2.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_1.0.1_1638143542409_0.9360701709683428","host":"s3://npm-registry-packages"}},"1.0.11":{"name":"react-fs-router","version":"1.0.11","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@1.0.11","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"homepage":"https://github.com/Mehran9675/react-filesystem-routing#readme","bugs":{"url":"https://github.com/Mehran9675/react-filesystem-routing/issues"},"bin":{"rfr":"index.js","react-fs-router":"index.js"},"dist":{"shasum":"18392bc035805c4a3f2f4d4330568d6cb71c2c6e","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-1.0.11.tgz","fileCount":9,"integrity":"sha512-zntbgcgU/1VpQoUcKwlSrPPxXqztmKLqLOf8RhKn0BEKUWsaHqJQYTKb0LJrQCFn6km7fGWDLHSo5cWVao6Rbw==","signatures":[{"sig":"MEQCIAV/Wj8jvRSC5DxPc5AvhLW0TH5dtLdmFHZ1Erx3MnF9AiA+MT/z8cOui/x1+rNKA0YXSahfuq8h3Quja2Yzt0C2Cg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDOTcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmofDg//Y/iA8jtL50q2WFflLHsnHdn9cNNReZOwSX+A987OSx6zEcS+\r\nYWng+t1xRygjtTo3Std/226Kf40ND5/xA7AsSODBg4vNbLx0KWKDMJpF07p6\r\nbPpAW0aEQNEWmhEgt/gV+689DFtQFRgk95J7ek79oesh04IHKv1VlIRb4vAL\r\nh2ks3L6jbbbDnhHOIq4tO/rUSjYT6IyeWSV3cI8MjTOaFfu+yX8PUoQJSKfb\r\nN4B8IlQR8Sh7k0wuNyGcBq3kL8WA9MRA8RV4SGUuPNv/ObpoQPqhlM/hXrRg\r\narlUpyys6QkFgo/LuvVSedxXBRlzP2wrs54dLt03xpJpS6NEvDb1PkSqyx8W\r\n2F98gkTm6gK58uikL6m0wyzGfQ+CnJ+wvYUD/+zBoENaNAwKWgU3OnZj988W\r\nzZ32musPHzQQD0ht8lYINzCbSGkIAJbI5Ihg54F2HF5QavAAzBObsLtHt6Iw\r\nrdQLdQJMKsxGjW1tByzeNB+4vjAMtEu6APKTbVVBYNnaD2FGntWh7nBr4HBv\r\nXmkfuYWVYE3CDLtzWmsZtax6qUHjrgRcZfTbs6YcQbFhmsB3SWI0ChwD4FK8\r\nT4EPM/Yt0wAkxDatinS8sKqR9m/2ePlRqUI42UKL9kc46ma2hUSQclN/pEOu\r\n9ai/ivTEAFwq/bT91Iqn704LjD5qTpZh6YQ=\r\n=xy9z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./index.js","gitHead":"ba63f5fb50c4bc7619cae4e645a72d80a6c75e8a","scripts":{"test":"node ./index.js -i ./pages -ext ts","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"repository":{"url":"git+https://github.com/Mehran9675/react-filesystem-routing.git","type":"git"},"_npmVersion":"8.5.5","description":"File-system based routing for React.","directories":{},"_nodeVersion":"17.9.0","dependencies":{"chokidar":"^3.5.2","commander":"^8.2.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_1.0.11_1661789403592_0.7856470982624579","host":"s3://npm-registry-packages"}},"1.0.12":{"name":"react-fs-router","version":"1.0.12","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@1.0.12","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"homepage":"https://github.com/Mehran9675/react-filesystem-routing#readme","bugs":{"url":"https://github.com/Mehran9675/react-filesystem-routing/issues"},"bin":{"rfr":"index.js","react-fs-router":"index.js"},"dist":{"shasum":"ff1856db32ce0ef9ad316b181b7a9d3d3ddabc0f","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-1.0.12.tgz","fileCount":10,"integrity":"sha512-6EsyCnd6inCWmubQlLnVW2mLD1AXwHNgcGRQB5XW9cE7K1RNpFFxlbHRNE/vSRE6uvItVQKiNsa7l1JmxJLMDg==","signatures":[{"sig":"MEYCIQDDa3taTkgtHdesqWPWta6MkTK7njMeeszk8soQmQQXjQIhAJTM1+9YKFVvzB8m71tEe6DHttfQMihdC6abFciY0U5Z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14983,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDOZWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrQERAAjAd95NSErgYxUrOwiPDHNhw6NWnf9rT8MNfKUK0Gs6Ods6LJ\r\nVWuB680c2dOwWTpau0tPo+mtGyULwRpjbXd2Rr4HqOgZAf8tEOa7LjHSbp4c\r\n6cf0imo4kKCXWv+SSPpcLsEDiyFbnoEXTKVBKAYHI9fBVK2oCO2t12qq8uUJ\r\nVMxsy+fEzk2UWt3CgGYuZWAgxjKAiF9lrhU9mDgMdvIqw0sUgmF5Gu8nV1Rt\r\nqYHFxiDWIQ2zK8awLivrbOabyCEJ7P7SbKoDJ7GQ3PZEU3923kkC3xmq1nUu\r\n3B0AjjjWDEps2FsdvdUk9qK01YL3FW1E8ijhE5tvZkDlHLLMSR9G0YrOESBw\r\nb8k14LdiyimpVxFOMgkBwe55xoGui/XJmSieXSCGUB5Z+RC+iEwsCvUvpNlq\r\n+ZKgongZKN+3LJQGzi+02NLrG1MRucVRgzHdih+AQ0ZZ+ft6z8rTKF58lSVh\r\nP8LOXH33CGtNOoroWJbutVFJvOjp3qwlLIh4jykql7Vm+po4JkSaJw6dwevg\r\n7YOc4MX7L7UUZ+4xFaaiE4IpPCrf1Y0025OLiF60eOqVaFSDdM7LQjCW9c7I\r\nSWdS/v1XC50/Y3sGOOoBomlWOkLh7UMRRDjgSBR0uoyylXJUum6V162NiAj6\r\nI8tQC+SxxBLJOVz40BcveIOd2e/x1x40x+c=\r\n=hOFW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./index.js","gitHead":"fec7f6397902edaf77a0beffda3b9586338f311f","scripts":{"test":"node ./index.js -i ./pages -ext ts","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"repository":{"url":"git+https://github.com/Mehran9675/react-filesystem-routing.git","type":"git"},"_npmVersion":"8.5.5","description":"File-system based routing for React.","directories":{},"_nodeVersion":"17.9.0","dependencies":{"chokidar":"^3.5.2","commander":"^8.2.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_1.0.12_1661789782608_0.8391350446433254","host":"s3://npm-registry-packages"}},"1.0.13":{"name":"react-fs-router","version":"1.0.13","keywords":["react","file-system","routing","react-pages"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@1.0.13","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"homepage":"https://github.com/Mehran9675/react-filesystem-routing#readme","bugs":{"url":"https://github.com/Mehran9675/react-filesystem-routing/issues"},"bin":{"rfr":"index.js","react-fs-router":"index.js"},"dist":{"shasum":"62e8acc00cb9214403da152181a4bc760df79107","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-1.0.13.tgz","fileCount":10,"integrity":"sha512-I9gsee5fReUhx8HEy9gR2IrySyvyR+eC+ZZm6311stgbfmh9LIuBc+LjpYH/Rw0rVjgoJsinWNSFtLHqrMt0Vg==","signatures":[{"sig":"MEUCIC1Oa6Vrg9VgYLZZZA2RvhWW4GZZmtaRQ8CXXIdEbyftAiEAhxEUx8YuC8x74SD92x32WYyHQLOsRGTLiSstXBZesE4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjHx1cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrTSQ//WgO1VksWxbo4uwpj8BDLMpBVxCEO6lMoya7/fqpTqw1xQULR\r\niIDwQqatHVSinRoID7UbUM38blL8jnBCOD2SIcM9HXmGc7sEhHaeUsZ3MH41\r\nm4qLReqD3zPiPC2sxVIfEYH8Z3pGU2lTy5Ee4lfYgXtmh4VQnHfXi8VksY8o\r\n5kS4mZxV6ExLtXxedz6A3dyUlI9JwLaUbKGBsYOcnYbR459SPxkf1jsMnyu7\r\njyow6vxUVgjEysPH92MY5qpv4lQI/pP+/GKDIQcFoulKGmmLbfPD7+IGPOh7\r\nlviDAZSxmmVYawMM+gZfSq4jsTeEvbMFP+p8MAWnU0EZYCjg7dhwcgtxeOts\r\nN6+3OVcYHmjVTMUhUibsiF3SphrZQdlE3Dp0X2tsXcNCoeLjxD66Hmohx8o1\r\nj4WeK6bl87LvYRK7spXTweTqR/E3TjOR2fWLJal0IMFdFDpxh6+z/NF0J8LK\r\n3gQ3n8rnRya1I7Q5cloE1QxsKNfzH+RcRG0C+vSzBu7YNBCt5j3sVbH79JyK\r\nceZmwzVgUNYEfidkjZNPrheuNbvrFiCGc21ZLGU9Vu4YqLynZhqcrU9OQd7p\r\ntQhJzH+fx7hVeizFhqdaPmxa8e+MJIQtdE/rqDfu8ghwSmd14Z4+BgBHXCQg\r\nKqnpquY6vpDk6bPObqJTYo5ng7dH3mRIHeQ=\r\n=Hq2R\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./index.js","gitHead":"aa09a0c9ce5d9e033956ec304af3ffaa50e9b1c4","scripts":{"test":"node ./index.js -i ./pages -ext ts","build":"npx -p typescript tsc"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"repository":{"url":"git+https://github.com/Mehran9675/react-filesystem-routing.git","type":"git"},"_npmVersion":"8.5.5","description":"File-system based routing for React.","directories":{},"_nodeVersion":"17.9.0","dependencies":{"chokidar":"^3.5.2","commander":"^8.2.0"},"_hasShrinkwrap":false,"git repository":"https://github.com/Mehran9675/react-filesystem-routing","devDependencies":{"prettier":"^2.4.1","typescript":"^4.4.4"},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_1.0.13_1662983516615_0.20000179790333994","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"react-fs-router","version":"2.0.0","keywords":["react","file-system","routing","react-router","tanstack-router","vite","webpack"],"author":{"name":"Mehran Zahiroddini"},"license":"MIT","_id":"react-fs-router@2.0.0","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"homepage":"https://github.com/Mehran9675/react-filesystem-routing#readme","bugs":{"url":"https://github.com/Mehran9675/react-filesystem-routing/issues"},"bin":{"rfr":"dist/cli.js","react-fs-router":"dist/cli.js"},"dist":{"shasum":"c66657203f248df0353d244eeafe35f48bef1c68","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-2.0.0.tgz","fileCount":58,"integrity":"sha512-l6ADVhQ4MvVJBARpR3kF96o/L89qgu32Cb7kzd5iehVJ1CqPzYC84vxSjMgZV5XQF7cV/elQOdwxxmKAg8NyXw==","signatures":[{"sig":"MEUCIQCsHr330UX5F+9r5AZ8Do2+gTsJwttYVl6HtcswpLbogAIgG6cTe9ikmx9R/yzWUpvCG+hKU9PP9xh7wPkq/7THWEo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCDOET5BrycTCs5aDi7hS8dqCh+XZbZ/c7itLOrJabdFAIgGbwsybDo2N1uKRkeinosYyZkEZhs068Jpz0j3vIwNlI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124805},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./render":{"types":"./dist/render.d.ts","import":"./dist/render.js"},"./webpack":{"types":"./dist/webpack.d.ts","import":"./dist/webpack.js"},"./adapters/custom":{"types":"./dist/adapters/custom.d.ts","import":"./dist/adapters/custom.js"},"./adapters/tanstack":{"types":"./dist/adapters/tanstack.d.ts","import":"./dist/adapters/tanstack.js"},"./adapters/react-router":{"types":"./dist/adapters/react-router.d.ts","import":"./dist/adapters/react-router.js"}},"gitHead":"a794c5fafa9f0e9d9264169dbd60e49f4ab7f3ec","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","pretest":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"repository":{"url":"git+https://github.com/Mehran9675/react-filesystem-routing.git","type":"git"},"_npmVersion":"12.0.1","description":"Config-driven, adapter-pluggable file-system routing for React.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"chokidar":"^3.6.0","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.11","jsdom":"^25.0.1","react":"^18.3.1","vitest":"^2.1.8","webpack":"^5.95.0","react-dom":"^18.3.1","typescript":"^5.7.2","@types/node":"^22.10.2","@types/react":"^18.3.12","react-router":"^7.0.0","esbuild-loader":"^4.2.2","@types/react-dom":"^18.3.1","@tanstack/react-router":"^1.170.33","@testing-library/react":"^16.1.0"},"peerDependencies":{"react":">=17","react-router":">=7","@tanstack/react-router":">=1"},"peerDependenciesMeta":{"react":{"optional":true},"react-router":{"optional":true},"@tanstack/react-router":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-fs-router_2.0.0_1788778830701_0.4660089941798282","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"_id":"react-fs-router@2.0.1","bin":{"rfr":"dist/cli.js","react-fs-router":"dist/cli.js"},"bugs":{"url":"https://github.com/Mehran9675/react-filesystem-routing/issues"},"dist":{"shasum":"48c357a9288f70a92720d2c91b8653727d4a5098","tarball":"https://registry.npmjs.org/react-fs-router/-/react-fs-router-2.0.1.tgz","fileCount":58,"integrity":"sha512-kp5v0aXxu0PQGo13V18mLFoskvnoL2KP5MBRLwA/sllCAedh3W9HKLEw3dBhgwPyhBxqmfK2Hphxc7qW56CRYA==","signatures":[{"sig":"MEUCIFHgZMjichGP1p2626DvB5sZ5o7jlLHkUs9TM2PgS2oUAiEAvA7O0j9Wye6jjNgpnMedZLoo+NWQkd3rRM4O1eF3oLY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFMTUV7RKeUpT9AnHppO39ejTw4OxTsoIMhucVxenvoCAiEAtWG4dp8FU1ayC1ziiPKi5XhoZKsQHpvipN5KbhxI3/o="}],"unpackedSize":124769},"main":"./dist/index.js","name":"react-fs-router","type":"module","types":"./dist/index.d.ts","author":{"name":"Mehran Zahiroddini"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./render":{"types":"./dist/render.d.ts","import":"./dist/render.js"},"./webpack":{"types":"./dist/webpack.d.ts","import":"./dist/webpack.js"},"./adapters/custom":{"types":"./dist/adapters/custom.d.ts","import":"./dist/adapters/custom.js"},"./adapters/tanstack":{"types":"./dist/adapters/tanstack.d.ts","import":"./dist/adapters/tanstack.js"},"./adapters/react-router":{"types":"./dist/adapters/react-router.d.ts","import":"./dist/adapters/react-router.js"}},"gitHead":"d9b1d9fac5903e7ec8c9ff409e84055b5bc57a1e","license":"MIT","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","pretest":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"version":"2.0.1","_npmUser":{"name":"mehranzhs","email":"mehranzahir@Outlook.com"},"homepage":"https://github.com/Mehran9675/react-filesystem-routing#readme","keywords":["react","file-system","routing","react-router","tanstack-router","vite","webpack"],"repository":{"url":"git+https://github.com/Mehran9675/react-filesystem-routing.git","type":"git"},"_npmVersion":"12.0.1","description":"Config-driven, adapter-pluggable file-system routing for React.","directories":{},"maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"_nodeVersion":"26.5.0","dependencies":{"chokidar":"^3.6.0","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.11","jsdom":"^25.0.1","react":"^18.3.1","vitest":"^2.1.8","webpack":"^5.95.0","react-dom":"^18.3.1","typescript":"^5.7.2","@types/node":"^22.10.2","@types/react":"^18.3.12","react-router":"^7.0.0","esbuild-loader":"^4.2.2","@types/react-dom":"^18.3.1","@tanstack/react-router":"^1.170.33","@testing-library/react":"^16.1.0"},"peerDependencies":{"react":">=17","react-router":">=7","@tanstack/react-router":">=1"},"peerDependenciesMeta":{"react":{"optional":true},"react-router":{"optional":true},"@tanstack/react-router":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-fs-router_2.0.1_1789256893816_0.39103626592882845"}}},"time":{"created":"2021-10-13T10:21:39.352Z","modified":"2026-09-12T23:48:14.438Z","0.1.3":"2021-10-13T10:21:39.492Z","0.1.0":"2021-10-13T10:25:00.545Z","0.1.4":"2021-10-13T10:30:57.854Z","0.1.5":"2021-10-13T10:36:04.792Z","0.2.0":"2021-10-13T11:45:32.501Z","0.2.2":"2021-10-13T11:57:18.140Z","0.2.3":"2021-10-13T12:07:04.146Z","0.2.4":"2021-10-13T12:18:01.099Z","0.2.5":"2021-10-13T12:42:30.747Z","0.2.6":"2021-10-13T13:04:01.155Z","0.2.7":"2021-10-13T13:09:54.241Z","0.2.8":"2021-10-13T13:38:54.572Z","0.2.9":"2021-10-13T15:04:17.072Z","0.2.10":"2021-10-13T15:38:07.045Z","0.2.11":"2021-10-13T19:23:36.919Z","0.2.12":"2021-10-13T19:28:13.093Z","0.2.13":"2021-10-13T19:32:05.054Z","0.2.14":"2021-10-13T19:34:38.712Z","0.2.15":"2021-10-15T00:12:37.379Z","0.2.16":"2021-10-15T00:17:49.803Z","0.2.17":"2021-10-16T20:01:09.977Z","0.2.18":"2021-10-16T20:05:57.709Z","0.2.19":"2021-10-16T20:12:46.806Z","0.2.20":"2021-10-16T21:56:36.280Z","1.0.0":"2021-11-28T23:45:45.281Z","1.0.1":"2021-11-28T23:52:22.543Z","1.0.11":"2022-08-29T16:10:04.012Z","1.0.12":"2022-08-29T16:16:22.814Z","1.0.13":"2022-09-12T11:51:56.792Z","2.0.0":"2026-09-07T11:00:30.804Z","2.0.1":"2026-09-12T23:48:13.893Z"},"bugs":{"url":"https://github.com/Mehran9675/react-filesystem-routing/issues"},"author":{"name":"Mehran Zahiroddini"},"license":"MIT","homepage":"https://github.com/Mehran9675/react-filesystem-routing#readme","keywords":["react","file-system","routing","react-router","tanstack-router","vite","webpack"],"repository":{"url":"git+https://github.com/Mehran9675/react-filesystem-routing.git","type":"git"},"description":"Config-driven, adapter-pluggable file-system routing for React.","maintainers":[{"name":"mehranzhs","email":"mehranzahir@Outlook.com"}],"readme":"# 🗺️ react-fs-router\r\n\r\n> Config-driven, adapter-pluggable file-system routing for React.\r\n\r\nStop hand-writing route tables. Put a file in your pages folder, run the\r\ngenerator, and boom 💥 — you have a route. `react-fs-router` scans a directory\r\nof page files, builds a route tree for you, and writes out a single module that\r\nplugs straight into your favorite routing solution — React Router, TanStack\r\nRouter, or whatever router you like.\r\n\r\nThe best part? **You stay in control.** The generated module is plain, readable\r\ncode that imports *your* files and exports the pieces you need. No runtime\r\nmagic, no hidden conventions.\r\n\r\n---\r\n\r\n## 📚 What's inside\r\n\r\n- [Why would I use this?](#-why-would-i-use-this)\r\n- [Installation](#-installation)\r\n- [Quick start](#-quick-start)\r\n- [How it works](#-how-it-works)\r\n- [File conventions](#-file-conventions)\r\n- [Dynamic segments & route syntax](#-dynamic-segments--route-syntax)\r\n- [Layouts](#-layouts)\r\n- [Data functions (`loader` / `action`)](#-data-functions-loader--action)\r\n- [Custom function wrappers](#-custom-function-wrappers)\r\n- [Generated output](#-generated-output)\r\n- [The `ROUTES` navigation map](#-the-routes-navigation-map)\r\n- [Router adapters](#-router-adapters)\r\n- [CLI & plugins](#-cli--plugins)\r\n---\r\n\r\n## 🤔 Why would I use this?\r\n\r\nRouting by filesystem is a lovely idea on paper, but most routers need you to\r\nhand-write a matching route tree somewhere — and then keep it in sync forever.\r\n`react-fs-router` flips that around:\r\n\r\n- 📂 **Your files are the source of truth.** `pages/about.tsx` *is* `/about`.\r\n- 🔌 **Bring your own router.** Works with React Router (default), TanStack\r\n  Router, or any custom solution through small adapters.\r\n- 🧩 **Composable wrappers.** `loading`, `error`, `guard`, `shell` — any file\r\n  name can become a wrapper around your page instead of a page itself.\r\n- 📦 **One generated module.** Imports everything, exports routes + a ready\r\n  `Router` component you can drop into `main.tsx` in seconds.\r\n- 🧭 **Typed-feeling navigation.** The generated `ROUTES` map gives you\r\n  constants like `ROUTES.ABOUT` and dynamic builders like\r\n  `ROUTES.USERS_ID(14)` — no more stringly-typed URLs scattered around.\r\n- 🚧 **Sensible ignore rules.** Files starting with `_` (like `_private.tsx` or\r\n  a `_components` folder) are never turned into routes — configurable, of\r\n  course.\r\n- ⚡ **Works with your toolchain.** Use the CLI, a Vite plugin, or a webpack\r\n  plugin — including watch mode while you develop.\r\n\r\n---\r\n\r\n## 📦 Installation\r\n\r\n```bash\r\nnpm install react-fs-router\r\n```\r\n\r\nThen install the router you plan to use. `react-fs-router` treats routers as\r\noptional peers, so it never forces one on you.\r\n\r\n### If you're using React Router (the default) 🧭\r\n\r\nReact Router v7+ — note that v7 merged `react-router-dom` into\r\n`react-router`, so that's the package you want:\r\n\r\n```bash\r\nnpm install react-router\r\n```\r\n\r\n### If you're using TanStack Router ⚡\r\n\r\n```bash\r\nnpm install @tanstack/react-router\r\n```\r\n\r\nThat's it. Each router package is an **optional** peer dependency — install\r\nonly the ones you actually use.\r\n\r\n> 💡 **Tip:** If you load your config from a `.ts` file, you'll need Node\r\n> **20.6 or later** (it uses native TypeScript loading). On older Node, write\r\n> `rfr.config.js` instead.\r\n\r\n---\r\n\r\n## 🚀 Quick start\r\n\r\nLet's build a tiny app together. This is the whole setup:\r\n\r\n### ⚡ Vite plugin\r\n\r\n```ts\r\n// vite.config.ts\r\nimport { reactFsRouter } from \"react-fs-router/vite\";\r\n\r\nexport default {\r\n  plugins: [reactFsRouter({ userConfig: { pages: \"src/pages\" } })],\r\n};\r\n```\r\n\r\n### 📦 Webpack plugin\r\n\r\n```js\r\n// webpack.config.js\r\nconst { ReactFsRouterWebpackPlugin } = require(\"react-fs-router/webpack\");\r\n\r\nmodule.exports = {\r\n  plugins: [new ReactFsRouterWebpackPlugin({ userConfig: { pages: \"src/pages\" } })],\r\n};\r\n```\r\n\r\n### CLI (any toolchain)\r\n\r\n```bash\r\nnpx rfr --input src/pages --output src --adapter react-router\r\n```\r\n\r\nOptions:\r\n\r\n| Flag | Description |\r\n| --- | --- |\r\n| `-i, --input <dir>` | Pages directory (overrides config) |\r\n| `-c, --config <file>` | Config file path (default `rfr.config.ts`) |\r\n| `-o, --output <dir>` | Output directory (overrides config) |\r\n| `-a, --adapter <name>` | Routing adapter to use |\r\n| `-w, --watch` | Watch and regenerate on changes |\r\n| `-b, --build` | Generate once and exit (default) |\r\n\r\n\r\n\r\n### 1. Create a config file\r\n\r\n```ts\r\n// rfr.config.ts\r\nimport { defineConfig } from \"react-fs-router\";\r\n\r\nexport default defineConfig({\r\n  pages: \"src/pages\",        // 📂 where your page files live\r\n  outDir: \"src\",             // 📤 where the generated file goes\r\n  outFileName: \"routes.tsx\", // 📄 name of the generated file\r\n});\r\n```\r\n\r\nDon't worry about the options yet — the defaults are sensible and everything is\r\nexplained below.\r\n\r\n### 2. Write some pages 📝\r\n\r\n```\r\nsrc/pages/\r\n├── index.tsx        →  /\r\n├── about.tsx        →  /about\r\n├── layout.tsx       →  wraps every page (renders your nav/header)\r\n└── users/\r\n    ├── index.tsx    →  /users\r\n    └── [id].tsx     →  /users/:id\r\n```\r\n\r\n```tsx\r\n// src/pages/about.tsx\r\nexport default function About() {\r\n  return <h1>About us 🎉</h1>;\r\n}\r\n```\r\n\r\n### 3. Generate 🪄\r\n\r\n```bash\r\nnpx rfr\r\n```\r\n\r\nThis scans `src/pages` and writes `src/routes.tsx`. Run it once, or use watch\r\nmode while developing (`npx rfr --watch`).\r\n\r\n### 4. Render 🖥️\r\n\r\nThe generated file has a default `Router` component that already wires up a\r\nReact Router data router. Just render it:\r\n\r\n```tsx\r\n// src/main.tsx\r\nimport { createRoot } from \"react-dom/client\";\r\nimport Router from \"./routes\";\r\n\r\ncreateRoot(document.getElementById(\"root\")!).render(<Router />);\r\n```\r\n\r\nAnd you're live! 🎊 Navigate to `/about` and your page shows up. If you prefer\r\nTanStack Router, only two lines change — jump to\r\n[Router adapters](#-router-adapters) to see all the options.\r\n\r\n---\r\n\r\n## ⚙️ How it works\r\n\r\nUnder the hood there are just three steps:\r\n\r\n1. **Scan** 🔎 — a file system walker reads your pages directory using the\r\n   conventions you configure (file extensions, ignore rules, function names).\r\n2. **Build a tree** 🌳 — files and folders become a route tree. Directories\r\n   become groups, `index` files become their folder's page, `layout` files\r\n   become wrappers, and so on.\r\n3. **Generate** ✍️ — one module is written (default `routes.tsx`) that imports\r\n   your pages/layouts/loaders and exports the pieces documented in\r\n   [Generated output](#-generated-output).\r\n\r\nThe generator is fully deterministic: the same folder plus the same config\r\nalways produces the same file. If anything looks surprising, just open the\r\ngenerated file — it's your code to read and tweak.\r\n\r\n---\r\n\r\n## 📁 File conventions\r\n\r\n| File | Purpose |\r\n| --- | --- |\r\n| `index.tsx` | The page **for its folder**. `pages/index.tsx` → `/`. |\r\n| `layout.tsx` | A **layout wrapper** for the folder. Must render an `<Outlet />` (or its `children`). |\r\n| `loading.tsx`, `error.tsx`, or any mapped function | A **wrapper component**. Must render its `children`. |\r\n| `loader.ts`, `action.ts` | **Data functions** attached to the route (export a function, not a component). |\r\n| `about.tsx` | A **leaf route** → `/about`. |\r\n| `users/[id].tsx` | A **dynamic segment** → `/users/:id` with React Router syntax. |\r\n| `docs/[...slug].tsx` | A **catch-all segment** → `/docs/*slug` with React Router syntax. |\r\n\r\nA few things worth knowing:\r\n\r\n- A single page file is also a route path (`pages/about.tsx` → `/about`).\r\n- Folders define hierarchy — **every directory under `pages` is a route path**.\r\n- A folder's `index.tsx` is the route for the folder itself; other files inside\r\n  become its children. You can have a page *and* children at the same URL — the\r\n  `index` page renders at the folder's path while child routes render deeper.\r\n\r\n### 🚫 Ignoring files\r\n\r\n- Files and directories starting with `_` are ignored **by default**\r\n  (`_private.tsx`, `_components`). The prefix is configurable via\r\n  `ignorePrefix`; set it to `\"\"` to disable ignoring entirely.\r\n- Dot-prefixed files/directories (`.hidden`) are also ignored by default —\r\n  turn that off with `ignoreDotFiles: false`.\r\n- Ignore extra names with `ignore: [\"helpers\"]`.\r\n\r\nThe resolved prefix is exported from the generated module, so your app can\r\nalways read the actual \"ignore marker\" without guessing:\r\n\r\n- `routingMeta` contains the full resolved settings (`ignorePrefix`, adapter,\r\n  and friends).\r\n- `ignoreIdentifier` is the standalone ignore prefix (`\"_\"` by default).\r\n\r\n### 📋 Configuration reference\r\n\r\nCreate `rfr.config.ts` (or `.js`) at your project root. Here's every option\r\nwith a friendly explanation:\r\n\r\n```ts\r\nimport { defineConfig } from \"react-fs-router\";\r\n\r\nexport default defineConfig({\r\n  pages: \"src/pages\",        // directory to scan 📂\r\n  outDir: \"src\",             // where to write the generated routes file 📤\r\n  outFileName: \"routes.tsx\", // generated file name 📄\r\n  adapter: \"react-router\",   // \"react-router\" | \"tanstack-router\" | \"custom\" 🔌\r\n\r\n  // Map file names to wrapper functions. A file whose base name maps to a\r\n  // function is treated as an add-on instead of a route.\r\n  functions: {\r\n    layout: \"layout\",\r\n    loading: \"loading\",\r\n    error: \"error\",\r\n    // your own: guard: \"guard\"\r\n  },\r\n\r\n  // Map file names to data functions (loader, action, ...). These files export\r\n  // a function that is attached to the route rather than a wrapper component.\r\n  loaders: {\r\n    loader: \"loader\",\r\n    action: \"action\",\r\n  },\r\n\r\n  // Whether a parent's layout cascades to layout-less descendants. Default: true.\r\n  inheritLayout: true,\r\n  // Generate the legacy declarative <BrowserRouter> component instead of the\r\n  // default data-router route objects. Default: false.\r\n  legacyBrowserRouter: false,\r\n\r\n  // Files/dirs starting with this prefix are ignored. Default: \"_\".\r\n  ignorePrefix: \"_\",\r\n  // Whether dot-prefixed files/dirs are ignored. Default: true.\r\n  ignoreDotFiles: true,\r\n  extensions: [\".js\", \".jsx\", \".ts\", \".tsx\"],\r\n  ignore: [\"helpers\"],\r\n  importPrefix: \"@/pages\", // optional import alias (replaces relative imports)\r\n\r\n  // Customize how dynamic/catch-all segments are rendered. Defaults come from\r\n  // the selected adapter (react-router: `:id` / `*rest`, tanstack: `$id` / `*rest`).\r\n  formatDynamicSegment: (name) => `:${name}`,\r\n  formatCatchAllSegment: (name) => `*${name}`,\r\n});\r\n```\r\n\r\n`functions` and `loaders` may also be **functions** returning a name or `null`\r\n— handy for fancy rules:\r\n\r\n```ts\r\nexport default {\r\n  pages: \"src/pages\",\r\n  functions: (fileName) => (fileName === \"shell\" ? \"shell\" : null),\r\n};\r\n```\r\n\r\n> 💡 **Note:** `loaders`/`actions` only run in React Router's data-router mode\r\n> (the default). The legacy `<BrowserRouter>` mode and the TanStack adapter\r\n> don't translate them — see the adapter sections for details.\r\n\r\n---\r\n\r\n## 🔀 Dynamic segments & route syntax\r\n\r\nSquare brackets in file names mark *dynamic* data, and the path syntax adapts\r\nto whatever router you selected:\r\n\r\n| File | React Router | TanStack Router |\r\n| --- | --- | --- |\r\n| `pages/users/[id].tsx` | `/users/:id` | `/users/$id` |\r\n| `pages/docs/[...slug].tsx` | `/docs/*slug` | `/docs/*slug` → `$` splat route |\r\n\r\nEvery dynamic segment becomes a **parameter** you can read inside your page\r\nwith the router's normal hooks (`useParams`, `useLoaderData`, and friends). For\r\nTanStack, catch-alls are converted to TanStack's `$` splat route automatically\r\nby the adapter — you don't need to think about it. 🎩\r\n\r\nWant different syntax? Override it with `formatDynamicSegment` /\r\n`formatCatchAllSegment` in your config.\r\n\r\n---\r\n\r\n## 🖼️ Layouts\r\n\r\nA `layout` file wraps the folder's **child routes**. Think: header + footer +\r\nsidebar that stays mounted while you navigate between the pages inside that\r\nfolder.\r\n\r\nChild routes render through the layout's outlet, so **your layout must render\r\nan `<Outlet />`** — or, equivalently, render its `children` prop (the library\r\npasses the outlet element through as `children`):\r\n\r\n```tsx\r\n// pages/layout.tsx\r\nimport { Outlet } from \"react-router\";\r\n\r\nexport default function RootLayout() {\r\n  return (\r\n    <div>\r\n      <header>My app 🧡</header>\r\n      <Outlet /> {/* child routes render here */}\r\n    </div>\r\n  );\r\n}\r\n```\r\n\r\nThe same thing using `children`:\r\n\r\n```tsx\r\nexport default function RootLayout({ children }: { children?: React.ReactNode }) {\r\n  return (\r\n    <div>\r\n      <header>My app 🧡</header>\r\n      {children}\r\n    </div>\r\n  );\r\n}\r\n```\r\n\r\nIf the layout never renders an outlet (or `children`), child pages will not\r\nappear — so don't forget it! 😉\r\n\r\n### 🪆 Layout inheritance\r\n\r\nBy default, a parent's layout **cascades** to descendants that don't define\r\ntheir own layout. A descendant that *does* define its own layout replaces\r\n(overrides) the parent's rather than nesting inside it.\r\n\r\nSet `inheritLayout: false` to disable cascading — then a layout only wraps its\r\nown `index` page and never its descendants.\r\n\r\n---\r\n\r\n## 🔋 Data functions (`loader` / `action`)\r\n\r\nFiles mapped in `loaders` export a plain **function** (not a component). They\r\nare attached to the route's `loader`/`action` and executed by a React Router\r\ndata router. The result is available in the page via `useLoaderData()` /\r\n`useActionData()` — perfect for data fetching with loading states:\r\n\r\n```ts\r\n// pages/users/loader.ts\r\nexport async function loader({ params }: { params: { id: string } }) {\r\n  return { id: params.id };\r\n}\r\n```\r\n\r\n```tsx\r\n// pages/users/[id].tsx\r\nimport { useLoaderData } from \"react-router\";\r\n\r\nexport default function User() {\r\n  const data = useLoaderData() as { id: string };\r\n  return <div>{data.id}</div>;\r\n}\r\n```\r\n\r\nA directory's `loader`/`action` is attached to its `index` page so\r\n`useLoaderData()` works there. If the directory has no `index`, the data\r\nfunctions are attached to the group route so they still run for child\r\nnavigations.\r\n\r\n---\r\n\r\n## 🧩 Custom function wrappers\r\n\r\nThe `functions` map turns file names into **wrapper components**. `layout`,\r\n`loading`, and `error` are enabled by default; add names such as `guard` or\r\n`shell`, and files like `pages/account/guard.tsx` are treated as wrappers\r\ninstead of routes.\r\n\r\n### What a wrapper can do\r\n\r\n- 🎨 Render surrounding UI — spinners, banners, error panels, or content chrome\r\n  around the page.\r\n- 🚪 **Gate access**: return `<Navigate to={ROUTES.LOGIN} replace />` (or\r\n  `null`) instead of rendering `children` when a guard fails.\r\n- 🧠 Provide context to the page, e.g.\r\n  `<SettingsContext.Provider value={settings}>{children}</SettingsContext.Provider>`.\r\n- 🧭 Observe navigation with hooks such as `useLocation()` / `useParams()` and\r\n  change what it renders per location.\r\n- 🛡️ Act as an error boundary (a class component) or suspense boundary by\r\n  wrapping `children`.\r\n\r\nHere's a classic auth guard:\r\n\r\n```tsx\r\n// pages/account/guard.tsx\r\n// config: functions: { layout: \"layout\", guard: \"guard\" }\r\nimport { Navigate, useLocation } from \"react-router\";\r\nimport { ROUTES } from \"./routes\";\r\n\r\nexport default function Guard({ children }: { children?: React.ReactNode }) {\r\n  const location = useLocation();\r\n  if (!isAuthenticated()) {\r\n    return <Navigate to={ROUTES.LOGIN} state={{ from: location }} replace />;\r\n  }\r\n  return <>{children}</>;\r\n}\r\n```\r\n\r\n### 📨 Props a wrapper receives\r\n\r\nA wrapper receives exactly one prop: `children: ReactNode`. `children` is the\r\npage element — or, when several wrappers exist on the same route, the page\r\nalready wrapped by the inner wrappers. A wrapper **must render `children`**\r\nunless it intentionally replaces it (as the guard above does).\r\n\r\nWrappers do *not* receive route params, `request`, or `context`; read those\r\nwith hooks (`useParams`, `useLocation`, `useLoaderData`, ...) instead. And\r\nremember: `loading.tsx`/`error.tsx` don't automatically react to router loading\r\nor error state — they're ordinary wrappers. Use `useNavigation` /\r\n`useRouteError` inside them to respond to those states.\r\n\r\n### 🪢 Wrapper chain\r\n\r\nMultiple mapped files for the same route nest as a **chain** around the page,\r\nin scan order: the last file processed becomes the outermost wrapper. Each\r\nwrapper only needs to render its `children`, so chains compose naturally.\r\n\r\n### 🧱 Layouts vs wrappers\r\n\r\nA `layout` also comes from the `functions` map, but it's special-cased: a\r\nlayout wraps the folder's *child routes* through an outlet and stays mounted\r\nwhile you navigate between those children. A custom wrapper wraps a single\r\n*page* (a directory `index` or a leaf file) only.\r\n\r\n### 🔄 Lifecycle\r\n\r\n1. In the default data-router mode, the router runs the route's\r\n   `loader`/`action` before rendering (see data functions above).\r\n2. When a route matches, React mounts the component tree from the outside in:\r\n   parent layouts render first, each page renders inside its parent's outlet,\r\n   and the page renders inside its wrapper chain — outermost layout →\r\n   wrapper(s) → page.\r\n3. A wrapper mounts together with the page it wraps and unmounts when you\r\n   navigate away from that page. Per-page state (form input, scroll position,\r\n   timers) belongs here and resets on leave. State that should survive\r\n   navigation between sibling pages belongs in a `layout` or a context\r\n   provider higher up.\r\n4. Navigating between dynamic values of the same route (`/users/1` →\r\n   `/users/2`) **re-renders** the same mounted component instead of remounting\r\n   it, so write effects against `useParams()` / `useLocation()`. If you need a\r\n   full remount per param change, wrap `children` in a keyed element from\r\n   inside the wrapper, e.g.\r\n   `<Fragment key={params.id}>{children}</Fragment>`.\r\n\r\n> ⚠️ Wrappers render *inside* the layout's outlet, never before it — a wrapper\r\n> cannot prevent its layout from rendering. To guard an entire subtree before\r\n> any of its content shows, put the wrapper higher up the tree or in the root\r\n> `layout`.\r\n\r\n---\r\n\r\n## 📦 Generated output\r\n\r\nThe generated file (default `routes.tsx`) exports:\r\n\r\n- `routes` — the runtime route entries used by the component.\r\n- `routeObjects` — (React Router only) resolved route objects with\r\n  `loader`/`action` attached. In the default mode this is ready for\r\n  `createBrowserRouter`; in legacy mode it is ready for `useRoutes`.\r\n- `routeTree` — (TanStack Router only) the resolved TanStack Router route tree,\r\n  ready for `createRouter`; the default `Router` component renders it.\r\n- `routesMeta` — a serializable route tree (paths plus function/loader file\r\n  specifiers).\r\n- `routingMeta` — the resolved routing settings (adapter, `ignorePrefix`,\r\n  `ignoreDotFiles`, `ignore`, `inheritLayout`, `legacyBrowserRouter`).\r\n- `ignoreIdentifier` — the resolved ignore prefix (the leading character that\r\n  marks a file as ignored; `\"_\"` by default).\r\n- `ROUTES` — a navigation map of every addressable page path. Static paths are\r\n  string constants; dynamic paths are functions that build the URL from their\r\n  arguments (see below). 🧭\r\n- A `default` export — the single `FileSystemRouter` component.\r\n\r\n---\r\n\r\n## 🧭 The `ROUTES` navigation map\r\n\r\nStop hard-coding URLs. Use `ROUTES` instead of stringly-typed paths for links\r\nand programmatic navigation. Keys are the uppercase path segments joined with\r\n`_`; the root index route is `HOME`. Dynamic segments (and their catch-alls)\r\nbecome function arguments in path order:\r\n\r\n| File | Generated entry |\r\n| --- | --- |\r\n| `pages/index.tsx` | `ROUTES.HOME === \"/\"` |\r\n| `pages/about.tsx` | `ROUTES.ABOUT === \"/about\"` |\r\n| `pages/users/index.tsx` | `ROUTES.USERS === \"/users\"` |\r\n| `pages/users/[id].tsx` | `ROUTES.USERS_ID(14) === \"/users/14\"` |\r\n| `pages/docs/[...slug].tsx` | `ROUTES.DOCS_SLUG(\"guides\", \"intro\") === \"/docs/guides/intro\"` |\r\n\r\n```tsx\r\nimport { Link } from \"react-router\";\r\nimport { ROUTES } from \"./routes\";\r\n\r\n<Link to={ROUTES.USERS_ID(14)}>User 14</Link>;\r\n```\r\n\r\nBeautiful, type-safe-ish navigation with zero extra tooling. ✨\r\n\r\n---\r\n\r\n## 🔌 Router adapters\r\n\r\nThis is where `react-fs-router` shines: the *same* page folder can target\r\ndifferent routers, and the generated module changes accordingly.\r\n\r\n### 🧭 React Router (default)\r\n\r\nBy default the generated module targets React Router's **data router** API. It\r\nexports `routeObjects` — ready for `createBrowserRouter` — and a default\r\n`Router` component that renders a data router directly. Loaders/actions work\r\nout of the box. 🎉\r\n\r\n```tsx\r\n// main.tsx\r\nimport { createRoot } from \"react-dom/client\";\r\nimport { createBrowserRouter, RouterProvider } from \"react-router\";\r\nimport { routeObjects } from \"./routes\";\r\n\r\nconst router = createBrowserRouter(routeObjects);\r\n\r\ncreateRoot(document.getElementById(\"root\")!).render(\r\n  <RouterProvider router={router} />,\r\n);\r\n```\r\n\r\nOr use the generated default component (it already wraps a data router):\r\n\r\n```tsx\r\n// main.tsx\r\nimport { createRoot } from \"react-dom/client\";\r\nimport Router from \"./routes\";\r\n\r\ncreateRoot(document.getElementById(\"root\")!).render(<Router />);\r\n```\r\n\r\n#### Legacy: `<BrowserRouter>` (opt-in)\r\n\r\nPrefer the older declarative API (`<BrowserRouter>` + `useRoutes`)? Set\r\n`legacyBrowserRouter: true` in config. The generated default component then\r\nrenders via `useRoutes` and must be placed inside a `<BrowserRouter>`:\r\n\r\n```tsx\r\n// main.tsx\r\nimport { createRoot } from \"react-dom/client\";\r\nimport { BrowserRouter } from \"react-router\";\r\nimport Router from \"./routes\";\r\n\r\ncreateRoot(document.getElementById(\"root\")!).render(\r\n  <BrowserRouter>\r\n    <Router />\r\n  </BrowserRouter>,\r\n);\r\n```\r\n\r\n> ⚠️ Note: the legacy declarative mode ignores `loader`/`action` data\r\n> functions. Use the default data-router mode when you need loaders.\r\n\r\n### ⚡ TanStack Router\r\n\r\nTanStack Router is wired up the same easy way. Set\r\n`adapter: \"tanstack-router\"` in your config. Files are still written with\r\nsquare brackets; dynamic files map to TanStack Router's `$param` routes and\r\ncatch-all files map to TanStack Router's `$` splat routes:\r\n\r\n| File | TanStack route |\r\n| --- | --- |\r\n| `pages/index.tsx` | `/` |\r\n| `pages/about.tsx` | `/about` |\r\n| `pages/users/[id].tsx` | `/users/$id` |\r\n| `pages/docs/[...slug].tsx` | `/docs/$` |\r\n\r\nInternally the resolved tree keeps the adapter-neutral `*rest` catch-all syntax\r\n(also used by `ROUTES`); `toTanstackRouteTree` rewrites it to TanStack's `$`\r\nsplat route for you. 🎩\r\n\r\n```ts\r\n// rfr.config.ts\r\nimport { defineConfig } from \"react-fs-router\";\r\n\r\nexport default defineConfig({\r\n  pages: \"src/pages\",\r\n  adapter: \"tanstack-router\",\r\n});\r\n```\r\n\r\nThe generated module exports `routes`, `routesMeta`, `ROUTES`, `routingMeta`,\r\n`ignoreIdentifier`, and `routeTree` — a ready-made TanStack Router route tree —\r\nplus a default `Router` component that builds a TanStack Router from it and\r\nrenders it. First install the router peer package:\r\n\r\n```bash\r\nnpm install @tanstack/react-router\r\n```\r\n\r\nThen render the default component:\r\n\r\n```tsx\r\n// main.tsx\r\nimport { createRoot } from \"react-dom/client\";\r\nimport Router from \"./routes\";\r\n\r\ncreateRoot(document.getElementById(\"root\")!).render(<Router />);\r\n```\r\n\r\nWant the router instance yourself? Use the exported `routeTree` with TanStack\r\nRouter's `createRouter` and `RouterProvider`:\r\n\r\n```tsx\r\n// main.tsx\r\nimport { createRoot } from \"react-dom/client\";\r\nimport { RouterProvider, createHashHistory, createRouter } from \"@tanstack/react-router\";\r\nimport { routeTree } from \"./routes\";\r\n\r\nconst router = createRouter({ routeTree, history: createHashHistory() });\r\n\r\ncreateRoot(document.getElementById(\"root\")!).render(\r\n  <RouterProvider router={router} />,\r\n);\r\n```\r\n\r\n`toTanstackRouteTree` (exported from `react-fs-router/adapters/tanstack`) is the\r\nconversion behind `routeTree`: it maps resolved routes into TanStack\r\n`createRoute` entries, applies root/layout wrappers, converts dynamic segments\r\n(`[id]` → `$id`) and catch-alls (`*rest` → `$` splat), and renders through a\r\n`RouterProvider`.\r\n\r\n> 💡 `loader`/`action` files are not translated to TanStack loaders — those\r\n> belong on your own TanStack route definitions. The tree is built at runtime,\r\n> so `params`/`search` are not statically typed; register file routes with\r\n> TanStack's codegen (`routeTree.gen.ts` + `createFileRoute`) when you want\r\n> full type safety.\r\n\r\n### 🎨 Bring your own router (`custom`)\r\n\r\nFor any other routing solution, use the generated `routes` plus a\r\n`renderRoutes` callback (or `createCustomAdapter` from\r\n`react-fs-router/adapters/custom`):\r\n\r\n```tsx\r\nimport Router from \"./routes\";\r\n\r\n<Router\r\n  renderRoutes={(resolvedRoutes) => (\r\n    <MyRouter routes={resolvedRoutes} />\r\n  )}\r\n/>;\r\n```\r\n\r\nRegister your own adapter:\r\n\r\n```ts\r\nimport { defineAdapter } from \"react-fs-router\";\r\n\r\ndefineAdapter(\"my-router\", ({ routes }) => <MyRoutes routes={routes} />);\r\n```\r\n\r\n\r\n## 📜 License\r\n\r\n[MIT](https://choosealicense.com/licenses/mit/) — go build something awesome! 🚀\r\n","readmeFilename":"README.md"}