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

esbie-component-library

v1.0.15

Published

Welcome to the **Esbie Component Library**! This project is a reusable, customisable component library built with React, TypeScript, and styled-components. It follows atomic design principles and includes components organised into atoms, molecules, organi

Downloads

752

Readme

Esbie Component Library

Welcome to the Esbie Component Library! This project is a reusable, customisable component library built with React, TypeScript, and styled-components. It follows atomic design principles and includes components organised into atoms, molecules, organisms, and templates. The library is bundled using Rollup and tested with Jest and React Testing Library. A sandbox app is also included for developing and testing components.

Table of Contents

Project Structure

This repository uses a monorepo structure with pnpm workspaces. The main folders include:

  • src/: Contains the component library source code.
  • sandbox/: A development environment to test and preview components.

Component Structure

The component library is organized following atomic design principles:

  • Atoms: Basic, reusable elements like Button, Icon, and Text.
  • Molecules: Combinations of atoms, such as FormField or Card.
  • Organisms: Groups of molecules, like Form or Header.
  • Templates: High-level layouts, such as BasicLayout or DashboardLayout.

Each component folder typically contains:

  • ComponentName.tsx: The main component file.
  • ComponentName.test.tsx: Jest test file.
  • index.ts: Barrel file for easier imports.

Getting Started

Prerequisites

  • Node.js: Ensure Node.js is installed (v14+ recommended).
  • pnpm: Install pnpm globally if you haven't already: npm install -g pnpm

Installation

  1. Clone the repository:

git clone https://github.com/your-username/esbie-component-library.git

  1. Navigate to the project directory:

cd esbie-component-library

  1. Install dependencies:

pnpm install

Running the Sandbox App

To test components in a live environment, run the sandbox app: cd sandbox

pnpm run dev --filter sandbox

This will start the Vite dev server at http://localhost:2000 (or another port if configured). Open this address in your browser to preview the components in the sandbox environment.

Scripts

The following commands are available in the project:

  • pnpm run build: Builds the component library using Rollup.
  • pnpm run dev --filter sandbox: Starts the sandbox app for testing components in a live environment.
  • pnpm run test: Runs tests for all components using Jest.

Testing Components

Components are tested with Jest and React Testing Library. Test files are located alongside each component and follow the .test.tsx naming convention.

To run tests:

pnpm run test

Notes

CSS Reset Recommendation: For consistent styling across browsers, I recommend applying a CSS reset or normalisation in your codebase. This component library does not include a global CSS reset, allowing you to choose the best approach for your project.

Contributing

Contributions are welcome! If you’d like to contribute to this project, please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/YourFeature).
  3. Make your changes and commit them (git commit -m 'Add YourFeature').
  4. Push to your branch (git push origin feature/YourFeature).
  5. Open a pull request to the main branch.

Please ensure your code follows the existing style, is well-tested, and includes documentation if necessary.

License

This project is licensed under the MIT License. See the LICENSE file for details.