CLI for UnoCSS that enables CSS generation from utility classes in traditional backends and static environments.
—
Full-featured CLI for CSS generation with extensive configuration options including watch mode, custom output paths, and transformer support.
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,
});The CLI accepts glob patterns and various options:
unocss [...patterns] [options][...patterns] - One or more glob patterns for files to process-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# 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-preflightsThe 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.jsInstall with Tessl CLI
npx tessl i tessl/npm-unocss--cli