0.0.2 ⢠Published 5 months ago
@0x1js/tailwind-handler v0.0.2
@0x1js/tailwind-handler
š Intelligent Tailwind CSS Processor - Automatically detects and processes your project's Tailwind CSS through your installed packages.
⨠Features
- š Automatic Discovery: Finds your CSS files in standard locations
- ā” Smart Processing: Processes through your installed Tailwind packages
- šÆ Version Aware: Supports both Tailwind v3 and v4
- š Multi-Strategy: Multiple fallback approaches for reliability
- š¦ Zero Config: Works out of the box with standard project setups
- š Future-Proof: Compatible with current and future Tailwind versions
š¦ Installation
bun add @0x1js/tailwind-handlerš Quick Start
import { processTailwindFast } from '@0x1js/tailwind-handler';
// Automatically finds and processes your project's CSS
const result = await processTailwindFast('./my-project', {
outputPath: 'dist/styles.css',
config: {
content: ['src/**/*.{js,ts,jsx,tsx}']
}
});
console.log(`ā
Generated: ${result.css.length} bytes`);
console.log(`ā” Processing time: ${result.processingTime}ms`);š§ How It Works
1. File Discovery
Automatically scans for CSS files in common locations:
app/globals.css # Next.js/0x1 style
src/app/globals.css # Nested structure
styles/globals.css # Traditional
css/main.css # Standard2. Directive Detection
Recognizes Tailwind directives:
@import "tailwindcss"(v4)@tailwind base|components|utilities(v3)@layerand@applydirectives
3. Smart Processing
Processes through your installed Tailwind packages via PostCSS
4. Graceful Fallback
Provides essential CSS if processing fails
šÆ Project Setup
Tailwind v4 Projects
# Install dependencies
bun add tailwindcss@^4.0.0 @tailwindcss/postcss postcss
# Create CSS file (app/globals.css)
@import "tailwindcss";
# Create PostCSS config (postcss.config.js)
export default {
plugins: {
'@tailwindcss/postcss': {},
autoprefixer: {},
},
};Tailwind v3 Projects
# Install dependencies
bun add -d tailwindcss@^3.0.0 postcss autoprefixer
# Create CSS file (styles/globals.css)
@tailwind base;
@tailwind components;
@tailwind utilities;š Advanced Usage
Manual Handler Creation
import { TailwindHandler } from '@0x1js/tailwind-handler';
const handler = new TailwindHandler('./project', {
content: ['src/**/*.{js,ts,jsx,tsx}'],
outputPath: 'dist/styles.css'
});
const result = await handler.process();Debug Mode
// Enable detailed logging
process.env.DEBUG = '@0x1js/tailwind-handler';
// Shows processing steps:
// [TailwindHandler] Found CSS file: app/globals.css (16490 bytes)
// [TailwindHandler] CSS contains Tailwind directives, processing...
// [TailwindHandler] Processing with Tailwind v4
// [TailwindHandler] PostCSS processing complete: 85342 bytesšØ Framework Integration
0x1 Framework
// Automatic integration - no setup required
// Uses 0x1-enhanced CSS processorBuild Scripts
import { processTailwindFast } from '@0x1js/tailwind-handler';
export async function buildCSS() {
const result = await processTailwindFast(process.cwd(), {
outputPath: 'dist/styles.css',
config: { content: ['src/**/*.{js,ts,jsx,tsx}'] }
});
console.log(`ā
CSS built in ${result.processingTime}ms`);
}š ļø Troubleshooting
No CSS generated?
- Ensure Tailwind packages are installed
- Check CSS file contains proper directives
- Enable debug mode for detailed logs
Processing failed?
- Verify PostCSS config for v4 projects
- Check content paths in configuration
- Ensure CSS syntax is valid
Wrong version detected?
- Check package.json dependencies
- Ensure consistent Tailwind version usage
š API Reference
processTailwindFast(projectPath, options)
Parameters:
projectPath: Project root directoryoptions.outputPath: CSS output file pathoptions.config.content: File patterns to scan for classes
Returns:
{
success: boolean;
css: string;
processingTime: number;
fromCache: boolean;
}TailwindHandler Class
// Constructor
new TailwindHandler(projectPath: string, config: TailwindConfig)
// Main method
async process(): Promise<{
css: string;
fromCache: boolean;
processingTime: number;
}>
// Configuration
interface TailwindConfig {
content: string[];
outputPath?: string;
}š Best Practices
- Standard Locations: Place CSS in
app/globals.cssorstyles/globals.css - Proper Dependencies: Install Tailwind packages in your project
- Accurate Content: Specify correct file patterns for optimal output
- PostCSS Config: Include for v4 projects
- Debug Logging: Use when troubleshooting issues
š License
MIT Ā© 0x1 Framework
Reliable Tailwind CSS processing for modern web projects