Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
@activediscourse/podcast-parser
Advanced tools
Parse XML podcast RSS feeds into standardized objects.
yarn add @activediscourse/podcast-parser
Pass a string containing XML source:
const parsePodcast = require("@activediscourse/podcast-parser")
parsePodcast("<podcast xml>")
.then(feed => console.log(feed))
.catch(e => console.error(e))
This library only handles parsing, so you'll need to fetch the feed separately first. For example, using node-fetch (or fetch in the browser):
const fetch = require("node-fetch")
const parsePodcast = require("@activediscourse/podcast-parser")
;(async () => {
const response = await fetch("https://pinecast.com/feed/activediscourse")
const xml = await response.text()
const feed = await parsePodcast(xml)
return feed
})()
.then(feed => console.log(feed))
.catch(e => console.error(e))
The output is opinionated with the goal of normalizing results across feeds:
{
"title": "<Podcast title>",
"description": {
"short": "<Podcast subtitle>",
"long": "<Podcast description>"
},
"link": "<Podcast link (usually website for podcast)>",
"image": "<Podcast image>",
"language": "<ISO 639 language>",
"copyright": "<Podcast copyright>",
"updated": "<pubDate or latest episode pubDate>",
"explicit": "<Podcast is explicit, true/false>",
"categories": [
"Category>Subcategory"
],
"author": "<Author name>",
"owner": {
"name": "<Owner name>",
"email": "<Owner email>"
},
"episodes": [
{
"guid": "<Unique id>",
"title": "<Episode title>",
"subtitle": "<Episode subtitle>",
"description": "<Episode description>",
"rawDescription": "<Episode description stripped of HTML tags>",
"explicit": "<Episode is is explicit, true/false>",
"image": "<Episode image>",
"published": "<date>",
"duration": 120,
"categories": [
"Category"
],
"enclosure": {
"filesize": 5650889,
"type": "audio/mpeg",
"url": "<mp3 file>"
}
}
]
}
Many podcasts have the language set something like en
. A best effort attempt
is made to normalize language strings to an IETF language code, so for
example en
will be converted to en-us
. Non-English languages will be presented
for example as de-DE
.
Not all feeds can be guaranteed to contain all properties, so they are simply ommited from the output in that case.
Episode categories are included as an empty array if the podcast isn't assigned any categories.
Episodes are sorted in descending order by publish date.
git clone https://github.com/activediscourse/podcast-parser.git
cd podcast-parser
yarn
yarn build
yarn test
MIT © Bo Lingen / citycide
Based on node-podcast-parser
, also MIT, © Antti Kupila.
See license
FAQs
Parse XML podcast feeds into objects
The npm package @activediscourse/podcast-parser receives a total of 0 weekly downloads. As such, @activediscourse/podcast-parser popularity was classified as not popular.
We found that @activediscourse/podcast-parser demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.