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

@csstools/csstools-cli

v4.0.11

Published

Transform CSS with any plugin from csstools/postcss-plugins

Downloads

422

Readme

CSSTools CLI

CSSTools CLI lets you run any plugin from @csstools/postcss-plugins from the command line.

Usage

We recommend using the CSSTools CLI as a prototyping and debugging tool. With npx you can use the CLI directly without installing it globally.

[!CAUTION] If you are building/customizing a toolchain it is best not to use the CLI.

General Help :

npx -y @csstools/csstools-cli
CSSTools CLI

  Transform CSS with any plugin from https://github.com/csstools/postcss-plugins

Usage:
  @csstools/csstools-cli postcss-preset-env [input.css] [OPTIONS] [-o|--output output.css]
  @csstools/csstools-cli postcss-preset-env <input.css>... [OPTIONS] --dir <output-directory>
  @csstools/csstools-cli postcss-preset-env <input.css>... [OPTIONS] --replace

Available Plugins:
  postcss-preset-env
  css-blank-pseudo
  css-has-pseudo
  css-prefers-color-scheme
  postcss-attribute-case-insensitive
  postcss-cascade-layers
  postcss-color-function
  postcss-color-functional-notation
  postcss-color-hex-alpha
  postcss-color-mix-function
  postcss-color-rebeccapurple
  postcss-custom-media
  postcss-custom-properties
  postcss-custom-selectors
  postcss-dir-pseudo-class
  postcss-double-position-gradients
  postcss-exponential-functions
  postcss-focus-visible
  postcss-focus-within
  postcss-font-format-keywords
  postcss-gap-properties
  postcss-gradients-interpolation-method
  postcss-hwb-function
  postcss-ic-unit
  postcss-image-set-function
  postcss-is-pseudo-class
  postcss-lab-function
  postcss-light-dark-function
  postcss-logical
  postcss-logical-float-and-clear
  postcss-logical-resize
  postcss-logical-viewport-units
  postcss-media-minmax
  postcss-media-queries-aspect-ratio-number-values
  postcss-nested-calc
  postcss-nesting
  postcss-normalize-display-values
  postcss-oklab-function
  postcss-overflow-shorthand
  postcss-place
  postcss-pseudo-class-any-link
  postcss-scope-pseudo-class
  postcss-selector-not
  postcss-stepped-value-functions
  postcss-text-decoration-shorthand
  postcss-trigonometric-functions
  postcss-unset-value

Plugin Help:
  @csstools/csstools-cli <plugin-name>
  @csstools/csstools-cli postcss-preset-env

Plugin Help :

Each plugin can have specific options. These can be found by running npx -y @csstools/csstools-cli <plugin-name>. More details can always be found in the README of that plugin on github.

npx -y @csstools/cli postcss-preset-env
PostCSS Preset Env

  Lets you convert modern CSS into something most browsers can understand, determining the polyfills you need based on your targeted browsers or runtime environments.

Usage:
  @csstools/cli postcss-preset-env [input.css] [OPTIONS] [-o|--output output.css]
  @csstools/cli postcss-preset-env <input.css>... [OPTIONS] --dir <output-directory>
  @csstools/cli postcss-preset-env <input.css>... [OPTIONS] --replace

Options:
  -o, --output          Output file
  -d, --dir             Output directory
  -r, --replace         Replace (overwrite) the input file
  -m, --map             Create an external sourcemap
  --no-map              Disable the default inline sourcemaps
  -p, --plugin-options  Stringified JSON object with plugin options

Plugin Options:
  stage                         number
  minimumVendorImplementations  number
  features                      object
  env                           string
  browsers                      string
  autoprefixer                  object
  preserve                      boolean
  logical                       object
  enableClientSidePolyfills     boolean
  debug                         boolean

  {
    "stage": 0,
    "minimumVendorImplementations": 2,
    "features": {
      "blank-pseudo-class": {
        "preserve": false
      },
      "color-functional-notation": {
        "preserve": true
      }
    },
    "env": "production",
    "browsers": "last 2 versions",
    "autoprefixer": {
      "grid": true
    },
    "preserve": false,
    "logical": {
      "inlineDirection": "left-to-right",
      "blockDirection": "top-to-bottom"
    },
    "enableClientSidePolyfills": false,
    "debug": false
  }

Example

Copy this bit of CSS to have it in your clipboard.

a, b {
  color: red;

  & c, & d {
    color: white;
  }
}

Run :

pbpaste | ... pipes the clipboard contents to the next command.

pbpaste | npx -y @csstools/csstools-cli postcss-nesting --no-map

Output :

a, b {
  color: red
}
a c, b c, a d, b d {
    color: white;
  }

Copy this bit of CSS to have it in your clipboard.

.banner {
  color: #222222;
  inset: logical 0 5px 10px;
  padding-inline: 20px 40px;
  resize: block;
  transition: color 200ms;
}

Run :

pbpaste | npx -y @csstools/csstools-cli postcss-logical --no-map --plugin-options '{ "dir": "rtl" }'

note the single quotes around the JSON object with plugin options.

Output :

.banner {
  color: #222222;
  top: 0;
  left: 5px;
  bottom: 10px;
  right: 5px;
  padding-right: 20px;
  padding-left: 40px;
  resize: vertical;
  transition: color 200ms;
}