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 🙏

© 2026 – Pkg Stats / Ryan Hefner

sushi-system

v1.0.2

Published

A scalable, atomic-design-based React UI system and documentation platform, built as a monorepo using [pnpm workspaces](https://pnpm.io/workspaces) and [Turbo](https://turbo.build/repo) for fast, incremental builds. This project provides a robust foundati

Readme

sushi-system

A scalable, atomic-design-based React UI system and documentation platform, built as a monorepo using pnpm workspaces and Turbo for fast, incremental builds. This project provides a robust foundation for building, theming, and documenting React UI components with TypeScript, Material UI, and Next.js.

📦 Published Packages

The sushi-system packages are published to our GitLab registry and available for use in your projects:

Registry

https://gitlab.podro.tech/api/v4/projects/137/packages/npm/

Monorepo Structure

.
├── packages/
│   ├── sushi-ui/      # Atomic Design UI library (Atoms & Molecules)
│   └── sushi-theme/   # Theme provider and utilities
├── docs/
│   ├── next-app/      # Next.js documentation site
│   └── storybook/     # Storybook for UI components
├── clean.sh           # Utility script to clean build outputs and node_modules
├── pnpm-workspace.yaml
├── package.json       # Root scripts and dev dependencies
├── turbo.json         # Turbo task runner configuration
└── tsconfig.base.json # Shared TypeScript config

Packages

@sushi-system/ui

  • Atomic Design: Implements Atoms (basic UI elements) and Molecules (composed UI patterns).
  • Tech: Built with React, TypeScript, Material UI, and Emotion.
  • Testing: Uses Jest, Vitest, and React Testing Library.
  • Docs: See Atoms and Molecules guidelines.

@sushi-system/theme

  • Theme Provider: Custom Material UI theme with light/dark modes and RTL/LTR support.
  • Utilities: Theme helpers for spacing, palette, and typography.
  • Usage: Wrap your app with SushiThemeProvider for consistent theming.

Documentation


Getting Started

For Development (Contributing to sushi-system)

  1. Install dependencies:
    pnpm install
  2. Build all packages:
    pnpm run build:packages
  3. Run Storybook:
    pnpm run storybook
  4. Run Next.js docs app:
    cd docs/next-app && pnpm dev

For Using sushi-system Packages

  1. Configure your project's .npmrc:

    @sushi-system:registry=https://gitlab.podro.tech/api/v4/projects/137/packages/npm/
    //gitlab.podro.tech/api/v4/projects/137/packages/npm/:_authToken=access tokens
    always-auth=true

    Note: Replace auth_token with your actual GitLab personal access token.

  2. Install packages:

    npm install @sushi-system/theme @sushi-system/ui
  3. Use in your React app:

    import { ThemeProvider, createTheme } from "@sushi-system/theme";
    import { Button, Flex } from "@sushi-system/ui";
    
    const theme = createTheme({
      palette: {
        primary: { main: "#1976d2" },
        secondary: { main: "#dc004e" },
      },
    });
    
    function App() {
      return (
        <ThemeProvider theme={theme}>
          <Flex direction="column" gap="16px">
            <Button variant="primary">Primary Button</Button>
            <Button variant="secondary">Secondary Button</Button>
          </Flex>
        </ThemeProvider>
      );
    }

Scripts (root)

  • pnpm run storybook — Launch Storybook for all UI packages
  • pnpm run build:packages — Build all workspace packages using Turbo
  • pnpm run test — Run all tests across packages using Turbo
  • pnpm run format — Format codebase with Prettier
  • pnpm run clean — Clean all build outputs and node_modules (see clean.sh)

Publishing Scripts

  • ./publish-packages.sh — Publish all packages to GitLab registry
  • ./bump-version.sh [patch|minor|major] — Bump package versions
  • ./check-versions.sh — Check available package versions

Note: This project uses Turbo as the task runner for fast, incremental builds and caching. Turbo automatically handles dependencies between packages and caches build outputs for improved performance.


Development

  • TypeScript: Strict mode, shared config in tsconfig.base.json
  • Prettier: Enforced code style
  • Turbo: Fast, incremental builds with intelligent caching
  • Atomic Design: Follow Atoms and Molecules guidelines
  • Testing: Use Vitest/Jest/React Testing Library for all components
  • Theming: Use @sushi-system/theme for consistent design

Publishing

Prerequisites

  1. GitLab Access Token: Create a personal access token with read_api and write_packages scopes
  2. Configure .npmrc: Add your token to the project's .npmrc file

Publishing Process

  1. Bump Versions (if needed):

    ./bump-version.sh patch  # or minor/major
  2. Publish Packages:

    ./publish-packages.sh
  3. Verify Publication:

    ./check-versions.sh

Package Registry

  • Registry URL: https://gitlab.podro.tech/api/v4/projects/137/packages/npm/
  • Web Interface: https://gitlab.podro.tech/projects/137/packages
  • Scope: @sushi-system

Documentation

  • Installation Guide: See usage examples above
  • Component Documentation: Available in Storybook (pnpm run storybook)
  • API Documentation: Check individual package READMEs

License

ISC (see package.json)