
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@bitterbyter/print
Advanced tools
A lightweight logger with automatic timestamps, smart data type detection, and timer management
A lightweight logger with automatic timestamps, smart data type detection, and timer management.
import { log, success, error } syntaxnpm install @bitterbyter/print
import {
log,
success,
error,
info,
warn,
debug,
startTimer,
endTimer,
configure,
} from "@bitterbyter/print";
// Configure
configure({
environment: "development",
timestamps: true,
});
// Basic logging
success("Operation completed!");
error("Something went wrong");
info("Here is some information");
warn("This might be an issue");
debug("Debug information"); // Only logs in development
// Auto-formatting
log("Hello World"); // Simple string
info({ name: "John" }); // Auto-formats as JSON
debug([1, 2, 3]); // Auto-formats as array
error(new Error("Oops")); // Auto-formats with stack trace
// Timer usage
startTimer("api-call");
// ... API call
endTimer("api-call"); // Auto-prints duration
const {
log,
success,
error,
info,
warn,
debug,
startTimer,
endTimer,
configure,
} = require("@bitterbyter/print");
// Same usage as ES modules
configure({ environment: "development", timestamps: true });
success("Hello from Node.js!");
log(data) - Basic loggingsuccess(data) - Success messageserror(data) - Error messagesinfo(data) - Information messageswarn(data) - Warning messagesdebug(data) - Debug messages (development only)table(data) - Display data as tablecount(label) - Count occurrencescountReset(label) - Reset counterdir(data) - Display object propertiesdirxml(data) - Display XML/HTML structurestartTimer(label) - Start timerendTimer(label) - End timer and log durationconfigure(options) - Configure logger settingsconfigure({
environment: "development", // 'development' | 'production'
timestamps: true, // Add timestamps to all logs
});
// Strings
log("Hello World");
// Output: [2024-01-15T10:30:45.123Z] Hello World
// Objects
info({ name: "John", age: 30 });
// Output: [2024-01-15T10:30:45.123Z] INFO: {
// "name": "John",
// "age": 30
// }
// Arrays
debug([1, 2, 3]);
// Output: [2024-01-15T10:30:45.123Z] DEBUG: Array(3): [1, 2, 3]
// Errors
error(new Error("Something went wrong"));
// Output: [2024-01-15T10:30:45.123Z] ERROR: Something went wrong
// Stack: Error: Something went wrong
// at ...
// Timers
startTimer("operation");
// ... process
endTimer("operation");
// Output: [2024-01-15T10:30:45.123Z] INFO: Timer "operation" completed in 245ms
Full TypeScript definitions are included:
import { log, success, error, configure } from "@bitterbyter/print";
configure({ environment: "development" });
success("TypeScript support!");
MIT
FAQs
A lightweight logger with automatic timestamps, smart data type detection, and timer management
We found that @bitterbyter/print demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.