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

@imarc/vitrine

v1.2.4

Published

Vitrine =======

Readme

Vitrine

Vitrine is a vite plugin that provides a lightweight component library. It is still being developed, and currently only supports working with vite's dev server; it does not build a static library.

Installation & Usage

npm install @imarc/vitrine

Vitrine should be imported into your vite.config.js and added to the plugins in your vite config:

import vitrine from '@imarc/vitrine'

export default defineConfig({
  plugins: [vitrine({
    // ...
  })]
})

Options

vitrine() can also take the following configuration options:

  • includes - An array of paths to files that Vitrine should include. You almost always want to set this. Default: []. Example: includes: ['/src/main.js']
  • basePaths - An array of directory paths to look in for components and documentation. Default: ['resources/styles'].
  • name - Set the name of your pattern library. Default vitrine.
  • logo - Provide HTML to use for the logo for your pattern library. Default: uses name.
  • version - An optional version to display for your component library.

Advanced options

  • componentPattern - A RegExp that should match all component and documentation files. Currently Vitrine supports .md, .htm and .html files. Default: /\.md|\/.html?$/i
  • includeVite - Whether to include Vite. Default: true. You would want to turn this off if Vite is being included through another method. For example, if you're using Nuxt, you likely want to set this to false.
  • includes - As an advanced configuration option, if you specify an include that begins with any HTML tag, it will include that string as is.
  • outDir - Where to put the built pattern library. Default: dist
  • manifestDir – path to Vite's manifest. Set to false to disable using the manifest at all. Default: ${outDir}/.vite
  • prefix - The prefix to use for the path to the pattern library. Default: /components
  • stylesheetPattern - A RegExp that should differentiate when to link to them a <link> or <script> tag. Default: /\.(css|less|sass|scss|styl)$/i
  • template - You can override the default template Vitrine includes as iframes. By default, Vitrine will look for a file named _preview.html and use that, but if it doesn't exist, it will fallback to its own builtin template. Default: _preview.html

Sample configuration

export default defineConfig({
  plugins: [vitrine({
    includes: [
      '/resources/styles/index.scss',
      '/resources/js/index.js',
    ],
    basePaths: [
      'resources',
    ],
  })]
})

Contributing

Vitrine is being developed as an open source project and welcomes contributions. Vitrine's goal is to maintain a small footprint and not be tied to any specific framework - we may even remove the dependency on Vue for SSR. It should work anywhere Vite does.

Working on Vitrine

The recommmended way to work on vitrine is to start with a parent project (like imarc/pronto), checkout out both the parent project and vitrine.

  1. Within Vitrine's folder, run npm link
  2. Within the parent project folder, run npm link vitrine
  3. Run npm run dev within the parent project.

Using npm link, you can develop and test changes to Vitrine and see how it handles teh components in your parent project.