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

@mdwrk/lander-react

v0.1.23

Published

Reusable React components for portable product landing sites.

Readme

@mdwrk/lander-react

React components for product landers

This package provides reusable visible React components for rendering compiled lander pages plus first-class fused semantic components that render visible UI and emit matching JSON-LD.

Why

Use it when you want a render-time component layer on top of the lander content contract and compiler outputs.

What

  • Page shell and section rendering components.
  • FAQ, breadcrumb, package-grid, and proof-matrix components.
  • First-class fused semantic exports for all 58 supported structured-data kinds.
  • Delegation to @mdwrk/lander-react-structured-data for low-level JSON-LD graph emission and type-specific wrappers.

Installation

Node.js 20.x through 22.x, matching the workspace engine contract in the root package manifest.

npm install @mdwrk/lander-react @mdwrk/lander-core @mdwrk/lander-content-contract

Usage

import { LanderPage } from "@mdwrk/lander-react";

export function Page({ site, page }) {
  return <LanderPage site={site} page={page} />;
}

For split-package consumers that want visible rendering without deprecated structured-data delegates:

import { VisibleLanderPage } from "@mdwrk/lander-react";
import { LanderStructuredData } from "@mdwrk/lander-react-structured-data";

export function Page({ site, page }) {
  return (
    <>
      <LanderStructuredData site={site} page={page} />
      <VisibleLanderPage page={page} />
    </>
  );
}

For prop-native fused semantic authoring:

import { Article, ProductGroup, FAQPage } from "@mdwrk/lander-react";

export function LandingContent() {
  return (
    <>
      <Article
        title="Prompt Delivery Studio"
        description="Visible article plus JSON-LD from one component."
        body={<p>Article body</p>}
      />
      <ProductGroup
        name="Prompt Delivery Studio"
        variesBy={["Region"]}
        hasVariant={[{ name: "US" }, { name: "EU" }]}
      />
      <FAQPage
        items={[{ question: "What is prompt drift?", answer: "Behavior change over time." }]}
      />
    </>
  );
}

Structured Data

Use @mdwrk/lander-react-structured-data for type-specific JSON-LD React wrappers and schema-intent rendering.

@mdwrk/lander-react now owns the preferred prop-native fused semantic front door. @mdwrk/lander-react-structured-data remains the low-level wrapper surface for consumers that explicitly want direct JSON-LD component control.

@mdwrk/lander-react still provides temporary deprecated compatibility re-exports for older structured-data wrapper imports while downstream consumers migrate. New low-level wrapper imports should come directly from @mdwrk/lander-react-structured-data.

Related