{"id":21289276,"url":"https://github.com/chickencoding123/yafetch","last_synced_at":"2025-10-15T15:24:41.010Z","repository":{"id":43674018,"uuid":"457091720","full_name":"chickencoding123/yafetch","owner":"chickencoding123","description":"Yet another fetch is a backward compatible, dependency free, drop-in wrapper for fetch API","archived":false,"fork":false,"pushed_at":"2023-01-25T03:59:15.000Z","size":832,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-27T03:34:25.592Z","etag":null,"topics":["alternatives","backward-compatibility","fetch","fetch-api","retry"],"latest_commit_sha":null,"homepage":"https://chickencoding123.github.io/yafetch","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chickencoding123.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-02-08T20:24:51.000Z","updated_at":"2022-02-08T21:46:10.000Z","dependencies_parsed_at":"2023-02-14T04:31:37.927Z","dependency_job_id":null,"html_url":"https://github.com/chickencoding123/yafetch","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/chickencoding123/yafetch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chickencoding123%2Fyafetch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chickencoding123%2Fyafetch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chickencoding123%2Fyafetch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chickencoding123%2Fyafetch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chickencoding123","download_url":"https://codeload.github.com/chickencoding123/yafetch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chickencoding123%2Fyafetch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279086398,"owners_count":26100136,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alternatives","backward-compatibility","fetch","fetch-api","retry"],"created_at":"2024-11-21T12:38:01.171Z","updated_at":"2025-10-15T15:24:40.982Z","avatar_url":"https://github.com/chickencoding123.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cdiv align=\"center\"\u003e\n\nYet another fetch is a dependency free HTTP client wrapper for node.js and browser\n  \n[![npm](https://img.shields.io/npm/v/@yafetch/core)](https://www.npmjs.com/package/@yafetch/core) [![License](https://img.shields.io/npm/l/@yafetch/core)](https://github.com/chickencoding123/yafetch/blob/main/LICENSE) [![bundle size](https://img.badgesize.io/https:/unpkg.com/@yafetch/core/dist/index.js?max=300000\u0026compression=gzip)](https://unpkg.com/@yafetch/core/dist/index.js)\n\n\u003c/div\u003e\n\n## Features\n- Plugins for various features such as retries, error handling, logging, parsing etc...\n- Defaults to _fetch_ as HTTP client, but can be used with any HTTP client such as [node-fetch](https://github.com/node-fetch/node-fetch)\n- Automated parsing of request/response data\n- Global options\n- ... and more\n\n## How to use\n```sh\nnpm i @yafetch/core --save\n# or\nyarn add @yafetch/core --save\n```\nUsage is mostly similar to _fetch_ API:\n```ts\nimport yafetch from '@yafetch/core'\nconst html = await yafetch('https://www.example.com') // as opposed to fetch('https://www.example.com')\n```\n`yafetch` automatically converts `body` to `URLSearchParams` for `GET` requests:\n```ts\nimport yafetch from '@yafetch/core'\nconst html = await yafetch('https://www.example.com', { body: { name: 'john' } }) // will send https://www.example.com/?name=john\n```\n\n## Plugins\nThe most powerful aspect of `yafetch` is its plugin system, allowing full control over the API calls. There are three types of plugins categorized by their execution order relative to the main API call, \"before\" and \"after\" plugins run before or after the API request while \"wrap\" plugins will wrap the API call itself. These wrap plugins also wrap each other allowing for communication between multiple plugins and advanced scenarios such as retries, error handling etc...\n\n## Custom HTTP client implementation\n`Yafetch` you can provide an alternative proxy function to use instead when running in a non-browser environment such as node.js. To use this feature simply pass a `fetchProxy` in the options, from there it's up to you how the API call happens. See an example of this in tests under the `core` package.\n\n## Contribution\n\nPlease make sure to read the [Contributing Guide](https://github.com/chickencoding123/yafetch/blob/main/.github/CONTRIBUTING.md) before you work on this project.\n\n## License\n\n[MIT](https://opensource.org/licenses/MIT)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchickencoding123%2Fyafetch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchickencoding123%2Fyafetch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchickencoding123%2Fyafetch/lists"}