GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - effector/farfetched: The advanced data fetching tool for web applications

BranchesTags
Open more actions menu

Latest commit

 

History

704 Commits
704 Commits

Folders and files

NameName
Last commit message
Last commit date
.changeset
.changeset
 
 
.github
.github
 
 
.vscode
.vscode
 
 
apps
apps
 
 
branding
branding
 
 
deleted_packages/react
deleted_packages/react
 
 
packages
packages
 
 
patches
patches
 
 
tools
tools
 
 
.editorconfig
.editorconfig
 
 
.gitignore
.gitignore
 
 
.nvmrc
.nvmrc
 
 
.prettierignore
.prettierignore
 
 
.prettierrc
.prettierrc
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
package.json
package.json
 
 
pnpm-lock.yaml
pnpm-lock.yaml
 
 
pnpm-workspace.yaml
pnpm-workspace.yaml
 
 
tsconfig.base.json
tsconfig.base.json
 
 

Repository files navigation

Farfetched

The advanced data fetching tool for web applications

Quick Features

  • Transport/protocol/backend agnostic (REST, GraphQL, promises, whatever!)
  • Framework-agnostic (React, Solid, Vue, Svelte, Angular, whatever!)
  • Declarative — expresses the logic of a computation without describing its control flow
  • First class TypeScript support out of the box
  • Focused to improve both developer and user experiences

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

  • clone repo
  • install deps via pnpm install
  • make changes
  • make sure that your changes is passing checks:
    • run tests via pnpm run -r test:run
    • try to build it via pnpm run -r build
    • format code via pnpm run format:check
  • fill in changes via pnpm changeset
  • open a PR
  • enjoy 🎉

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:

  • https://github.com/effector/patronum
  • https://github.com/smelukov/nano-equal
  • https://github.com/DirtyHairy/async-mutex

About

The advanced data fetching tool for web applications

ff.effector.dev

Topics

asyncdatadata-fetchingeffectorfetch

Resources

Readme
MIT license

Contributing

Contributing
Activity
Custom properties

Stars

224 stars

Watchers

6 watching

Forks

36 forks
Report repository

Releases

Sponsor this project

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.