Feedsmith - RSS、Atom、RDF、JSON Feedをサポートする超高速統合パーサー/ジェネレーター
(github.com/macieklamberski)- JavaScript および TypeScript 環境で使える高速な統合フィードライブラリ
- RSS、Atom、RDF、JSON Feedをすべてサポートするオールインワンのパーサー兼ジェネレーターで、Podcast、iTunes、Dublin Core など主要な名前空間や OPMLまでカバー
- 一般的なパーサーとは異なり、データをマージせず元の構造を維持し、詳細情報を失うことなくアクセス可能
- 名前空間処理により、さまざまな
<custom:*>要素を標準名前空間へ自動変換して一貫性を維持 - 不完全または誤ったフィードも柔軟に処理し、すべての属性を大文字小文字を区別せず扱い、旧式フォーマットの要素をモダンな要素へ変換
- ツリーシェイキング対応: 必要な部分だけを読み込んでバンドルサイズを最小化
- 2,000件以上のテストと 99% のコードカバレッジで安定性と信頼性を確保
-
対応フォーマット
- フィード: RSS(0.9x, 2.0), Atom(0.3, 1.0), RDF(0.9, 1.0), JSON Feed(1.0, 1.1)
- 名前空間: Atom, Dublin Core, Syndication, Content, Slash, iTunes, Podcast, Media RSS, GeoRSS, Podlove, Atom Threading, YouTube, Source, Well-Formed Web など
- その他: OPML(1.0, 2.0) をサポート
-
FeedSmithの差別化ポイント
author,dc:creator,creatorのようなフィールドを単一のプロパティにマージしないpubDateとdc:dateを区別して元データを維持<atom:link>のrel属性を無視せず、すべて処理- 元の構造をそのまま保持し、専門的で細かなデータアクセスが可能
-
技術基盤
- API 設計は Swift 向け FeedKit から着想を得ている
- XML パースには fast-xml-parser を活用
- HTML エンティティ処理には entities ライブラリを使用
- MIT ライセンスで提供
まだコメントはありません。