CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-unocss--cli

CLI for UnoCSS that enables CSS generation from utility classes in traditional backends and static environments.

Pending
Overview
Eval results
Files

cli.mddocs/

Command Line Interface

Full-featured CLI for CSS generation with extensive configuration options including watch mode, custom output paths, and transformer support.

Capabilities

Start CLI

Initializes and starts the CLI application with command-line argument parsing and option handling.

/**
 * Initializes and starts the CLI application with command parsing
 * @param cwd - Working directory (defaults to process.cwd())
 * @param argv - Command line arguments (defaults to process.argv)
 * @param options - Default CLI options to merge with command arguments
 * @returns Promise that resolves when CLI processing completes
 */
function startCli(
  cwd?: string,
  argv?: string[],
  options?: CliOptions
): Promise<void>;

Usage Examples:

// Note: startCli may not be directly exported from main package entry
// Check package build outputs for correct import path
import { startCli } from "@unocss/cli";

// Start with default process arguments
await startCli();

// Start with custom working directory
await startCli("/path/to/project");

// Start with custom arguments
await startCli(
  process.cwd(),
  ["", "", "src/**/*.html", "-o", "dist/styles.css", "--watch"]
);

// Start with default options
await startCli(process.cwd(), process.argv, {
  outFile: "uno.css",
  preflights: true,
});

CLI Command Format

The CLI accepts glob patterns and various options:

unocss [...patterns] [options]

Command Arguments

  • [...patterns] - One or more glob patterns for files to process

Command Options

  • -o, --out-file <file> - Output CSS file path (defaults to "uno.css" in current directory)
  • --stdout - Output CSS to STDOUT instead of file
  • -c, --config [file] - Path to UnoCSS configuration file
  • -w, --watch - Enable watch mode for automatic rebuilding
  • --write-transformed - Update source files with transformed utilities
  • --preflights - Enable CSS preflights (default: true)
  • -m, --minify - Minify generated CSS output

CLI Examples

# Basic CSS generation
unocss "src/**/*.html"

# Custom output file
unocss "src/**/*.html" --out-file dist/styles.css

# Multiple file patterns
unocss "src/**/*.html" "src/**/*.js" --out-file build/uno.css

# Watch mode for development
unocss "src/**/*.{html,js,ts}" --watch --out-file dist/uno.css

# Output to stdout for piping
unocss "src/**/*.html" --stdout > styles.css

# Use custom configuration
unocss "src/**/*.html" --config uno.config.ts

# Minified output
unocss "src/**/*.html" --minify --out-file dist/uno.min.css

# Transform source files in place
unocss "src/**/*.html" --write-transformed

# Disable preflights
unocss "src/**/*.html" --no-preflights

Configuration File Integration

The CLI integrates with UnoCSS configuration files and supports multi-entry configurations:

// uno.config.js
import { defineConfig } from 'unocss'

export default defineConfig({
  cli: {
    entry: [
      {
        patterns: ['src/pages/**/*.html'],
        outFile: 'dist/pages.css',
      },
      {
        patterns: ['src/components/**/*.js'],
        outFile: 'dist/components.css',
      },
    ],
  },
  // ... other UnoCSS configuration
})

When using configuration files, the CLI will process multiple entry points automatically:

# Processes all entries defined in config
unocss --config uno.config.js

Install with Tessl CLI

npx tessl i tessl/npm-unocss--cli

docs

cli.md

errors.md

index.md

programmatic.md

watching.md

tile.json