Skip to main content
Deno 2 is finally here 🎉️
Learn more

deno github workflow npm package publishing workflow coverage percentage of crayon doc.deno.land badge for crayon size of mod.ts

Crayon logo: Totally not creppy humanized crayon staring and waving hand at you

🖍️ Crayon

📚 About

Crayon is terminal styling module written in Typescript.

From the ground up its goals is to be fast, relatively lightweight and modular.

🖍️ Crayon.js offers:

  • High performance
  • 📦 No dependencies
  • 🧑‍💻 Good code quality
  • 🗑️ Modularity (no unnecessary code)
  • 🧐 Familiar API (chalk-like)
  • 🦄 Automatic color fallbacking
    • 🎨 Automatic color detection via color_support extension
  • 🔗 Supported nesting & chaining
  • 🪢 Not extending String.prototype
  • 🌈 24bit (16.7m - truecolor) and 8bit (256 - highcolor) color support

⚙️ Usage

  • On deno:
// Remember to replace "version" with semver version
import { crayon } from "https://deno.land/x/crayon@version/mod.ts";

console.log(crayon.red("its red!"));
  • On node:
import { crayon } from "crayon.js";

console.log(crayon.red("its red!"));

🧩 Extensions

To add new functionality to Crayon you can use ready or create your own extensions.

Crayon’s extensions are stored in src/extensions

🤝 Contributing

Crayon is open for any contributions.
If you feel like you can enhance this project - please open an issue and/or pull request.
Code should be well document and easy to follow what’s going on.

Since the start of development on Crayon 3.0 this project follows conventional commits spec.
If your pull request’s code could introduce understandability trouble, please add comments to it.

📝 Licensing

This project is available under MIT License conditions.