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

@chaine/keychaine

v2.5.1

Published

<p align="center"> <img width="100%" src="/static/Thumbnail.svg"> </p>

Downloads

66

Readme

🔗 Welcome to @chaine/keychaine

Documentation

Please stay tuned for detailed documentation. We just released this and are working hard to get out documentation hosted. Please reach out to us if you would like to contribute!

Installation

Install @chaine/keychaine in your project with your package manager of choice:

npm install @chaine/keychaine

// or

yarn add @chaine/keychaine

Publishing to NPM

1. prepare-publish command will get everything you need to publish to NPM.

yarn prepare-package

2. Change the version number in the package.json to a new verion.

3. Add to CHANGELOG.MD what was done

Do a quick dry-run:

npm publish --dry-run

Once that is done, just do:

npm publish -access public

Folder structure

Make sure to follow this basic folder structure:

.gitignore
package.json
rollup.config.js
tsconfig.json
jest.config.js
jest.setup.ts
src/
  TestComponent/
    TestComponent.tsx
    TestComponent.types.tsx
    TestComponent.scss
    TestComponent.stories.tsx
    TestComponent.test.ts
  index.ts

Icons (Octicons)

To use icons, import the following:

import { octicons } from '@chaine/keychaine/icons'

Then follow documentation here from Octicons:

import React from 'react'
import {BeakerIcon, ZapIcon} from '@chaine/icons/octicons

export default function Icon({boom}) {
  return boom ? <ZapIcon /> : <BeakerIcon />
}

You can also use this with Chakra's Icons:

import { Icon } from '@chaine/keychaine/icons'

Playroom

To view components in the playroom:

npm run playroom:start
# or
yarn playroom:start

To build:

npm run prepare

To run the development server:

npm run dev
# or
yarn dev

To run unit tests:

npm run test
# or
yarn dev

Author: AD

Jest

test should be used on your CI/CD pipeline and test:watch should be used when you're running your tests locally (they will re-run whenever a file is changed).

...
"scripts":
    {
        ....
        "test": "jest",
        "test:watch": "jest --watch",
        ....
    }
...

Troubleshooting Jest

If you get an issue where it Jest is looking for a .ts file instead of the .tsx file (or vice-versa), just clear the jest cache:

jest --clearCache

or

npx jest --clearCache

To-DO

  • [] Introducing Code Splitting (optional). See here