New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

satteri

Package Overview
Dependencies
Maintainers
1
Versions
41
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

satteri

High-performance Markdown and MDX processing

Source
npmnpm
Version
0.9.3
Version published
Weekly downloads
2.5M
19.53%
Maintainers
1
Weekly downloads
 
Created
Source

satteri

Native-enhanced Markdown parsing and processing for JavaScript. Parse and compile in Rust, create flexible plugins in JavaScript.

Install

npm install satteri
yarn add satteri
pnpm add satteri

Usage

Markdown to HTML

import { markdownToHtml } from "satteri";

const { html } = markdownToHtml("# Hello\n\nWorld");
// <h1>Hello</h1>\n<p>World</p>

MDX to JS

import { mdxToJs } from "satteri";

const { code } = mdxToJs("# Hello\n\n<MyComponent />");

With plugins

Both functions accept mdastPlugins (operate on the Markdown AST) and hastPlugins (operate on the HTML AST). A plugin is an object with a name and a visitor per node type; defineMdastPlugin / defineHastPlugin add type inference.

import { markdownToHtml, defineMdastPlugin } from "satteri";

const stripInlineCode = defineMdastPlugin({
  name: "strip-inline-code",
  inlineCode(node, ctx) {
    ctx.replaceNode(node, { type: "text", value: node.value });
  },
});

const { html } = markdownToHtml("Use `let` instead of `var`.", {
  mdastPlugins: [stripInlineCode],
});
// <p>Use let instead of var.</p>

If you're familiar with the unified ecosystem, mdast and hast plugins are similar to remark and rehype plugins, respectively, reusing the same AST shapes.

Documentation

This README covers the basics. The full documentation covers the complete API, the plugin system, every parser feature, and framework integration:

  • Documentation home — start here
  • Quick start
  • Compiling — functions, options, and MDX settings
  • Plugins and Plugin API
  • Features — GFM, math, directives, and more

License

MIT

FAQs

Package last updated on 25 Jun 2026

Related posts