{"_id":"@annatarhe/curl-to-js","_rev":"2-5791f46c31f17a76a64d0a352b07015d","name":"@annatarhe/curl-to-js","dist-tags":{"latest":"0.0.8"},"versions":{"0.0.6":{"name":"@annatarhe/curl-to-js","version":"0.0.6","keywords":["curl","parser","http","request"],"author":{"name":"AnnatarHe"},"license":"MIT","_id":"@annatarhe/curl-to-js@0.0.6","maintainers":[{"name":"annatarhe","email":"iamhele1994@gmail.com"}],"homepage":"https://github.com/AnnatarHe/curl-to-js#readme","bugs":{"url":"https://github.com/AnnatarHe/curl-to-js/issues"},"dist":{"shasum":"b65d08afac7d22738024f5842b731b23ab60decc","tarball":"https://registry.npmjs.org/@annatarhe/curl-to-js/-/curl-to-js-0.0.6.tgz","fileCount":11,"integrity":"sha512-z36DH/DaOzzSluSh7J4BJR0KxmiBdvL5G5MGQ4yPfEtyq6AsLY0SqMH510AYLEBV03xdbeAI4ADXG8Qy34kT9g==","signatures":[{"sig":"MEQCIGzM7BfU2w4bTx1U6HNmLqvUETqKJbsd1+90k1wAnLsRAiBSzygvMmK996SYi2eqzqWnsRdSh1XZXmzvFWXw3Q8yCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10317},"main":"./dist/mod.js","type":"module","types":"./dist/mod.d.ts","exports":{".":{"types":"./dist/mod.d.ts","import":"./dist/mod.js"}},"gitHead":"ae9dcd38539c41ddb08a8479c4a96dfa75e08858","scripts":{"test":"vitest run","build":"esbuild src/mod.ts src/parser.ts src/args.ts src/shellwords.ts --outdir=dist --format=esm --out-extension:.js=.js && tsc --emitDeclarationOnly","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"annatarhe","email":"iamhele1994@gmail.com"},"repository":{"url":"git+https://github.com/AnnatarHe/curl-to-js.git","type":"git"},"_npmVersion":"11.6.2","description":"Parse curl commands into structured JavaScript objects","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.16","esbuild":"^0.24.0","typescript":"^5.7.0","@vitest/coverage-v8":"^4.0.16"},"_npmOperationalInternal":{"tmp":"tmp/curl-to-js_0.0.6_1766820152281_0.32166437045544805","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@annatarhe/curl-to-js","version":"0.0.8","description":"Parse curl commands into structured JavaScript objects","type":"module","main":"./dist/mod.js","types":"./dist/mod.d.ts","exports":{".":{"types":"./dist/mod.d.ts","import":"./dist/mod.js"}},"scripts":{"build":"esbuild src/mod.ts src/parser.ts src/args.ts src/shellwords.ts --outdir=dist --format=esm --out-extension:.js=.js && tsc --emitDeclarationOnly","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm run build"},"repository":{"type":"git","url":"git+https://github.com/AnnatarHe/curl-to-js.git"},"keywords":["curl","parser","http","request"],"author":{"name":"AnnatarHe"},"license":"MIT","devDependencies":{"@vitest/coverage-v8":"^4.0.16","esbuild":"^0.24.0","typescript":"^5.7.0","vitest":"^4.0.16"},"gitHead":"8088ce3c023102b4c276e90969755d3994b78bf5","_id":"@annatarhe/curl-to-js@0.0.8","bugs":{"url":"https://github.com/AnnatarHe/curl-to-js/issues"},"homepage":"https://github.com/AnnatarHe/curl-to-js#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-pkZxxo12RLkZoAPVzEggN4SJAptItFGY9CQnvRWUGk1i/Ie9QztZsQaXMKb93QDG8W2VpJwwVDeU5BmqWAZqeQ==","shasum":"077ca66b6970f1c7007a707bcf39fd94a14f4cd0","tarball":"https://registry.npmjs.org/@annatarhe/curl-to-js/-/curl-to-js-0.0.8.tgz","fileCount":11,"unpackedSize":10254,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDGYGuWQ9GkVXrnRmm+25sqEwxMA2mpyRNWxPFu6qYwWQIgGCkQHP4dO18+1bu1BY3Fak2uySY6lShyFc3iEMV8HFw="}]},"_npmUser":{"name":"annatarhe","email":"iamhele1994@gmail.com"},"directories":{},"maintainers":[{"name":"annatarhe","email":"iamhele1994@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curl-to-js_0.0.8_1766821776740_0.8660824260032454"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-27T07:22:32.198Z","modified":"2025-12-27T07:49:37.106Z","0.0.6":"2025-12-27T07:22:32.436Z","0.0.8":"2025-12-27T07:49:36.894Z"},"bugs":{"url":"https://github.com/AnnatarHe/curl-to-js/issues"},"author":{"name":"AnnatarHe"},"license":"MIT","homepage":"https://github.com/AnnatarHe/curl-to-js#readme","keywords":["curl","parser","http","request"],"repository":{"type":"git","url":"git+https://github.com/AnnatarHe/curl-to-js.git"},"description":"Parse curl commands into structured JavaScript objects","maintainers":[{"name":"annatarhe","email":"iamhele1994@gmail.com"}],"readme":"# @AnnatarHe/curl-to-js [![codecov](https://codecov.io/gh/AnnatarHe/curl-to-js/graph/badge.svg?token=V2IBNU8PDH)](https://codecov.io/gh/AnnatarHe/curl-to-js)\n\n[https://www.npmjs.com/package/@annatarhe/curl-to-js](https://www.npmjs.com/package/@annatarhe/curl-to-js)\n\nA lightweight library that converts curl commands to JavaScript objects. Perfect for developers who want to transform curl commands into structured data for API testing, documentation, or code generation.\n\n## Features\n\n- 🚀 Converts curl commands to structured JavaScript objects\n- 📦 Supports common curl options (-X, -H, -d, -F)\n- 🔍 Parses URLs with query parameters\n- 💪 Type-safe with TypeScript support\n- 🧩 Handles JSON payloads automatically\n- 📝 Supports form data\n\n## Installation\n\n```bash\nnpm install @annatarhe/curl-to-js\n```\n\n## Usage\n\n```typescript\nimport { parse } from \"@annatarhe/curl-to-js\"\n\n// Basic GET request\nconst result = parse('curl https://api.example.com/data')\n// {\n//   method: 'GET',\n//   url: URL { href: 'https://api.example.com/data' },\n//   headers: {},\n//   params: {},\n//   formData: {},\n//   body: null\n// }\n\n// POST request with headers and JSON body\nconst result = parse(`\n  curl -X POST https://api.example.com/data \\\n    -H \"Content-Type: application/json\" \\\n    -H \"Authorization: Bearer token123\" \\\n    -d '{\"name\": \"John\", \"age\": 30}'\n`)\n// {\n//   method: 'POST',\n//   url: URL { href: 'https://api.example.com/data' },\n//   headers: {\n//     'Content-Type': 'application/json',\n//     'Authorization': 'Bearer token123'\n//   },\n//   body: {\n//     name: 'John',\n//     age: 30\n//   },\n//   params: {},\n//   formData: {}\n// }\n```\n\n## Supported Curl Options\n\n- `-X, --request`: HTTP method\n- `-H, --header`: HTTP headers\n- `-d, --data`: Request body (supports JSON)\n- `-F, --form`: Form data\n- URL parameters are automatically parsed\n\n## Type Definition\n\n```typescript\ntype ParsedCommand<T = unknown> = {\n  method: string\n  url?: URL\n  headers: Record<string, string>\n  params: Record<string, string>\n  formData: Record<string, string>\n  body: T | string | null\n}\n```\n\n## Examples\n\n### Form Data Upload\n```typescript\nconst result = parse(`\n  curl -X POST https://api.example.com/upload \\\n    -F \"file=@photo.jpg\" \\\n    -F \"description=Profile photo\"\n`)\n```\n\n### Query Parameters\n```typescript\nconst result = parse('curl \"https://api.example.com/search?q=test&page=1\"')\n```\n\n## License\n\nMIT\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n","readmeFilename":"README.md"}