npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@chakra-docs/feed

v0.1.0

Published

RSS, Atom, and JSON Feed artifact helpers for Chakra Docs.

Downloads

33

Readme

@chakra-docs/feed

RSS, Atom, and JSON Feed artifact helpers for Chakra Docs.

Created by Ryan Hefner and Commune Software.

This package converts normalized DocsFeedEntry records (from a Chakra Docs manifest's feeds array) into RSS 2.0, Atom, and JSON Feed 1.1 artifacts while keeping feed serialization out of core runtime packages.

Install

npm install @chakra-docs/feed

No peer dependencies.

Usage

import { writeFile } from 'node:fs/promises';
import { createFeedArtifacts } from '@chakra-docs/feed';
import { docsManifest } from './.chakra-docs/generated';

const { rss, atom, json } = createFeedArtifacts(docsManifest.feeds, {
  title: 'Docs',
  siteUrl: 'https://example.com',
  description: 'Product documentation updates',
  feedUrl: 'https://example.com/feed.xml',
  language: 'en',
  // Used when a manifest entry has no date.
  updated: '2026-03-15T12:00:00.000Z',
});

await writeFile('public/feed.xml', rss, 'utf8');
await writeFile('public/atom.xml', atom, 'utf8');
await writeFile('public/feed.json', json, 'utf8');

Entries are sorted newest-first by date. Atom requires an <updated> value for every entry, so undated entries use options.updated; serialization throws with the entry id when neither timestamp exists. Invalid date strings or Date objects throw before any feed is serialized. Relative entry URLs are resolved against siteUrl, XML output is escaped, XML 1.0-forbidden control characters are removed, and entry description, author, and tags map to the matching feed fields (RSS <category>, Atom <category term>, JSON Feed tags). Every JSON Feed item includes the required content_text, using the entry description or falling back to its title. Authors use the JSON Feed 1.1 authors array and also include the legacy singular author field for JSON Feed 1.0 reader compatibility. Only title and siteUrl are required options; description, feedUrl, language, and updated are optional. An empty Atom feed without updated uses the Unix epoch for deterministic output.

API

  • createFeedArtifacts(entries, options) — build a FeedArtifacts object from DocsFeedEntry[]: the normalized (sorted) entries plus rss, atom, and json strings ready to write to disk or serve.
  • FeedArtifacts, CreateFeedArtifactsOptions — result and option types.

Help and contributing

See the project README, open an issue, or read the contribution guidelines. Report vulnerabilities privately through the security policy.

License

MIT