@rdproject/json-tools
v1.0.0
Published
A simple logger and JSON utility toolkit
Maintainers
Readme
@rdproject/json-tools
A lightweight utility library for working with JSON files and logging in Node.js (ES Modules).
📦 Installation
npm install @rdproject/json-tools🚀 Features
- Async JSON file read/write utilities
- Safe fallback handling for missing files
- Simple configurable logger
- Log levels (ERROR, WARN, INFO, DEBUG)
- ES Modules support
- Zero dependencies (except Node built-in fs)
📁 Structure
src/
jsonHelper.js
LoggerUtil.js📌 Logger Usage
Import logger
import LoggerUtil, { LOG_LEVELS, logger } from "@rdproject/json-tools/logger";Create your own logger
const myLogger = new LoggerUtil(LOG_LEVELS.DEBUG);
myLogger.info("App started");
myLogger.warn("Something suspicious");
myLogger.error("Something failed");
myLogger.debug("Debug info");Change log level
myLogger.setLogLevel(LOG_LEVELS.ERROR);Default singleton logger
import { logger } from "@rdproject/json-tools/logger";
logger.info("Using global logger");📄 JSON Helpers
Import functions
import {
readJsonFile,
writeJsonFile
} from "@rdproject/json-tools/jsonHelper";📥 Read JSON file
const data = await readJsonFile("./data.json", []);
console.log(data);- Returns parsed JSON
- If file does not exist → returns fallback value
📤 Write JSON file
await writeJsonFile("./data.json", { name: "RDProject" });- Automatically formats JSON (pretty print)
- Overwrites existing file
⚙️ Error handling
- Missing file (
ENOENT) → returns fallback - Other errors → logged via LoggerUtil + fallback returned
🧠 Design notes
This package is designed for:
- Node.js environments
- ESM (
import/export) - Simple file-based JSON workflows
- Lightweight logging without external dependencies
📦 Dependencies
None (uses Node.js built-in fs/promises)
📜 License
MIT © RDProject
👨💻 Author
RDProject [email protected]
