Yet Another RSS Reader 🏴‍☠️
Find a file
renovate[bot] 745cae74f1
Merge pull request #137 from mcataford/renovate/vitest-monorepo
chore(deps): update dependency vitest to v1.3.1
2024-03-04 06:52:58 +00:00
.github/workflows ci(typecheck): add typecheck to CI, ensure that lint+types are checked before building 2024-02-16 00:24:54 -05:00
assets docs: diagram (#5) 2021-07-17 13:00:02 -04:00
functions/rss-proxy refactor(functions): flatten directory layout for functions 2024-02-18 23:10:50 -05:00
script ci(deps): update actions to latest versions 2024-02-16 00:23:40 -05:00
src test: add FeedsPanel coverage 2024-02-19 23:28:46 -05:00
.gitattributes docs: diagram (#5) 2021-07-17 13:00:02 -04:00
.gitignore feat: api reorg (#118) 2023-06-27 13:54:34 -04:00
.nvmrc build(deps): update node@lts/iron 2024-02-15 13:13:21 -05:00
.yarnrc.yml build(deps): update yarn@4.1.0 2024-02-15 13:11:50 -05:00
biome.json chore(lint): ensure that linting+formatting applies to functions as well 2024-02-18 04:27:30 -05:00
LICENSE Initial commit 2021-07-13 22:40:48 -04:00
netlify.toml refactor(functions): flatten directory layout for functions 2024-02-18 23:10:50 -05:00
package.json build(tools): set up testing tools 2024-02-19 12:28:19 -05:00
README.md refactor: extract reusable test+render utils 2024-02-19 12:42:40 -05:00
renovate.json chore(deps): update renovate configuration to automerge patch+minors 2024-03-03 15:59:18 -05:00
testSetup.ts build(tools): set up testing tools 2024-02-19 12:28:19 -05:00
tsconfig.json build(tools): set up testing tools 2024-02-19 12:28:19 -05:00
vite.config.js build(tools): set up testing tools 2024-02-19 12:28:19 -05:00
yarn.lock chore(deps): update dependency vitest to v1.3.1 2024-03-04 03:58:37 +00:00

Yet Another RSS Reader (YARR) 🏴‍☠️

Overview

In a never-ending DIY quest, I've put together this RSS feed reader to keep up with the news. The main requirement observed here is to not require any sort of backend (except for a serverless proxy to get around CORS) and to keep it all as simple as possible.

The reader allows the user to provide RSS feed URLs that should be pulled, settings and fetched results are cached using browser local storage if it's available. The results caching is also used to prevent refetches on load if the cache is fresh enough.

The whole thing runs on Netlify's generous free tier.

Feel free to use it for your own RSS needs and to drop a word or two if you do. 🎉

Developping

. script/bootstrap will set up the correct version of Node (via nvm) as well as Yarn's vim SDK.

Once set up, yarn start will run the application locally (including a local instance of the Netlify function that handles CORS proxying).

Testing

Frontend component tests are written using React Testing Library.

Rendering components should be done via the testHelpers/renderUtils exports, which provides a renderComponent helper that wraps the component in all the contexts provided to the application. This also sets up @testing-library/user-events.

Contributing

The project welcomes contributions as long as they fit within the general roadmap, which is still TBD. Any contribution making the bundle smaller will be eagerly reviewed and celebrated as long as it preserves functionality.