@csstools/csstools-cli
TypeScript icon, indicating that this package has built-in type declarations

3.0.18 • Public • Published

CSSTools CLI PostCSS Logo

npm version Build Status Discord

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;
}

Readme

Keywords

none

Package Sidebar

Install

npm i @csstools/csstools-cli

Weekly Downloads

88

Version

3.0.18

License

MIT-0

Unpacked Size

37.5 kB

Total Files

5

Last publish

Collaborators

  • romainmenke
  • alaguna
  • jonathantneal