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

emily-css

v1.2.8

Published

A config-driven utility CSS framework. Define your brand once, generate the CSS.

Readme

emilyCSS

Token-first, framework-agnostic CSS generation for teams that want predictable utilities without adopting a full app framework.

What emilyCSS is

emilyCSS lets you define design tokens in emily.config.json and generate static CSS you can use anywhere: HTML, Drupal, WordPress, Power Pages, React, Vue, and other environments.

Why teams use it

  • Token-first utility generation from your own colours, spacing, typography, and motion settings
  • Framework-agnostic output (dist/emily.css and dist/emily.min.css)
  • Accessibility-focused utility coverage (focus rings, visually-hidden helpers, motion-aware variants)
  • Broader Tailwind-style compatibility coverage for everyday migration classes
  • Tooling support with manifest and IntelliSense JSON generation
  • CommonJS package with Node 18+ compatibility

Install and basic workflow

npm install emily-css
npx emily-css init
npx emily-css build
npx emily-css watch

Link production CSS in your project:

<link rel="stylesheet" href="./dist/emily.min.css">

Core commands

npx emily-css init
npx emily-css build
npx emily-css build --profile
npx emily-css watch
npx emily-css info
npx emily-css doctor
npx emily-css migrate
npx emily-css migrate --import-colours
npx emily-css manifest
npx emily-css showcase
npx emily-css help
npx emily-css version

Equivalent npm scripts (when added by emily-css init):

npm run emily:build
npm run emily:watch
npm run emily:doctor
npm run emily:migrate
npm run emily:info
npm run emily:manifest
npm run emily:showcase
npm run emily:version
npm run emily:help

Doctor and migrate

  • doctor checks for unknown EmilyCSS classes and variants.
  • doctor now also reports non-failing accessibility warnings (for example obvious focus-removal or same-token text/background patterns).
  • migrate is report-only and helps plan Tailwind-to-Emily migrations without modifying files.
  • For best migrate accuracy, generate the full framework/manifest first (emily-css build --keep-full or enable manifest: true).

Tailwind compatibility additions

Recent utility coverage additions include:

  • Negative margin utilities: -m-*, -mx-*, -my-*, -mt-*, -mr-*, -mb-*, -ml-*
  • Positioning full values: top-full, right-full, bottom-full, left-full, inset-full, inset-x-full, inset-y-full
  • Box sizing: box-border, box-content
  • Grid alignment: justify-items-*, justify-self-*
  • Sizing completion: max-h-none
  • Typography completion: font-thin, font-extralight, font-extrabold, font-black
  • Background origin and gradient directions: bg-origin-*, bg-gradient-to-*
  • Transition completion: transition-all, transition-shadow
  • Transform axis utilities: scale-x-*, scale-y-*, extended skew-x-*, skew-y-*, and negative skew variants
  • Overscroll behavior: overscroll-*, overscroll-x-*, overscroll-y-*

Migration scanner utility-prefix detection was also expanded for classes like box-*, overscroll-*, transition-*, color-scheme-*, field-sizing-*, and scrollbar-*.

Manifest and IntelliSense JSON

Enable machine-readable outputs when needed:

{
  "manifest": true,
  "intellisense": {
    "enabled": true,
    "output": "dist/emily.intellisense.json"
  }
}

Generated files:

  • dist/emily.manifest.json
  • dist/emily.intellisense.json

These files are intended for tooling, audits, and editor integrations. A VSCode extension is not required for generation.

Minimal configuration example

{
  "name": "My Brand",
  "fontFamily": {
    "heading": "atkinson",
    "body": "inter"
  },
  "colours": {
    "brand": "#0077B6",
    "accent": "#0EA5E9",
    "neutral": "#57534E",
    "success": "#0F766E",
    "error": "#B91C1C"
  },
  "manifest": true,
  "intellisense": true
}

Notes on compatibility

  • Package format: CommonJS
  • Runtime support: Node 18+
  • ESM-only major upgrades are intentionally avoided where they would break compatibility

License

MIT