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

zinnia

v1.1.18

Published

Live style guide for luna clients

Readme

Live Style Guide

Setup

git clone [email protected]:iunullc/zinnia.git
npm install
npm link

move to your local luna-web directory and run:

npm link zinnia

The above npm-link commands simply generate a symlink in your global node_modules pointing at zinnia and added a pointer in your local luna-web node_modules.

Usage

zinnia is included as a dependency to luna-web and is used like any other package. To use a component from zinnia just import it as named import.

import { Foo } from 'zinnia';

Development

New components

New components should be added in /src/components/<COMPONENT_NAME>/ and should have an associated test and styles file.

/lib
|
+--/src
  |
  +--/components
    |
    +--/<ATOMIC_CATEGORY>   i.e. /molecules
      |
      +--/<ATOMIC_CATEGORY_GROUPING>   i.e. /forms
        |
        +--/<SOME_COMPONENT>   i.e. /search
          |
          +--index.jsx
          |
          +--test.js
          |
          +--styles.scss

Dependencies

Use the -D flag when installing packages/dependencies so they will be added as devDependencies. We do not want to have anything saved to the dependencies block in the package.json as that would duplicate the dep in the app using this library.

If the package you are adding is be used for build tools, like webpack, or is only used in the demo app, like react-syntax-highlighter, then you are done. However if the dep is a requirement for one of the exported components of the lib then that dep also needs to be included in peerDependencies in the package.json to trigger warnings in Luna Web should that dep not already be included.

Building

To see live changes you will need to rebuild after making changes and restart the server:

npm run build
npm start

Deployment

Live Demo

Before you push your changes to github, make sure to build the demo as github pages pulls from /docs/bundle.js.

npm run build:demo

npm Package

Prior to publishing changes to zinnia you will want to makesure to update the version inside of the package.json file according to semver. Once the version has been updated, run the following commands.

npm run build
npm publish

We will need to make sure we have the proper semantic versioning in luna-web.

To-Dos