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

@gabardiles/ga-ds

v1.1.0

Published

GA Design System – tokens, primitives, typography and component catalogue

Downloads

81

Readme

GADS Design System

GADS Design System (this repo: gads-design-system) is the GA Design System token package plus an upload/compare app for Figma exports. Single source of truth for colors, typography, and component definitions.

Exported from Figma via plugin. Published as the npm package @gabardiles/ga-ds so any downstream tool (Storybook, Governor, AI Builder, Figma Make, apps) can import from the same versioned baseline.


What’s in this repo

| Part | Purpose | |------|--------| | Package (src/, dist/) | Design tokens, primitives, typography, component catalogue → published to npm as @gabardiles/ga-ds | | Upload app (apps/upload/) | Web UI to upload Figma export, compare with current tokens, and apply updates to src/tokens/ |


Upload app (update tokens from Figma)

  1. Export from Figma (plugin) → save e.g. components_v5.json.
  2. In this repo: cd apps/upload && npm install && npm run dev → open http://localhost:5174.
  3. On the page: click Load current from repo, then Choose file and select your export. Review the compare.
  4. Click Apply to repo to write the new file into src/tokens/components_v5.json.
  5. In the repo root: npm run build, npm run validate, then commit, push, and npm publish (see full steps on the upload page).

Install the package

npm install @gabardiles/ga-ds
# or
yarn add @gabardiles/ga-ds

Usage

Import everything

import {
  colorTokens,
  colorPrimitives,
  textStyles,
  toCSS,
  componentCatalogue,
  allowedComponents,
} from '@gabardiles/ga-ds'

Cherry-pick sub-modules

import { colorTokens }      from '@gabardiles/ga-ds/tokens'
import { colorPrimitives }  from '@gabardiles/ga-ds/primitives'
import { textStyles, toCSS } from '@gabardiles/ga-ds/typography'
import { componentCatalogue, allowedComponents } from '@gabardiles/ga-ds/components'

CSS custom properties (in your global stylesheet)

@import '@gabardiles/ga-ds/css';

/* Then use anywhere: */
.my-button {
  background: var(--surface-accent);
  color: var(--text-primary-inverse);
}

What's inside

| Export | Description | |---|---| | colorPrimitives | Raw hex values grouped by color scale (gray, blue, red…) | | overlayPrimitives | Dark/light overlay tokens with alpha values | | colorTokens | Semantic tokens resolved to hex (surface-, text-, border-, icon-) | | textStyles | 21 text style definitions (family, size, weight, lineHeight…) | | toCSS(style) | Convert a TextStyle to a CSS-in-JS object | | componentCatalogue | 123 component definitions grouped by section (29 groups) | | allowedComponents | Flat list of allowed component names – used by the Governor | | dist/tokens.css | All tokens as CSS custom properties |


Governor usage

The Governor can import this package to validate any design output:

import { allowedComponents, colorTokens } from '@gabardiles/ga-ds'

// Is this component allowed?
const isValid = allowedComponents.includes(componentName)

// Is this color token valid?
const tokenExists = componentName in colorTokens

Scripts (package root)

npm run validate   # Validates all token references & checks for issues
npm run build      # Builds dist/ (run after any JSON changes)

Updating (manual alternative to upload app)

  1. Export fresh JSONs from the Figma plugin
  2. Replace files in src/tokens/ (or use the upload app)
  3. Run npm run validate – fix any warnings
  4. npm run build
  5. Bump version and publish

Known issues

  • icon-surface-bold is unresolved in Figma (missing source token). Set to UNRESOLVED in the package until fixed in the DS file.
  • 16 components have duplicate canonical names from Figma (validator warns but does not block). Fix by renaming in Figma.