chalk-to-native
v1.0.0
Published
Codemod to migrate chalk and picocolors to native Node.js styleText
Maintainers
Readme
chalk-to-native
🚀 Codemod to migrate from
chalkandpicocolorsto Node.js nativeutil.styleText
¿Por qué migrar?
Node.js v21.7+ y v22.9+ incluyen util.styleText, una API nativa para estilizar texto en la terminal. Esto permite eliminar dependencias externas como chalk o picocolors.
🚀 Uso rápido (sin instalar nada)
npx chalk-to-native src/🔧 Ejemplos de uso
Transformar un archivo específico
npx chalk-to-native ruta/al/archivo.jsTransformar un directorio completo
npx chalk-to-native src/Modo dry-run (sin modificar archivos)
npx chalk-to-native src/ --dryVer output transformado
npx chalk-to-native src/ --print✨ Transformaciones
Este codemod transforma automáticamente:
| Antes (chalk/picocolors) | Después (nativo) |
|--------------------------|------------------|
| import chalk from 'chalk' | import { styleText } from 'node:util' |
| const chalk = require('chalk') | const { styleText } = require('node:util') |
| chalk.red('texto') | styleText('red', 'texto') |
| chalk.red.bold('texto') | styleText(['red', 'bold'], 'texto') |
| chalk.red('a', 'b', 'c') | styleText('red', 'a' + ' ' + 'b' + ' ' + 'c') |
📌 Ejemplo completo
Entrada:
import chalk from 'chalk';
console.log(chalk.red('Error!'));
console.log(chalk.green.bold('Success!'));Salida:
import { styleText } from 'node:util';
console.log(styleText('red', 'Error!'));
console.log(styleText(['green', 'bold'], 'Success!'));🧪 Tests
npm test📖 Requisitos
- Node.js v22.9+ (para
util.styleTextestable) - O Node.js v21.7+ (experimental con
--experimental-text-formatting)
🎨 Estilos soportados
Todos los modificadores de chalk están soportados por styleText:
- Colores:
black,red,green,yellow,blue,magenta,cyan,white,gray - Fondos:
bgBlack,bgRed,bgGreen,bgYellow,bgBlue,bgMagenta,bgCyan,bgWhite - Modificadores:
bold,dim,italic,underline,inverse,strikethrough
📄 Licencia
ISC
