igorkamyshev / farfetched

The advanced data fetching tool for web applications
https://ff.effector.dev
MIT License
189 stars 33 forks source link
async data data-fetching effector fetch

Farfetched

<img align="right" width="174" height="180" title="Farfetched logotype" src="./apps/website/docs/public/logo.svg">

The advanced data fetching tool for web applications

Quick Features

Documentation

Continue reading about Farfetched in the documentation. It covers integration with the most popular UI-frameworks (such React and Solid), error handling, dependent queries, advanced contracts and other great tools.

Showcases

Repository contains several showcases of Farfetched usage. To start playing with them, clone repository and run pnpm install && pnpm run --filter NAME dev in the root directory, where NAME is the name of the showcase.

Contributing

If you want to contribute to Farfetched, please read the CONTRIBUTING.md file first.

Maintains

Getting started

Release workflow

Releases of Farfetched are automated by changesets and GitHub Actions. Your only duty is creating changeset for every PR, it is controlled by Changes-action.

After merging PR to master-branch, Version-action will update special PR with the next release. To publish this release, just merge special PR and wait, Release-action will publish packages.

Repository management

New package creation

Copy-paste packages/atomic-router directory, rename it to the package name. Then, update package.json, README.md and vite.config.ts files. Then, delete CHANGELOG.md file and any other files that are not needed in the new package.

Fancy generator will be added in the future.

Credits

Farfetched powered by Aviasales.

Special thanks to all contributors and especially Alexandr for endless patience during our debates about this library.

Some of external libraries were inlined to Farfetched due to bundle size and custom features requirements: