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

@icoms-detection/ui

v0.0.3

Published

This is the OFFICIAL UI library created by Icoms Detection to design their apps.

Downloads

6

Readme

Icoms design ystem

Icoms Detection design system

Commitizen friendly

Git

We work with two main branches.

main is the upper main which is the production one. dev-main is the main we are working with. Every checkout starts from this branch and are merged in this one as well.

Be careful where you want to merge your branches when making a new PR!

Husky

Husky is integrated in the repo. It is currently attached to 2 git hooks :

  1. commit-msg : Checks for commit message structure using commmitlint. It won't let you commit if the commit doesn't follow conventional commits
  2. pre-push : Runs tests & lints your code, and prevents from pushing if errors arise.

Commitizen

This repo is Commitizen friendly, meaning you can use it to craft your commit messages, following the convention, and ensure they pass through husky's filter.

If you don't have it installed on your computer, you can install this way :

$ npm install commitizen -g

And to use it to commit, you can run it this way

$ git cz

This launches a CLI Tool, which guides you throught the commit message. You usally only have to select a commit type and add a commit message, sometimes add a scope. You can skip through the rest with enter

Usage

Install packages the first time you open the project.

$ npm i

Run storybook and go navigate to localhost to see the storybook

$ npm run storybook

To publish on npm, clean your directory with $ git add && git commit -m "feat: cleaning"

Then make sure to bump your version. Enter the next two commands in your terminal to push the new package version.

$ npm version [<newversion> | major | minor | patch] -m "Upgrade to %s"
$ git push && git push --tags

FYI Unfortunately, the push command doesn’t send tags. To push the new tag you made, you’ll need to run the push command again with the --tags flag:

Let the pipeline do its job and publish for you.

What will my new version be and how does it work ?

For example, v1.3.0

  • 1 is the major

  • 3 is the minor

  • 0 is the patch

Typescript

Please take time to type your functions.

If you're new to typescript, checkout this handy cheatsheet or this one

Styling

This Ui library uses Stitches to create its components.

If you touch the tree (how files are structured in the app), make sure to import the files at the top in .storybook/preview.js so the styles appear in storybook.

Installation

This is a short installation guid to make everything work on a project.

Fonts

ONLY FOR CREATE REACT APP PROJECTS

Fonts can only be desserved by the public folder.

The project using this library must run some commands to generate the css and fonts files included in this ui library

Add the following content to your Makefile and run make fonts. It will auto-generate the files needed.

# Install fonts into this project from ui project
fonts:
	rm -rf public/fonts public/fonts.css
	cp -r node_modules/icoms-ui/dist/fonts public/fonts
	cp -r node_modules/icoms-ui/dist/fonts.css public

You can also add this dependency to build-parts (still in Makefile) by changing build-parts: test to build-parts: fonts test

Don't forget to add the stylesheet in public/index.html.

<link rel="stylesheet" href="fonts.css" />

If you have tailwind, extend your theme in tailwind.config.js with :

theme: {
  extend: {
    fontFamily: {
      header: ["SF-New-Republic"],
      content: ["Frutiger"],
    },
  },
}

otherwhise, you cans juste apply the fonts in pure css like font-family: "Frutiger";

Good to know

  • Might be a good idea to install np to handle package upload correclty

Useful links

To install headless/UI follow this https://frontend.blog/build-your-own-flexible-component-library-using-tsdx-typescript-tailwind-css-headless-ui/ To checkout the PR's modifications on style go to (Chromatic)[https://www.chromatic.com]