transform-to-tailwindcss-core
Version:
šØ A powerful, lightweight core library to transform CSS styles or style objects into Tailwind CSS utility classes. Perfect for migration projects and dynamic style generation.
72 lines (56 loc) ⢠2.01 kB
JavaScript
import process from 'node:process'
// eslint-disable-next-line antfu/no-import-dist
import { transformStyleToTailwindcss } from './dist/index.js'
const args = process.argv.slice(2)
function showHelp() {
console.log(`
šØ Transform to Tailwind CSS Core CLI
Usage:
transform-to-tailwind [options] "<css-styles>"
Options:
-r, --rem Convert pixel values to rem units
-d, --debug Enable debug mode with detailed logs
-h, --help Show this help message
-v, --version Show version number
Examples:
transform-to-tailwind "color: red; font-size: 16px"
transform-to-tailwind --rem "margin: 8px; padding: 16px"
transform-to-tailwind --debug "display: flex; justify-content: center"
Documentation: https://github.com/Simon-He95/transform-to-tailwindcss-core#readme
`)
}
function showVersion() {
import('./package.json')
.then(pkg => console.log(`v${pkg.default.version}`))
.catch(() => console.log('Version not found'))
}
if (args.length === 0 || args.includes('-h') || args.includes('--help')) {
showHelp()
process.exit(0)
}
if (args.includes('-v') || args.includes('--version')) {
showVersion()
process.exit(0)
}
const isRem = args.includes('-r') || args.includes('--rem')
const isDebug = args.includes('-d') || args.includes('--debug')
const cssStyles = args.find(arg => !arg.startsWith('-')) || ''
if (!cssStyles) {
console.error('ā Error: Please provide CSS styles to transform')
console.log('Use --help for usage information')
process.exit(1)
}
try {
const [tailwindClasses, unconverted] = transformStyleToTailwindcss(cssStyles, isRem, isDebug)
console.log('ā
Transformation completed!')
console.log(`š Input: ${cssStyles}`)
console.log(`šØ Tailwind: ${tailwindClasses}`)
if (unconverted.length > 0) {
console.log(`ā ļø Unconverted: ${unconverted.join('; ')}`)
}
}
catch (error) {
console.error('ā Error during transformation:', error.message)
process.exit(1)
}