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

@inkdropapp/theme-dev-helpers

v0.6.2

Published

A helper module for creating themes for Inkdrop

Downloads

289

Readme

Theme dev helpers

A helper module for creating themes for Inkdrop.

Requirements

Installation

You can install the @inkdropapp/theme-dev-helpers in your theme project:

npm install --save-dev @inkdropapp/theme-dev-helpers

Generate Palette

It extracts the computed values of a theme's CSS variables and writes them to the specified path.

A theme is unified — it styles the app UI, the editor syntax, and the Markdown preview at once — so a single run extracts every surface's variables and merges them into one palette.json:

  • the app chrome plus the note status, tags, and task-progress palettes,
  • the editor syntax highlighting tokens, and
  • the rendered Markdown preview.

Each surface's tokens are read off the element they are scoped under (the document body, .cm-editor, and .mde-preview respectively).

generate-palette [options] <theme-name>

Parameters

You can specify the following options:

  • -a, --appearance <light/dark>: Force the UI appearance ("light" or "dark"). Defaults to the theme's declared appearance.
  • -o, --output: The file path where the extracted variables will be saved (default: ./palette.json).

Example

If your theme package name doesn't include 'dark' but it is a dark mode:

generate-palette -a dark

Run dev server

It provides a simple UI to preview your theme with hot-reloading.

dev-server

Development

Dependencies are managed with pnpm and the runtime is Node.js (>= 24). The generate-palette CLI is bundled to plain JS in dist/ with tsdown (Node can't run a dependency's .ts files from node_modules); pnpm install builds it automatically via the prepare script. The dev-server CLI is served straight from source by Vite.

pnpm install      # install dependencies (also builds dist/ via prepare)
pnpm build        # bundle the generate-palette CLI to dist/ with tsdown
pnpm format       # format with oxfmt
pnpm lint         # lint with oxlint
pnpm typecheck    # type-check with tsc
pnpm test         # run unit tests (Vitest)