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

@8sistemas/design-system

v1.0.5

Published

A design system used by internal projects at EightSystems

Downloads

188

Readme

The full documentations can be found in the Storybook page generated by this repository: https://eightsystems.github.io/design-system/

Using as a library

  1. To install the component library, run:
yarn add @8sistemas/design-system
  1. Inject the ThemeProvider in the project root. By default, the ThemeProvider uses the default Theme object included in the package. If you wish, you can specify your custom theme to match the project's needs (see more about theming and customization here).
import React from "react";
import ReactDOM from "react-dom";
import App from "./App";
import { Theme, ThemeProvider } from "@8sistemas/design-system";

ReactDOM.render(
    <React.StrictMode>
        <ThemeProviderInjector theme={Theme}>
            <App />
        </ThemeProviderInjector>
    </React.StrictMode>,
    document.getElementById("root")
);
  1. Import the fonts specified on the fontFaces object of the Theme in the way that makes the most sense for your project. These are the font imports for the default Theme object:
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
    href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap"
    rel="stylesheet"
/>
  1. Use the components in any place of the project that is in the scope of ThemeProvider and the project root. Use the Storybook generated documentation as reference for the components, props, and API's available.
import React from "react";
import { Button } from "@8sistemas/design-system";

const Example = () => <Button color="primary">Hello World</Button>;

Local Testing with Yalc

Local development and testing of authored packages can become problematic when using yarn/npm link due to constraints and problems with dependency resolution and symlink interoperability between file systems.

Yalc tries to solve this problem by acting as a simple local repository for your locally developed packages. That way, they behave like they would with a regular npm install / yarn add from the remote package repository, and we don't need to deal with duplicate dependencies and symlink shenanigans.

Usage

Install globally:

yarn global add yalc

Run:

yarn local:publish

Yalc will copy all the files that should be published in remote NPM registry and generate a log of the that would be included in the published package.

Now, in the project that will consume the design system's components:

yalc add @8sistemas/design-system

To update during active development:

# Publish a new version to the yalc "store" from the design system directory:
yarn local:publish

# Uptade the package from the newly published version on the consumer project:
yalc update @8sistemas/design-system

Managing installations:

  • Run yalc installations clean @8sistemas/design-system to unpublish a package published with yalc publish
  • Run yalc installations show @8sistemas/design-system to show all packages to which @8sistemas/design-system has been installed.