Beautiful console logger
# npm
npm install -D coloid
# yarn
yarn add -D coloid
# pnpm
pnpm install -D coloid
# bun
bun install -D coloid
Import and use coloid
or createColoid
function to create new instance.
import { coloid, createColoid } from "coloid";
const newColoid = createColoid({
// options
});
coloid.info("Hello, world!");
newColoid.info("Hello, world!");
fatal
,error
,warn
,box
,log
,info
,success
,fail
,ready
,debug
,trace
coloid.box(`New version available: 1.0.0`);
coloid.box({
title: "New version available",
message: `You can update to 1.0.0`,
style: {
borderColor: "brightYellow",
},
});
export type BoxStyle = {
type: BoxTypes;
borderColor: typeof foregroundColorNames;
verticalAlign: "top" | "center" | "bottom";
padding: number;
marginTop: number;
marginBottom: number;
marginLeft: number;
};
export type BoxOptions = {
title?: string;
content: string;
style: Partial<BoxStyle>;
};
These are border styles available:
single
,double
,round
,bold
,singleDouble
,doubleSingle
,classic
,arrow
Prompts are based on @clack/prompts
package from https://github.com/natemoo-re/clack
coloid.intro("Welcome to the project setup!");
const projectType = await coloid.select({
message: "Pick a project type.",
options: [
{ value: "ts", label: "TypeScript" },
{ value: "js", label: "JavaScript" },
{ value: "coffee", label: "CoffeeScript", hint: "oh no" },
],
});
coloid.outro("Project setup completed!");
Presets are responsible for logging object to the console.
export const customPreset: Preset = {
log: (obj, coloid) => {
console.log(obj.type, obj.message);
},
};
const newColoid = createColoid({
presets: [customPreset],
});
Published under the MIT license.
Made by @malezjaa
and community 💛