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

@doist/product-libraries-tokens

v1.2.0

Published

A collection of tokens extracted from the Figma Product Libraries

Readme

Product Libraries Tokens

🤖 Automated synchronization between Doist's Product Libraries and our Android, iOS, and Web codebases.

The most up-to-date colors can be found here.

Consuming the package

This package can be installed via npm through the public npm registry. It is also privately mirrored to GitHub Packages:

npm install @doist/product-libraries-tokens

Import the color tokens as JSON, or reference the generated CSS themes:

import colors from '@doist/product-libraries-tokens/colors.json'
@import '@doist/product-libraries-tokens/css/td-light.css';

Development

  1. Use the node version in .node-version. We recommend a node version manager like fnm to switch versions automatically between projects.
  2. Obtain a Figma personal access token with the following scopes: file_content:read, library_assets:read, and library_content:read
  3. Copy .env.defaults from the root of the repository as .env, and fill in your Figma PAT under FIGMA_API_KEY
  4. Run npm i to install npm dependencies, then run npm start to fetch the latest style tokens from Figma and generate the output for each platform

Updating colors and releasing

To fetch the latest colors from Figma and update the generated assets, trigger the update-colors GitHub Action via the Actions tab.

The action pulls the latest color definitions from Figma, runs the transformation script to update all platforms' definitions, and classifies changes by semver severity:

  • major — feat!: tokens removed
  • minor — feat: tokens added
  • patch — fix: values changed

If there are changes, a PR will be opened with a title following the Conventional Commits scheme, with a changelog in the body. Once this PR is approved and merged, it's published automatically by semantic-release, updates CHANGELOG.md, publishes to the public npm registry and to GitHub Packages, and creates a GitHub release.

Non-releasing types like chore:, ci:, build:, and docs: do not cut a new version.

Adding or changing templates for generating color tokens

The config.json file is used to specify the templates used to build each platform's color tokens. For more details in the expected structure, please refer to the config.types.ts file.

To add a new template, create a new entry under workflow.templates and build a corresponding .handlebars file in the /src/colors/templates folder. You may also categorize templates into a new group by creating a new workflow entry with a matching folder in the templates folder.

We use the Handlebars templating engine to build our templates. Please refer to its language Guide for more details. A set of helpers is available to expose logic needed to format the data as needed for each platform.

Integrating with each platform

Typically, the design team will inform each platform about updated colors using the Doist/issues board. As these updates are shared, any developer from the client teams can initiate the update process:

  • Follow the Development section above to set up your local dev environment.
  • Generate the artifacts with npm start.
  • Create a PR describing the changes, tagging the other platform's heroes, linking to the request issue, and merge them into main.

iOS

Android

For any breaking change (e.g. attribute removals, name updates, etc), a migration guide should be provided by the design team, typically via a github issue.

Frontend

Install @doist/product-libraries-tokens. See Consuming the package.