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 🙏

© 2024 – Pkg Stats / Ryan Hefner

design-system-starter

v0.0.17

Published

Design system starter

Downloads

39

Readme

About

A baseline architecture for creating and distributing a React component library.

Development

Install Dependencies

Install root project and Storybook dependencies:

npm install
npm run sb:install

Start Storybook

npm run sb

Navigate to http://localhost:4000 to view the component documentation.

Themes

Themes can be defined in library/styles/themes/[name].css. By default, Storybook uses library/styles/themes/index.css. This can be changed by altering the defaultTheme in postcss.config.js.

Distribution

This process is automatically run on npm publish via the prepublishOnly lifecycle hook.

npm run dist

Creates the following directory:

└── dist
    ├── cjs
    ├── esm
    ├── umd
    └── styles

Each module format directory contains an index.js. The esm and cjs directories also contain individual exports for each component.

The styles directory contains an index.css and any other [theme].css files.

Consuming as a Package

npm install design-system-starter

Using import:

import { Example } from 'design-system-starter';

Using require:

const { Example } = require( 'design-system-starter' );

The main entry point (in package.json) defaults to UMD (Universal Module Definition).

Each component is also exposed in both ECMAScript Module and CommonJS formats.

CSS

The CSS for all components is located at node_modules/design-system-starter/dist/styles/index.css and can be added using any approach supported by your application.

CJS

Destructured from full library of components:

const { Example } = require( 'design-system-starter/dist/cjs' );

Individual component:

const Example = require( 'design-system-starter/dist/cjs/example' );

ESM

Destructured from full library of components:

import { Example } from 'design-system-starter/dist/esm';

Individual component:

import Example from 'design-system-starter/dist/esm/example';

UMD Browser Global

The UMD (Universal Module Definition) format enables access to the components in both Node and the browser.

Components are exposed via the DS global variable in the browser.

<script src="path/to/dist/umd/index.js"></script>
<script>
  ReactDOM.render(
    <DS.Example/>,
    document.getElementById('root')
  );
</script>