{"_id":"@adamtools/apifinder","_rev":"4-faf608539828a47ae688a2742f520293","name":"@adamtools/apifinder","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@adamtools/apifinder","version":"1.0.0","keywords":["endpoints","documentation","documentation-generator","Apifinder","Endpointscanner","Api","list","Nextjs-Api","api-finder","route-discovery"],"author":{"name":"Adamya Gupta"},"license":"MIT","_id":"@adamtools/apifinder@1.0.0","maintainers":[{"name":"adamtools","email":"adamyagupta.2011@gmail.com"}],"homepage":"https://github.com/Adamya-Gupta/apifinder#readme","bugs":{"url":"https://github.com/Adamya-Gupta/apifinder/issues"},"bin":{"apifinder":"bin/cli.js"},"dist":{"shasum":"8c86509c61a7096e6c83f18f5b1fc8966efa9563","tarball":"https://registry.npmjs.org/@adamtools/apifinder/-/apifinder-1.0.0.tgz","fileCount":4,"integrity":"sha512-/YX8qy+CGNjANeuVdHxzA7X8XIKry6O+DzfRtM4MVCvco/oxwtB4H+hxMLq6PA6foCY1q4dlBsNpI6rX9E9fqw==","signatures":[{"sig":"MEYCIQC+NUp7Wzk5EHnOroG/54Hf5C9HHnmYWt2yUomUCQLOBwIhAKITdMN8Mok1GhF0gNQ4ok1wKoyMAmBqmVzYvKaYTS5P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17649},"main":"index.js","engines":{"node":">=16.0.0"},"gitHead":"25764629533d10ad1aaaa88ab331e22f662126fe","scripts":{"test":"","build":"echo 'No build step required'","prepublishOnly":"npm test"},"_npmUser":{"name":"adamtools","email":"adamyagupta.2011@gmail.com"},"repository":{"url":"git+https://github.com/Adamya-Gupta/apifinder.git","type":"git"},"_npmVersion":"10.9.2","description":"Finds all api endpoints of any nextjs project and adds them into readme.md , makes api documentation easier","directories":{},"_nodeVersion":"22.14.0","dependencies":{"glob":"^11.0.2","chalk":"^4.1.2","fs-extra":"^11.3.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/apifinder_1.0.0_1749651171881_0.6158598759947205","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@adamtools/apifinder","version":"1.0.1","keywords":["endpoints","documentation","documentation-generator","Apifinder","Endpointscanner","Api","list","Nextjs-Api","api-finder","route-discovery"],"author":{"name":"Adamya Gupta"},"license":"MIT","_id":"@adamtools/apifinder@1.0.1","maintainers":[{"name":"adamtools","email":"adamyagupta.2011@gmail.com"}],"homepage":"https://github.com/Adamya-Gupta/apifinder#readme","bugs":{"url":"https://github.com/Adamya-Gupta/apifinder/issues"},"bin":{"apifinder":"bin/cli.js"},"dist":{"shasum":"e3e7216f0c43de6e51bd5811cbc895ed4df012a0","tarball":"https://registry.npmjs.org/@adamtools/apifinder/-/apifinder-1.0.1.tgz","fileCount":4,"integrity":"sha512-bamrhTIK4+aMc6cUv75DBIXySmBCGOiHtioBkBGeybyrt3aGGhMVTQAaOxX4s1ihBKVCuwBBhaMAbbCCGcW34A==","signatures":[{"sig":"MEUCIQD6zEtmrLqasbVQu7YI9FgkVsKEGpJYqEwtNxh9SkUQeAIgZ31lIijE0wihNtATyD3u+yCULnlcbVg/GN1RRZY+1mA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17726},"main":"index.js","engines":{"node":">=16.0.0"},"gitHead":"25764629533d10ad1aaaa88ab331e22f662126fe","scripts":{"test":"","build":"echo 'No build step required'","prepublishOnly":"npm test"},"_npmUser":{"name":"adamtools","email":"adamyagupta.2011@gmail.com"},"repository":{"url":"git+https://github.com/Adamya-Gupta/apifinder.git","type":"git"},"_npmVersion":"10.9.2","description":"Finds all api endpoints of any nextjs project and adds them into readme.md , makes api documentation easier","directories":{},"_nodeVersion":"22.14.0","dependencies":{"glob":"^11.0.2","chalk":"^4.1.2","fs-extra":"^11.3.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/apifinder_1.0.1_1749651772361_0.7173013799067474","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@adamtools/apifinder","version":"1.0.2","keywords":["endpoints","documentation","documentation-generator","Apifinder","Endpointscanner","Api","list","Nextjs-Api","api-finder","route-discovery"],"author":{"name":"Adamya Gupta"},"license":"MIT","_id":"@adamtools/apifinder@1.0.2","maintainers":[{"name":"adamtools","email":"adamyagupta.2011@gmail.com"}],"homepage":"https://github.com/Adamya-Gupta/apifinder#readme","bugs":{"url":"https://github.com/Adamya-Gupta/apifinder/issues"},"bin":{"apifinder":"bin/cli.js"},"dist":{"shasum":"7ee81d508e6d2b0d0f2b6f49f2485c7a394439be","tarball":"https://registry.npmjs.org/@adamtools/apifinder/-/apifinder-1.0.2.tgz","fileCount":4,"integrity":"sha512-/iEukuylzXkfG54Trasq6a5up7wnRfJSXQKGczq4EmmICtmFlN/8cgEE1vMUc1fEobuuLGMX0ClIvwPcQ4Mgjw==","signatures":[{"sig":"MEQCIHeaLtDmUYzvy5dA3PZgUdYIWlVKHvIUuG4KzVDlgVbcAiBEZQ6tOVV23wn7iIklu7Vqdm1WSEDKvzEkua6h5shP7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17542},"main":"index.js","engines":{"node":">=16.0.0"},"gitHead":"a55437dc57e3cbcc9bafd74661ed90b43f75b50c","scripts":{"test":"","build":"echo 'No build step required'","prepublishOnly":"npm test"},"_npmUser":{"name":"adamtools","email":"adamyagupta.2011@gmail.com"},"repository":{"url":"git+https://github.com/Adamya-Gupta/apifinder.git","type":"git"},"_npmVersion":"10.9.2","description":"Finds all api endpoints of any nextjs project and adds them into readme.md , makes api documentation easier","directories":{},"_nodeVersion":"22.14.0","dependencies":{"glob":"^11.0.2","chalk":"^4.1.2","fs-extra":"^11.3.0","commander":"^14.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/apifinder_1.0.2_1749653700684_0.1860739837863643","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@adamtools/apifinder","version":"1.0.3","description":"Finds all api endpoints of any nextjs project and adds them into README.md , makes api documentation easier","main":"index.js","bin":{"apifinder":"bin/cli.js"},"scripts":{"test":"","build":"echo 'No build step required'","prepublishOnly":"npm test"},"repository":{"type":"git","url":"git+https://github.com/Adamya-Gupta/Apifinder.git"},"keywords":["endpoints","documentation","api-documentation-generator","Apifinder","Endpointscanner","Api-list","Nextjs-Api","api-finder","route-discovery"],"author":{"name":"Adamya Gupta"},"license":"MIT","dependencies":{"chalk":"^4.1.2","commander":"^14.0.0","fs-extra":"^11.3.0","glob":"^11.0.2"},"devDependencies":{"jest":"^30.0.0"},"engines":{"node":">=16.0.0"},"bugs":{"url":"https://github.com/Adamya-Gupta/Apifinder/issues"},"homepage":"https://github.com/Adamya-Gupta/Apifinder#readme","_id":"@adamtools/apifinder@1.0.3","gitHead":"a55437dc57e3cbcc9bafd74661ed90b43f75b50c","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-kU1qSeALHiuZiAKowtRXI5AZaFfG6OwMAiQdWm+1ZvtBKm05dbu39Fr0NX80qloKGM23/qg+L8MNe/hDEVPJOQ==","shasum":"f0f0259f01c1d436b251508adbe69991e9ff31af","tarball":"https://registry.npmjs.org/@adamtools/apifinder/-/apifinder-1.0.3.tgz","fileCount":4,"unpackedSize":17534,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIG7EzwL+OMeY4bhtZAmSR1wffDUoAFIJ8i837P5bvQyLAiB4N46NYQhPDS2kBgtwTXzHax2D+2QDH/anlOsajQO/5w=="}]},"_npmUser":{"name":"adamtools","email":"adamyagupta.2011@gmail.com"},"directories":{},"maintainers":[{"name":"adamtools","email":"adamyagupta.2011@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/apifinder_1.0.3_1749664982237_0.4137895142950019"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-11T14:12:51.768Z","modified":"2025-06-11T18:03:02.584Z","1.0.0":"2025-06-11T14:12:52.049Z","1.0.1":"2025-06-11T14:22:52.541Z","1.0.2":"2025-06-11T14:55:00.861Z","1.0.3":"2025-06-11T18:03:02.422Z"},"bugs":{"url":"https://github.com/Adamya-Gupta/Apifinder/issues"},"author":{"name":"Adamya Gupta"},"license":"MIT","homepage":"https://github.com/Adamya-Gupta/Apifinder#readme","keywords":["endpoints","documentation","api-documentation-generator","Apifinder","Endpointscanner","Api-list","Nextjs-Api","api-finder","route-discovery"],"repository":{"type":"git","url":"git+https://github.com/Adamya-Gupta/Apifinder.git"},"description":"Finds all api endpoints of any nextjs project and adds them into README.md , makes api documentation easier","maintainers":[{"name":"adamtools","email":"adamyagupta.2011@gmail.com"}],"readme":"﻿# ApiFinder\r\n\r\nAutomatically discover and document Next.js API endpoints by analyzing your project's file structure.\r\nApiFinder scans your Next.js project for API routes in both Pages Router and App Router patterns, extracts HTTP methods, and generates beautiful documentation.\r\n\r\n## CLI Usage \r\n\r\n```bash\r\n# Analyze current directory and update README.md\r\napifinder\r\n\r\n# Analyze specific project path\r\napifinder --path /path/to/your/nextjs-project\r\n\r\n# Output to custom file\r\napifinder --output API_DOCS.md\r\n\r\n# Preview without updating files\r\napifinder --dry-run\r\n\r\n# Get JSON output\r\napifinder --json\r\n```\r\n\r\n## Programmatic Usage\r\n\r\n```javascript\r\nconst { ApiFinder } = require('apifinder');\r\n\r\nasync function analyzeProject() {\r\n  const analyzer = new ApiFinder('./my-nextjs-project');\r\n  const endpoints = await analyzer.analyze();\r\n  \r\n  console.log('Found endpoints:', endpoints);\r\n  \r\n  // Generate markdown table\r\n  const markdownTable = analyzer.generateMarkdownTable();\r\n  console.log(markdownTable);\r\n  \r\n  // Update README.md\r\n  await analyzer.updateReadme();\r\n}\r\n\r\nanalyzeProject();\r\n```\r\n\r\n## Supported Patterns\r\n\r\n### Pages Router\r\n\r\n- pages/api/users.js → /api/users\r\n- pages/api/users/[id].js → /api/users/:id\r\n- pages/api/posts/[...slug].js → /api/posts/*slug\r\n- src/pages/api/auth/login.js → /api/auth/login\r\n\r\n### App Router\r\n- app/api/users/route.js → /api/users\r\n- app/api/users/[id]/route.js → /api/users/:id\r\n- app/api/posts/[...slug]/route.js → /api/posts/*slug\r\n- src/app/api/auth/login/route.js → /api/auth/login\r\n\r\n\r\n## Output Example\r\n\r\nApiFinder generates a table like this in your README:\r\n\r\n| **Route**            | **Methods**      | **File**                                 | **Type**       |\r\n|----------------------|------------------|------------------------------------------|----------------|\r\n| `/api/auth/login`    | POST             | `pages/api/auth/login.js`                | Pages Router   |\r\n| `/api/users`         | GET, POST        | `app/api/users/route.js`                 | App Router     |\r\n| `/api/users/:id`     | GET, PUT, DELETE | `app/api/users/[id]/route.js`            | App Router     |\r\n| `/api/posts/*slug`   | GET              | `pages/api/posts/[...slug].js`           | Pages Router   |\r\n\r\n---\r\n\r\n## Configuration\r\n\r\n### CLI Options\r\n\r\n| **Option**             | **Description**                                  | **Default**    |\r\n|------------------------|--------------------------------------------------|----------------|\r\n| `-p, --path <path>`    | Path to Next.js project                          | Current directory |\r\n| `-o, --output <file>`  | Output README file                               | `README.md`    |\r\n| `--dry-run`            | Show endpoints without updating README           | `false`        |\r\n| `--json`               | Output endpoints as JSON                         | `false`        |\r\n","readmeFilename":"README.md"}