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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@ultraviolet/illustrations

v6.0.0

Published

Ultraviolet Illustrations

Readme

Ultraviolet Illustrations

npm version

Ultraviolet Illustrations is a set of illustrations.

Get Started

$ pnpm add @ultraviolet/illustrations

Usage

Assets

import { instanceOriginal } from '@ultraviolet/illustrations/products/instance'

const App = () => <img src={instanceOriginal} alt="illustration instance" />

Components

import { DynamicIllustration } from '@ultraviolet/illustrations'

const App = () => <DynamicIllustration name="success">

Usage of component DynamicIllustration

DynamicIllustration is a React component and so it requires you to have a ThemeProvider in order to be able to switch between light and dark. To use it you will need to install @ultraviolet/themes:

$ pnpm add @ultraviolet/themes

Then you can use it like this:

import { ThemeProvider, theme } from '@ultraviolet/themes'
import { DynamicIllustration } from '@ultraviolet/illustrations'

const App = () => (
  <ThemeProvider theme={theme}>
    <DynamicIllustration name="success" />
  </ThemeProvider>
)

Making changes

The entire process of adding, deleting or editing an asset is automated. The imports and exports are handled automatically by @utils/scripts/illustrations/upload-illustrations.tsx and @utils/scripts/illustrations/upload-components.tsx using the command pnpm run illustrations:update.

It is only possible edit (add, delete or replace) the assets to the assets/ folder. Any changes made directly to one of the index.ts file will be overriden by the command.

The same goes for DynamicIllustration and `WireIllustration

Adding an asset

Simply add the assets you want to include in the package to the correct folder in assets/, run pnpm run illustrations:update, and create a pull request. Once the pull request is approved and the branch is merged, the illustrations will be added to an S3 bucket. If the assets can be used as WireIllustration or a DynamicIllustration, the component(s) will also be updated to include them.

Deleting an asset

It is possible to delete an asset. To do so, simply delete its folder and run pnpm run illustrations:update. However, the asset will still be present in the S3 bucket and can be used by directly importing the link from the S3 bucket.

Editing an asset

  • If an asset is renamed, the old version will remain on the bucket but will not be exported in ultraviolet. Make sure to correctly rename the assets' name as well as their directory.
  • If an asset is modified, without changing its name, it will replace the old version on the bucket, which will not be available anymore.

Documentation

Checkout our documentation website.

Contributing

📝 You can participate in the development and start contributing to it.