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

@asyarb/panko

v0.1.2

Published

Proof of concept repository showcasing how we can build a robust and reusable design system for a cheapo Business Template in JAMStack-Headless CMS sites.

Downloads

7

Readme

JAMStack Design System/Business Template POC

Proof of concept repository showcasing how we can build a robust and reusable design system for a cheapo Business Template in JAMStack-Headless CMS sites.

This library is intended to be consumed as a package that we can drop in to any site or tooling (NextJS or Gatsby). This would be accomplished just like any other npm or yarn package.

Getting Started

  1. Clone this repo.
  2. Run yarn.
  3. Run yarn start to start your development environment.

Technical Stack

This design system was created and developed with the following:

  • React - Declarative, reusable components.
  • TypeScript - Static typechecking.
  • TailwindCSS - Declarative and performant utility-based CSS.
  • StoryBook - Dedicated and isolated environment for developing components.

Project Structure Summary

Notable files in project root

The only notable file in the project root is our taildinw.config.js file. Use this file to customize our generated utility classes for styling.

Right now, we're mostly relying on the default theme provided out of the box.

Components

Within the src directory we have our components folder. This is where most development will take place.

Within components, we have the following folders:

core - Low level components that will aid in quickly creating larger components. An example of one of these components would is our <AspectRatio> component. This component ensures that an image is always affixed to a certain x:y ratio.

These components should not have any styling and should be entirely utility-centric.

common - Components that are commonly reused across larger components that contain styling. Examples of components in this directory include <Button> or <Heading>.

These components should not have any spacing related styling applied to them by default. These components should always provide an intuitive API to allow spacing/alignment to be modified via props or Tailwind classes.

Css

Within the css directory we have 3 stylesheets. For the most part, we should avoid writing custom CSS as much as possible, and leverage Tailwind utilities whenever we can. However, sometimes we need to eject and write plain CSS (CSS grid, clip-path, etc.), so we can use these stylesheets to do so.

base.css - contains our custom preflight styles for our system. This shouldn't ever need to be modified.

components.css - contains custom CSS styling for each component that may need it. When writing custom CSS, adhere to standard BEM practice by using the component's name as the top level Block.

Whenever possible, leverage Tailwind's theme(), @screen, and @apply directives. This helps to ensure design consistency even when writing custom CSS.

License

MIT.