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

@postscript/components

v19.8.1

Published

Postscript Component Library

Downloads

1,176

Readme

Postscript Component Library

Storybook

The main branch is used to create a Storybook instance at components.postscript.io, via Chromatic.

NPM package usage

This repo generates an NPM package of components. Use components by importing them individually.

npm i @postscript/components
import { Button } from '@postscript/components';

const App = () => <Button>A Happy Button</Button>;

Local repo usage

CSS variables, reset, and design tokens

Import our base CSS once in your project.

import '@postscript/components/dist/esm/main.css';

Contributing

Testing changes in other repos

Currently, the easiest way to test changes from a feature branch in another repo is to publish a one-off, unique version of the package under a tag specific to you. View instructions

Versioning

Commits to main will publish a new @postscript/components package version. Use one of the following conventions when commiting/titling PRs to control semantic versioning.

  • Major: your commit introduces any breaking change
    • add a BREAKING CHANGE: prefix to the commit message (bumps the major version X.#.#)
    • e.g. changes to existing props, component refactors, module naming
  • Minor: your commit adds new functionality in a backward compatible way
    • add a feature: or feat: prefix to your commit message (bumps the minor version #.Y.#)
    • e.g. add net new feature
  • Patch: your commit changes something that already existed in a backward-compatible way
    • do not include either of the above in your commit message or description (bumps the patch version #.#.Z)
    • e.g. add/update minor styles, fix a bug, update a piece of documentation

Follow your commits to postscript-frontend, and address any changes needed to bump version.

Pull requests

PRs require one engineer approval. If working with a designer, tag them as well. Directly requesting review from those with good knowledge of your changes is helpful if they're available.

Additionally, post for review in #pull-requests and #front-end.

How to add a new Icon

We utilize SVGR CLI to turn SVGs into React components. See .svgrrc.js for our config.

  1. Add SVG(s) to src/icons/
  2. Run npm run svgr
  3. Upon success, a summary will be logged
  4. Add import * as React from 'react'; to the new module(s)
  5. Delete the original SVG file
  6. Export the JSX component in src/icons/index.ts; IconSet uses this barrel
  7. Run Storybook, and you should see the new component(s) in the Icon story examples automatically if everything has worked correctly

We utilize the following automatic transformations.

Creating components

Create your component with Typescript, its corresponding Storybook file, and a unit test file.

!! Be sure to add your new component to the exports list in src/index.ts and organize its display order in .storybook/preview.js