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

@nova-design-system/nova-context

v3.42.0

Published

Versioned Markdown and JSON context for the Nova Design System.

Readme

Nova Context

@nova-design-system/nova-context is a versioned snapshot of Nova's developer and designer documentation. Each package version matches the corresponding Nova Design System release, allowing tools such as search indexes, MCP servers, and chatbots to answer questions using the context for an exact Nova version.

The package contains data only. It does not expose a JavaScript API or install runtime dependencies.

Included context

| Location | Content | | -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | output/storybook/ | Component documentation, examples, guides, and migrations for Web Components, React, Vue, Angular, and Blazor. | | output/examples/ | The same component examples as structured JSON, one document per framework, for runtime consumers. | | output/supernova/ | Designer documentation exported from the Nova design system in Supernova. | | output/data/component-metadata.json | Component props, events, methods, and slots for each supported framework, plus hand-maintained entries for framework-native components. | | output/data/figma-to-tailwind-mapping.json | Figma token to Tailwind mapping. | | output/data/icon-mappings.json | Nova icon metadata and mappings. | | output/data/typography-tokens.json | Typography utilities and their token metadata. | | output/manifest.json | Version, file inventory, and integrity metadata for the snapshot. |

Package layout

output/
├── manifest.json
├── data/
│   ├── component-metadata.json
│   ├── figma-to-tailwind-mapping.json
│   ├── icon-mappings.json
│   └── typography-tokens.json
├── examples/
│   ├── angular.json
│   ├── blazor.json
│   ├── native.json
│   ├── react.json
│   └── vue.json
├── storybook/
│   └── *.md
└── supernova/
    └── *.md

Markdown metadata

Markdown documents start with YAML frontmatter. Depending on the source, this includes fields such as:

  • title: Human-readable document title.
  • framework: Framework represented by a Storybook document.
  • category: Developer or designer documentation category.
  • path: Stable path relative to output/.
  • url: Link to the corresponding Nova documentation page.
  • id or slug: Source identifier for designer documentation.
  • badge: Lifecycle badge of a component page (new, beta, deprecated, danger), present only when the component has one.
  • deprecated: Deprecation message of a component page, present only when the component is deprecated.

The remainder of each file is standard Markdown suitable for storing as raw content or splitting into retrieval chunks by heading.

Deprecation markers

Deprecated components, properties, events, and methods stay in the context so tools can recognise existing usage and name the replacement — but they are always marked as such:

  • A deprecated component page carries deprecated in its frontmatter and opens with a > **Deprecated:** … callout under the heading.
  • Deprecated members remain in the API tables, with their description prefixed by **Deprecated:** <message>.
  • A story that demonstrates a deprecated property opens with the same callout.
  • data/component-metadata.json sets deprecated: "<message>" on the component and on each affected property, event, and method, in every framework.
  • examples/{framework}.json sets deprecated on a deprecated component and on each example that demonstrates a deprecated property.

Experimental components (@experimental, or the legacy @deprecated [EXPERIMENTAL] marker) are never a deprecation. They are always excluded from data/component-metadata.json. The Storybook Markdown and examples JSON follow the storybooks: experimental components are included in development and staging builds and excluded when STORYBOOK_ENV=production, as in the release workflow.

Examples JSON

output/examples/{framework}.json carries the same component examples the Storybook Markdown shows, as data rather than prose, so tools such as a playground can render them at runtime without parsing Markdown. Each document uses schemaVersion: 1 and covers every component for one framework:

{
  "schemaVersion": 1,
  "framework": "react",
  "components": [
    {
      "tag": "nv-button",
      "title": "components/Button/nv-button",
      "description": "The Button component enhances standard HTML buttons...",
      "examples": [
        {
          "name": "Size",
          "description": "Determines how large or small the button appears...",
          "code": "<div className=\"flex gap-4 items-center\">\n  <NvButton size=\"xs\">..."
        }
      ]
    }
  ]
}
  • description is omitted on a component or example that has none.
  • deprecated carries the deprecation message of a deprecated component, or of an example that demonstrates a deprecated property; it is omitted otherwise.
  • Only components appear; guides, migrations, and introduction pages stay Markdown-only.
  • Props, events, methods, and slots are not repeated here — join data/component-metadata.json on id (which equals tag for web components). Framework-native components have no examples entry yet.

Component metadata JSON

output/data/component-metadata.json is an array with one entry per component:

{
  "id": "nv-button",
  "tag": "nv-button",
  "source": "stencil",
  "description": "Buttons allow users to...",
  "frameworks": {
    "native": {
      "tagName": "nv-button",
      "componentName": "NvButton",
      "props": [],
      "events": [],
      "methods": [],
      "slots": []
    },
    "react": {
      "componentName": "NvButton",
      "props": [],
      "events": [],
      "methods": [],
      "slots": []
    },
    "vue": {},
    "angular": {},
    "blazor": {}
  }
}
  • id is the stable join key. source is stencil for web components (generated from Stencil metadata, id equals tag) or manual for framework-native components such as nv-datatable and notification-service, which are hand-maintained in packages/context/manual/.
  • tag and frameworks.native are omitted on manual entries: these components have no web-component variant.
  • Each framework API lists props, events, methods, and slots. Manual entries add types (the supporting interfaces, enums, and aliases) and usage (import, setup, access, and notes snippets).
  • deprecated is present on components that are deprecated as a whole.

Manifest

output/manifest.json uses schemaVersion: 1 and contains:

  • packageName and novaVersion.
  • generatedAt.
  • A sorted file inventory with each output-relative path, format, byte size, and SHA-256 checksum.

The manifest does not list or hash itself. Consumers can use the npm tarball integrity for the package and the manifest checksums for individual context files.

Retrieving a version

Install one version when the context should remain available locally:

npm install @nova-design-system/[email protected]

Alternatively, download its tarball without installing it:

npm pack @nova-design-system/[email protected] --ignore-scripts

Available versions can be listed with:

npm view @nova-design-system/nova-context versions --json