davereader is the engine of River5
I moved the core of River5 into an NPM package. This makes it easy to use River5's feed-reading functionality inside any Node app.
by Dave Winer Thursday, May 18, 2017

I've long wanted a JavaScript package that made it easy to write quick apps that do stuff with feeds. 

I write them all the time, but I always have to start over from the beginning, create a parser, then catch the new items as they come in, and do whatever it is I have to do, usually move the bits to another service like Twitter, or Slack or whatever. There are so many possible applications.

When I was doing this, I realized I was solving a problem that was already solved, in my River software, but it wasn't configured correctly to make this easy. It was faster just to crib the code and start from scratch.

Finally, I have it set up so that this works. So the beauty in this is in the apps, not the engine. It's a solved problem that can now be used to solve new problems.

What's new

I moved the core functionality of River5 into an NPM package that makes it possible to use River5 in any Node app. The name of the package is davereader. The repository is of course on GitHub. 

The main change to River5 is that instead of containing the core, it accesses it through NPM as it does for many of its other core functions. 

To the River5 user very little if anything changes. That's written up on the River5 site. If you have questions, please ask them on the River5 mail list or in a comment here

What's easier?

The Hello World app for davereader watches a few feeds. When a new item comes in it writes its JSON representation to a calendar-structured folder. 

That's the pattern that many of the davereader apps will follow. For a set of feeds, flow all new items to some other place. That's basically what RSS does, so that's what an application that uses RSS will most likely do. ;-)

Why davereader?

The more obvious names were taken. 

If I had my druthers I'd call this node-reader because that's what it does, brings industrial strength feed reading to Node. 

But davereader isn't bad. It's the reader that Dave wrote. :balloon: