{"id":18575951,"url":"https://github.com/bevry-archive/feedr","last_synced_at":"2025-04-10T08:30:59.360Z","repository":{"id":5156333,"uuid":"6324754","full_name":"bevry-archive/feedr","owner":"bevry-archive","description":"Deprecated: Use node-fetch, fetch-h2, fetch-lite, isomorphic-unfetch","archived":false,"fork":false,"pushed_at":"2019-12-09T08:55:32.000Z","size":525,"stargazers_count":58,"open_issues_count":4,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-04-08T15:41:52.065Z","etag":null,"topics":["archived","cson","http-request","json","nodejs","xml","yaml"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"jsbin/learn","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bevry-archive.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["balupton"],"patreon":"bevry","open_collective":"bevry","ko_fi":"balupton","liberapay":"bevry","custom":["https://bevry.me/fund"]}},"created_at":"2012-10-21T19:57:35.000Z","updated_at":"2023-10-20T09:21:30.000Z","dependencies_parsed_at":"2022-09-05T18:01:54.749Z","dependency_job_id":null,"html_url":"https://github.com/bevry-archive/feedr","commit_stats":null,"previous_names":["bevry/feedr"],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bevry-archive%2Ffeedr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bevry-archive%2Ffeedr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bevry-archive%2Ffeedr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bevry-archive%2Ffeedr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bevry-archive","download_url":"https://codeload.github.com/bevry-archive/feedr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248185293,"owners_count":21061493,"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","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":["archived","cson","http-request","json","nodejs","xml","yaml"],"created_at":"2024-11-06T23:23:00.849Z","updated_at":"2025-04-10T08:30:58.968Z","avatar_url":"https://github.com/bevry-archive.png","language":"JavaScript","funding_links":["https://github.com/sponsors/balupton","https://patreon.com/bevry","https://opencollective.com/bevry","https://ko-fi.com/balupton","https://liberapay.com/bevry","https://bevry.me/fund","https://buymeacoffee.com/balupton"],"categories":[],"sub_categories":[],"readme":"\u003c!-- TITLE/ --\u003e\n\n\u003ch1\u003eFeedr\u003c/h1\u003e\n\n\u003c!-- /TITLE --\u003e\n\n\n\u003c!-- BADGES/ --\u003e\n\n\u003cspan class=\"badge-travisci\"\u003e\u003ca href=\"http://travis-ci.com/bevry/feedr\" title=\"Check this project's build status on TravisCI\"\u003e\u003cimg src=\"https://img.shields.io/travis/com/bevry/feedr/master.svg\" alt=\"Travis CI Build Status\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-npmversion\"\u003e\u003ca href=\"https://npmjs.org/package/feedr\" title=\"View this project on NPM\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/feedr.svg\" alt=\"NPM version\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-npmdownloads\"\u003e\u003ca href=\"https://npmjs.org/package/feedr\" title=\"View this project on NPM\"\u003e\u003cimg src=\"https://img.shields.io/npm/dm/feedr.svg\" alt=\"NPM downloads\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-daviddm\"\u003e\u003ca href=\"https://david-dm.org/bevry/feedr\" title=\"View the status of this project's dependencies on DavidDM\"\u003e\u003cimg src=\"https://img.shields.io/david/bevry/feedr.svg\" alt=\"Dependency Status\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-daviddmdev\"\u003e\u003ca href=\"https://david-dm.org/bevry/feedr#info=devDependencies\" title=\"View the status of this project's development dependencies on DavidDM\"\u003e\u003cimg src=\"https://img.shields.io/david/dev/bevry/feedr.svg\" alt=\"Dev Dependency Status\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cbr class=\"badge-separator\" /\u003e\n\u003cspan class=\"badge-githubsponsors\"\u003e\u003ca href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"\u003e\u003cimg src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-patreon\"\u003e\u003ca href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"\u003e\u003cimg src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-flattr\"\u003e\u003ca href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"\u003e\u003cimg src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-liberapay\"\u003e\u003ca href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"\u003e\u003cimg src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-buymeacoffee\"\u003e\u003ca href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"\u003e\u003cimg src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-opencollective\"\u003e\u003ca href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"\u003e\u003cimg src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-crypto\"\u003e\u003ca href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"\u003e\u003cimg src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-paypal\"\u003e\u003ca href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"\u003e\u003cimg src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-wishlist\"\u003e\u003ca href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"\u003e\u003cimg src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\n\u003c!-- /BADGES --\u003e\n\n\n\u003c!-- DESCRIPTION/ --\u003e\n\nUse feedr to fetch the data from a remote url, respect its caching, and parse its data. Despite its name, it's not just for feed data but also for all data that you can feed into it (including binary data).\n\n\u003c!-- /DESCRIPTION --\u003e\n\n\n\u003c!-- INSTALL/ --\u003e\n\n\u003ch2\u003eInstall\u003c/h2\u003e\n\n\u003ca href=\"https://npmjs.com\" title=\"npm is a package manager for javascript\"\u003e\u003ch3\u003enpm\u003c/h3\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eInstall: \u003ccode\u003enpm install --save feedr\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRequire: \u003ccode\u003erequire('feedr')\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003e\u003ca href=\"https://editions.bevry.me\" title=\"Editions are the best way to produce and consume packages you care about.\"\u003eEditions\u003c/a\u003e\u003c/h3\u003e\n\n\u003cp\u003eThis package is published with the following editions:\u003c/p\u003e\n\n\u003cul\u003e\u003cli\u003e\u003ccode\u003efeedr\u003c/code\u003e aliases \u003ccode\u003efeedr/source/index.js\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efeedr/source/index.js\u003c/code\u003e is esnext source code with require for modules\u003c/li\u003e\u003c/ul\u003e\n\n\u003cp\u003eEnvironments older than Node.js v8 may need \u003ca href=\"https://babeljs.io/docs/usage/polyfill/\" title=\"A polyfill that emulates missing ECMAScript environment features\"\u003eBabel's Polyfill\u003c/a\u003e or something similar.\u003c/p\u003e\n\n\u003c!-- /INSTALL --\u003e\n\n\n## Usage\n\n``` javascript\n// Create a new feedr instance\nconst feedr = require('feedr').create({/* optional configuration */})\n\n// Prepare our feeds that we want read\nconst feeds = {\n\tsomeAtomFeed: 'https://github.com/bevry/feedr/commits/for-testing.atom'\n\tsomeJsonFile: 'https://raw.githubusercontent.com/bevry/feedr/for-testing/package.json'\n}\n\n// Read a single feed\nfeedr.readFeed(feeds.someAtomFeed, {/* optional configuration */}, function (err, data, headers) {\n\tconsole.log(err, data, headers)\n})\n\n// Read all the feeds together\nfeedr.readFeeds(feeds, {/* optional configuration */}, function (err, result) {\n\tconsole.log(err, result.someAtomFeed, result.someJsonFile)\n})\n```\n\n\n## Configuration\n\nFeed configuration defaults / global configuration properties are:\n\n- `log` defaults to `null`, log function to use\n- `tmpPath` defaults to system tmp path, the tempory path to cache our feedr results to\n- `cache` defaults to one day `1000*60*60*24`, available values:\n\t- `Number` prefers to use the cache when it is within the range of the number in milliseconds\n\t- `true` prefers to use the cache when the response headers indicate that the cache is still valid\n\t- `\"preferred\"` will always use the cache if the cache exists\n\t- `false` will never use the cache\n- `xml2jsOptions` defaults to `null`, the options to send to [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js)\n- `requestOptions` defaults to `null`, the options to send to [request](https://github.com/mikeal/request)\n\nFeed configuration properties are:\n\n- `url` required, the url to fetch\n- `hash` defaults to hash of the url, the hashed url for caching\n- `name` defaults to hash, the name of the feed for use in debugging\n- `path` defaults to tmp feed path, the path to save the file to\n- `parse` defaults to `true`, whether or not we should attempt to parse the response data, supported values are `xml`, `json`, `cson`, `yaml`, `string`, `raw`/`false`. If `true` will try all the available parsers. Can also be a function with the signature `({response, data, feed, feedr}, next(err, data))`\n- `check` defaults to `true`, whether or not we should check the response data for custom error messages. Can also be a function with the signature `({response, data, feed, feedr}, next(err))`\n- `xml2jsOptions` defaults to global value, the options to send to [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js)\n- `requestOptions` defaults to global value, the options to send to [request](https://github.com/mikeal/request)\n\n\n\u003c!-- HISTORY/ --\u003e\n\n\u003ch2\u003eHistory\u003c/h2\u003e\n\n\u003ca href=\"https://github.com/bevry/feedr/blob/master/HISTORY.md#files\"\u003eDiscover the release history by heading on over to the \u003ccode\u003eHISTORY.md\u003c/code\u003e file.\u003c/a\u003e\n\n\u003c!-- /HISTORY --\u003e\n\n\n\u003c!-- CONTRIBUTE/ --\u003e\n\n\u003ch2\u003eContribute\u003c/h2\u003e\n\n\u003ca href=\"https://github.com/bevry/feedr/blob/master/CONTRIBUTING.md#files\"\u003eDiscover how you can contribute by heading on over to the \u003ccode\u003eCONTRIBUTING.md\u003c/code\u003e file.\u003c/a\u003e\n\n\u003c!-- /CONTRIBUTE --\u003e\n\n\n\u003c!-- BACKERS/ --\u003e\n\n\u003ch2\u003eBackers\u003c/h2\u003e\n\n\u003ch3\u003eMaintainers\u003c/h3\u003e\n\nThese amazing people are maintaining this project:\n\n\u003cul\u003e\u003cli\u003e\u003ca href=\"http://balupton.com\"\u003eBenjamin Lupton\u003c/a\u003e — \u003ca href=\"https://github.com/bevry/feedr/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/feedr\"\u003eview contributions\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\n\n\u003ch3\u003eSponsors\u003c/h3\u003e\n\nNo sponsors yet! Will you be the first?\n\n\u003cspan class=\"badge-githubsponsors\"\u003e\u003ca href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"\u003e\u003cimg src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-patreon\"\u003e\u003ca href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"\u003e\u003cimg src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-flattr\"\u003e\u003ca href=\"https://flattr.com/profile/balupton\" title=\"Donate to this project using Flattr\"\u003e\u003cimg src=\"https://img.shields.io/badge/flattr-donate-yellow.svg\" alt=\"Flattr donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-liberapay\"\u003e\u003ca href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"\u003e\u003cimg src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-buymeacoffee\"\u003e\u003ca href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"\u003e\u003cimg src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-opencollective\"\u003e\u003ca href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"\u003e\u003cimg src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-crypto\"\u003e\u003ca href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"\u003e\u003cimg src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-paypal\"\u003e\u003ca href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"\u003e\u003cimg src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-wishlist\"\u003e\u003ca href=\"https://bevry.me/wishlist\" title=\"Buy an item on our wishlist for us\"\u003e\u003cimg src=\"https://img.shields.io/badge/wishlist-donate-yellow.svg\" alt=\"Wishlist browse button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\n\u003ch3\u003eContributors\u003c/h3\u003e\n\nThese amazing people have contributed code to this project:\n\n\u003cul\u003e\u003cli\u003e\u003ca href=\"http://balupton.com\"\u003eBenjamin Lupton\u003c/a\u003e — \u003ca href=\"https://github.com/bevry/feedr/commits?author=balupton\" title=\"View the GitHub contributions of Benjamin Lupton on repository bevry/feedr\"\u003eview contributions\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Zearin\"\u003eZearin\u003c/a\u003e — \u003ca href=\"https://github.com/bevry/feedr/commits?author=Zearin\" title=\"View the GitHub contributions of Zearin on repository bevry/feedr\"\u003eview contributions\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e — \u003ca href=\"https://github.com/bevry/feedr/commits?author=dependabot[bot]\" title=\"View the GitHub contributions of dependabot[bot] on repository bevry/feedr\"\u003eview contributions\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://github.com/apps/dependabot-preview\"\u003edependabot-preview[bot]\u003c/a\u003e — \u003ca href=\"https://github.com/bevry/feedr/commits?author=dependabot-preview[bot]\" title=\"View the GitHub contributions of dependabot-preview[bot] on repository bevry/feedr\"\u003eview contributions\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\n\n\u003ca href=\"https://github.com/bevry/feedr/blob/master/CONTRIBUTING.md#files\"\u003eDiscover how you can contribute by heading on over to the \u003ccode\u003eCONTRIBUTING.md\u003c/code\u003e file.\u003c/a\u003e\n\n\u003c!-- /BACKERS --\u003e\n\n\n\u003c!-- LICENSE/ --\u003e\n\n\u003ch2\u003eLicense\u003c/h2\u003e\n\nUnless stated otherwise all works are:\n\n\u003cul\u003e\u003cli\u003eCopyright \u0026copy; 2012+ \u003ca href=\"http://bevry.me\"\u003eBevry Pty Ltd\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\n\nand licensed under:\n\n\u003cul\u003e\u003cli\u003e\u003ca href=\"http://spdx.org/licenses/MIT.html\"\u003eMIT License\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\n\n\u003c!-- /LICENSE --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbevry-archive%2Ffeedr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbevry-archive%2Ffeedr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbevry-archive%2Ffeedr/lists"}