{"_id":"@ayapapa-npm/pretty-console-js","_rev":"10-7491a70b4460cd3b263ce2e2fa8476fc","name":"@ayapapa-npm/pretty-console-js","dist-tags":{"latest":"0.2.3"},"versions":{"0.1.0":{"name":"@ayapapa-npm/pretty-console-js","version":"0.1.0","author":{"name":"ayapapa"},"license":"MIT","_id":"@ayapapa-npm/pretty-console-js@0.1.0","maintainers":[{"name":"ayapapa-npm","email":"maas.daon@gmail.com"}],"dist":{"shasum":"148a51a07c6eabb907f8082d8db9d2154c1eb51e","tarball":"https://registry.npmjs.org/@ayapapa-npm/pretty-console-js/-/pretty-console-js-0.1.0.tgz","fileCount":7,"integrity":"sha512-nPyehoO+gLCYpP8ZxAhOJxjUVqXziGL1Tx1k4lS7nTMuo4KkT2QnJ2pK4TCnJuR+VaNdtM2XUfzktcjRQaenmg==","signatures":[{"sig":"MEUCIAUW26UZFD/BMrqV2YvWqf6l1Zj1AADzaxv1Djn7sL4YAiEAku9l84pqMJWOQPfrSxG/GR2Uu7Qhq9p5EyyssoXDEiw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41649},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"bbdc5ec795fdf590753eb9884b2f9d783236f876","scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm,cjs --out-dir dist --clean --dts","check":"npm run typecheck && npm run build && npm run test","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --run","test:watch":"vitest","release:check":"npm run typecheck && npm run build && npm run test","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"ayapapa-npm","email":"maas.daon@gmail.com"},"_npmVersion":"12.0.1","description":"A tiny wrapper around the standard Node.js `console`.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pretty-console-js_0.1.0_1786326246098_0.7736415816002566","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ayapapa-npm/pretty-console-js","version":"0.1.1","author":{"name":"ayapapa"},"license":"MIT","_id":"@ayapapa-npm/pretty-console-js@0.1.1","maintainers":[{"name":"ayapapa-npm","email":"maas.daon@gmail.com"}],"dist":{"shasum":"7d1f67426069aea1e17d504652af72b25855c41a","tarball":"https://registry.npmjs.org/@ayapapa-npm/pretty-console-js/-/pretty-console-js-0.1.1.tgz","fileCount":7,"integrity":"sha512-YhcSPAyOfSBbziYssE/48sZoxZwCfR19AQMtxvY/uab0YM3gnomyZDEfDFXZXX7bv5pYMR2yh8OX5UbO6/Ua/w==","signatures":[{"sig":"MEUCIEWyAZQv6BZqZCLAky6JTYPWzfaIJMwAXzOJtDNmcIwOAiEAzaANt+u4xEeiKY/86BGg/tZHPiITPqPCLRJ2Q+pw9Xc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41687},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"407be40f2e58c223b81f336eb5cd5f83e7b02d60","scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm,cjs --out-dir dist --clean --dts","check":"npm run typecheck && npm run build && npm run test","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --run","test:watch":"vitest","release:check":"npm run typecheck && npm run build && npm run test","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"ayapapa-npm","email":"maas.daon@gmail.com"},"_npmVersion":"12.0.1","description":"A tiny wrapper around the standard Node.js `console`.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pretty-console-js_0.1.1_1786327081200_0.007022032326489569","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@ayapapa-npm/pretty-console-js","version":"0.1.2","author":{"name":"ayapapa"},"license":"MIT","_id":"@ayapapa-npm/pretty-console-js@0.1.2","maintainers":[{"name":"ayapapa-npm","email":"maas.daon@gmail.com"}],"dist":{"shasum":"7f2e2b9258ea787460953a310f43a87246f81402","tarball":"https://registry.npmjs.org/@ayapapa-npm/pretty-console-js/-/pretty-console-js-0.1.2.tgz","fileCount":8,"integrity":"sha512-q8hSN5Tq5hwsI1Kp99CDjb75r7yKCTJQ6cDiEwdX/gKphVq9idCgSndI6voAcjPxT/0Qo7STOoPE0Ag8SQKWyw==","signatures":[{"sig":"MEUCIAxpU9YNDs2UxtBe02rnQYFjKG3ywbC8D3J8DA9nOhhvAiEAmPQI43rRBtTsxnYJhdnPRwfDbTDYjZ9ckWLppB9mdAo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107602},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"760fadd3bb0d354e5735b9e6a8fc14c9d2f44add","scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm,cjs --out-dir dist --clean --dts","check":"npm run typecheck && npm run build && npm run test","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --run","test:watch":"vitest","release:check":"npm run typecheck && npm run build && npm run test","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"ayapapa-npm","email":"maas.daon@gmail.com"},"_npmVersion":"12.0.1","description":"A tiny wrapper around the standard Node.js `console`.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@ayapapa-npm/date-formatter-js":"^0.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pretty-console-js_0.1.2_1786438290186_0.9237734155520079","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@ayapapa-npm/pretty-console-js","version":"0.1.3","author":{"name":"ayapapa"},"license":"MIT","_id":"@ayapapa-npm/pretty-console-js@0.1.3","maintainers":[{"name":"ayapapa-npm","email":"maas.daon@gmail.com"}],"dist":{"shasum":"be1ca836b327eec3b89ed784cecf406770a5d5a5","tarball":"https://registry.npmjs.org/@ayapapa-npm/pretty-console-js/-/pretty-console-js-0.1.3.tgz","fileCount":8,"integrity":"sha512-n20iZMS4dlqjgB1soAnn+w3xNITm91czuZEH00xqVxd6s5lL+V5OFlVv2qYOf5AN5FjSlWcg86wMJ41N2W0eBA==","signatures":[{"sig":"MEYCIQDPnQAwWuQkwjRh6tpvPOlIgvb2b5oQO6kOwjPLnax8iQIhAN4n15I7UzJQAmaUqHw8TDGXCEk4qcshBsmMwBweBoxR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110088},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"760fadd3bb0d354e5735b9e6a8fc14c9d2f44add","scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm,cjs --out-dir dist --clean --dts","check":"npm run typecheck && npm run build && npm run test","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --run","test:watch":"vitest","release:check":"npm run typecheck && npm run build && npm run test","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"ayapapa-npm","email":"maas.daon@gmail.com"},"_npmVersion":"12.0.1","description":"A tiny wrapper around the standard Node.js `console`.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@ayapapa-npm/date-formatter-js":"^0.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pretty-console-js_0.1.3_1786498492384_0.3933320764133008","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@ayapapa-npm/pretty-console-js","version":"0.1.4","author":{"name":"ayapapa"},"license":"MIT","_id":"@ayapapa-npm/pretty-console-js@0.1.4","maintainers":[{"name":"ayapapa-npm","email":"maas.daon@gmail.com"}],"dist":{"shasum":"006a6fce16572a0f19cbcded57cfbb7c40b9dbce","tarball":"https://registry.npmjs.org/@ayapapa-npm/pretty-console-js/-/pretty-console-js-0.1.4.tgz","fileCount":8,"integrity":"sha512-CASYzVQ4Xv1TjABL2VzkdxLOEP/Q5RCT7p3reIBeCvgupfX/LV5AKmX2o4g7t4nQk4elT1Mvyvhd9Zklwt10NA==","signatures":[{"sig":"MEUCIQD4RBlGpqKMjbNDxnOgHOI4Ja0KnW1C2UGqEpWeF58a2QIgUgPXSaucTx/72tS++MUlP+51N4JOW+Q7KexCd7QYWQg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110151},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b2149991cb7c2eb0a7def85896365acad2ac1b1a","scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm,cjs --out-dir dist --clean --dts","check":"npm run typecheck && npm run build && npm run test","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --run","test:watch":"vitest","release:check":"npm run typecheck && npm run build && npm run test","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"ayapapa-npm","email":"maas.daon@gmail.com"},"_npmVersion":"12.0.1","description":"A tiny wrapper around the standard Node.js `console`.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@ayapapa-npm/date-formatter-js":"^0.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pretty-console-js_0.1.4_1786500175445_0.6642554876525788","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@ayapapa-npm/pretty-console-js","version":"0.1.5","author":{"name":"ayapapa"},"license":"MIT","_id":"@ayapapa-npm/pretty-console-js@0.1.5","maintainers":[{"name":"ayapapa-npm","email":"maas.daon@gmail.com"}],"dist":{"shasum":"adc040260a1c83f18da9608561ae3a4ab83e9620","tarball":"https://registry.npmjs.org/@ayapapa-npm/pretty-console-js/-/pretty-console-js-0.1.5.tgz","fileCount":8,"integrity":"sha512-AR54w3TT7MvvhJKAP755wj2eNJWte9nGvruiVaYQomMb/Ran4E4iSyHbvSvJhZ3I+EuGOQsxWZpH+LY5LK0loA==","signatures":[{"sig":"MEYCIQCPyFED/kJ+sTD0jiYpnH9/9bqvqmN6s61/D0pR315FpwIhAIHSi4J5u84kL0L5krQY1WnwkKOjtpoQNIOV5SOqeOVB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110281},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"7b94143bd161cedd327d246dc28aaea8fb5ecc80","scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm,cjs --out-dir dist --clean --dts","check":"npm run typecheck && npm run build && npm run test","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --run","test:watch":"vitest","release:check":"npm run typecheck && npm run build && npm run test","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"ayapapa-npm","email":"maas.daon@gmail.com"},"_npmVersion":"12.0.1","description":"A tiny wrapper around the standard Node.js `console`.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@ayapapa-npm/date-formatter-js":"^0.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.10","typescript":"^5.9.3","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pretty-console-js_0.1.5_1786501046737_0.9953291233211801","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@ayapapa-npm/pretty-console-js","version":"0.2.0","author":{"name":"ayapapa"},"license":"MIT","_id":"@ayapapa-npm/pretty-console-js@0.2.0","maintainers":[{"name":"ayapapa-npm","email":"maas.daon@gmail.com"}],"dist":{"shasum":"1aa182a0cb097e621c736f6d9f6db4664ef52019","tarball":"https://registry.npmjs.org/@ayapapa-npm/pretty-console-js/-/pretty-console-js-0.2.0.tgz","fileCount":7,"integrity":"sha512-ky7s71gsv9M+FrtFOYVr7WYV9TIhCb3ucECdVL0gqqLMVBIz+5RtFD2j0LJS1RyuSvz9g1VHoS2dHjw/ppoDiQ==","signatures":[{"sig":"MEUCIHjTueV4FGMX+wJOKU5/uMI6xF00/EeQYwW2HpMrF63pAiEAuzc3NtP/VVWAtTJ3WnAYVf8FNkNiggfbr0a1vbO05Lw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56465},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b943f93ac76f3bac38c8c1ac4cbbe500ea9b2ca4","scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm,cjs --out-dir dist --clean --dts","check":"npm run typecheck && npm run build && npm run test","test:ui":"vitest --ui","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --run","test:watch":"vitest","coverage:ui":"vitest run --coverage && start coverage/index.html","release:check":"npm run check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"ayapapa-npm","email":"maas.daon@gmail.com"},"_npmVersion":"12.0.1","description":"A tiny wrapper around the standard Node.js `console`.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@ayapapa-npm/date-formatter-js":"^0.1.1"},"_hasShrinkwrap":false,"devDependencies":{"pino":"^10.3.1","tsup":"^8.5.1","vite":"^8.2.2","vitest":"^4.1.11","winston":"^3.19.0","@vitest/ui":"^4.1.11","typescript":"^5.9.3","@types/node":"^26.2.0","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/pretty-console-js_0.2.0_1788153936580_0.19562040367684252","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@ayapapa-npm/pretty-console-js","version":"0.2.1","author":{"name":"ayapapa"},"license":"MIT","_id":"@ayapapa-npm/pretty-console-js@0.2.1","maintainers":[{"name":"ayapapa-npm","email":"maas.daon@gmail.com"}],"dist":{"shasum":"56b6c503818d25f77a1bfd273f0df6109f6d5b1e","tarball":"https://registry.npmjs.org/@ayapapa-npm/pretty-console-js/-/pretty-console-js-0.2.1.tgz","fileCount":12,"integrity":"sha512-Pg5A7hTKzwUG0mssL1r97As/S++6MFUBZFTbyYSRD7XY8MryZh87pImwAwR1GMVm2Qyjuey5aJFdLuNKxZtmnA==","signatures":[{"sig":"MEUCIEEI2zHIfUZriGEXXJ+4ibLyKEz5FZjDajLzRhB2o01EAiEA8ZVQ8EvANj1PIYQ5vH09YsnEYPuCrdTX2+CO/q5Z9rI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67762},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"312d8faa5837375b39a1fd3234a99c3d01569712","scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm,cjs --out-dir dist --clean --dts","check":"npm run typecheck && npm run build && npm run test","test:ui":"vitest --ui","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --run","test:watch":"vitest","coverage:ui":"vitest run --coverage && start coverage/index.html","release:check":"npm run check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"ayapapa-npm","email":"maas.daon@gmail.com"},"_npmVersion":"12.0.1","description":"A tiny wrapper around the standard Node.js `console`.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@ayapapa-npm/date-formatter-js":"^0.1.1"},"_hasShrinkwrap":false,"devDependencies":{"pino":"^10.3.1","tsup":"^8.5.1","vite":"^8.2.2","vitest":"^4.1.11","winston":"^3.19.0","@vitest/ui":"^4.1.11","typescript":"^5.9.3","@types/node":"^26.2.0","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/pretty-console-js_0.2.1_1788155521053_0.5309458115788317","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@ayapapa-npm/pretty-console-js","version":"0.2.2","author":{"name":"ayapapa"},"license":"MIT","_id":"@ayapapa-npm/pretty-console-js@0.2.2","maintainers":[{"name":"ayapapa-npm","email":"maas.daon@gmail.com"}],"dist":{"shasum":"887fd47ff193637227fa7f8bb10a0f404df6cf16","tarball":"https://registry.npmjs.org/@ayapapa-npm/pretty-console-js/-/pretty-console-js-0.2.2.tgz","fileCount":7,"integrity":"sha512-DWvDJ9euQbV2WXMw4fs74GOkB+Kj5jI5k7m6RqMG2rcY0eP3ba58eyugU394w/upvrSjypvBeHtBjCZKDe44dA==","signatures":[{"sig":"MEYCIQD8t3QkmVsutyW8uoZ4eTevr7bVQJB27V/IOzvU4L/l9gIhANed84mQ3iAA8jnbcNtAaBxI/qWgswJAdgBdT1LAJDrD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57564},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f7f634e3e0b9473447dc413f2804b23b17ad48a4","scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm,cjs --out-dir dist --clean --dts","check":"npm run typecheck && npm run build && npm run build:doc && npm run coverage","test:ui":"vitest --ui","check:ui":"npm run typecheck && npm run build && npm run build:doc && npm run coverage:ui","coverage":"vitest run --coverage","build:doc":"npx typedoc && node scripts/rename-docs.cjs","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --run","test:watch":"vitest","coverage:ui":"vitest run --coverage && start coverage/index.html","release:check":"npm run check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"ayapapa-npm","email":"maas.daon@gmail.com"},"_npmVersion":"12.0.1","description":"A tiny wrapper around the standard Node.js `console`.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@ayapapa-npm/date-formatter-js":"^0.1.1"},"_hasShrinkwrap":false,"devDependencies":{"pino":"^10.3.1","tsup":"^8.5.1","vite":"^8.2.2","vitest":"^4.1.11","typedoc":"^0.28.20","winston":"^3.19.0","@vitest/ui":"^4.1.11","typescript":"^5.9.3","@types/node":"^26.2.0","@vitest/coverage-v8":"^4.1.11","typedoc-plugin-markdown":"^4.13.0"},"_npmOperationalInternal":{"tmp":"tmp/pretty-console-js_0.2.2_1788744449628_0.4840984301331792","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"_id":"@ayapapa-npm/pretty-console-js@0.2.3","dist":{"shasum":"21240726595d422c223e8e08817d92d0faa84dce","tarball":"https://registry.npmjs.org/@ayapapa-npm/pretty-console-js/-/pretty-console-js-0.2.3.tgz","fileCount":7,"integrity":"sha512-BiL3/GnHOzogX0XIRrkMz5PR38s6B3TkQeykIqanfOt9UXkfwDwdTsDEE8aVpx6VHz2B2+IwIkm9LpqEaWf6uw==","signatures":[{"sig":"MEQCIE0SCAkmZJFAU3Pf4VVORV8lz8//tv0aKV/mXKOBHFcJAiAGq6RmTO0Mm5uYufo8XtNlTJLQrEdT8ZHZl5yrsaGX+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIG7VB4JLhjgJeF5licTVr15mCHO5AQJcHAVX86lvA0KtAiEA9aGBsn8jYxnPZ4vZQaTVSmT3THOK2EUqVC6BDzxTs+Y="}],"unpackedSize":57510},"main":"./dist/index.cjs","name":"@ayapapa-npm/pretty-console-js","type":"module","types":"./dist/index.d.ts","author":{"name":"ayapapa"},"module":"./dist/index.js","engines":{"node":"22"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"252193cd69712d8da01280d70f6d82049164d38f","license":"MIT","scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm,cjs --out-dir dist --clean --dts","check":"npm run typecheck && npm run build && npm run build:doc && npm run coverage","test:ui":"vitest --ui","check:ui":"npm run typecheck && npm run build && npm run build:doc && npm run coverage:ui","coverage":"vitest run --coverage","build:doc":"npx typedoc && node scripts/rename-docs.cjs","typecheck":"tsc --noEmit","test:debug":"vitest --inspect-brk --run","test:watch":"vitest","coverage:ui":"vitest run --coverage && start coverage/index.html","release:check":"npm run check","prepublishOnly":"npm run release:check"},"version":"0.2.3","_npmUser":{"name":"ayapapa-npm","email":"maas.daon@gmail.com"},"_npmVersion":"12.0.1","description":"A tiny wrapper around the standard Node.js `console`.","directories":{},"maintainers":[{"name":"ayapapa-npm","email":"maas.daon@gmail.com"}],"_nodeVersion":"24.15.0","dependencies":{"@ayapapa-npm/date-formatter-js":"^0.1.1"},"_hasShrinkwrap":false,"devDependencies":{"pino":"^10.3.1","tsup":"^8.5.1","vite":"^8.2.2","vitest":"^4.1.11","typedoc":"^0.28.20","winston":"^3.19.0","@vitest/ui":"^4.1.11","typescript":"^5.9.3","@types/node":"^26.2.0","@vitest/coverage-v8":"^4.1.11","typedoc-plugin-markdown":"^4.13.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pretty-console-js_0.2.3_1790077062332_0.1388543248340206"}}},"time":{"created":"2026-08-10T01:44:05.952Z","modified":"2026-09-22T11:37:42.587Z","0.1.0":"2026-08-10T01:44:06.251Z","0.1.1":"2026-08-10T01:58:01.355Z","0.1.2":"2026-08-11T08:51:30.345Z","0.1.3":"2026-08-12T01:34:52.526Z","0.1.4":"2026-08-12T02:02:55.589Z","0.1.5":"2026-08-12T02:17:26.899Z","0.2.0":"2026-08-31T05:25:36.719Z","0.2.1":"2026-08-31T05:52:01.179Z","0.2.2":"2026-09-07T01:27:29.764Z","0.2.3":"2026-09-22T11:37:42.423Z"},"author":{"name":"ayapapa"},"license":"MIT","description":"A tiny wrapper around the standard Node.js `console`.","maintainers":[{"name":"ayapapa-npm","email":"maas.daon@gmail.com"}],"readme":"[![CI](https://github.com/ayapapa/pretty-console/actions/workflows/ci.yml/badge.svg)](https://github.com/ayapapa/pretty-console/actions/workflows/ci.yml)\r\n![Coverage](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/badges/coverage-total.svg)\r\n![Branches](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/badges/coverage-branches.svg)\r\n![Functions](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/badges/coverage-functions.svg)\r\n![Lines](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/badges/coverage-lines.svg)\r\n![Statements](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/badges/coverage-statements.svg)\r\n\r\n# pretty-console-js\r\n\r\n## Table of contents\r\n[Overview](#overview) | [Why?](#why) | [Features](#features) | [Installation](#installation) | [List of APIs](#list-of-apis) | [Configurations](#configurations) | [Node.js Support](#nodejs-support) | [Usage](#usage) | [Examples](#examples)\r\n\r\n## Overview\r\nA tiny wrapper around the standard Node.js `console`.\r\n\r\nPrettyConsole is a small utility that makes console log output a little more readable.<br>\r\nFor example, `console.info()` produces output like this:\r\n```\r\n{\r\n  jjj: true,\r\n  iii: 123,\r\n  hhh: 'hello',\r\n  next: { ggg: 'goodbye', ddd: 'yesterday', yyy: 1998.092 }\r\n}\r\n```\r\nWith `PrettyConsole.info()`, you can get output like this:\r\n```\r\n[2026-08-28 18:12:28.243] INFO: {\r\n  hhh: 'hello',\r\n  iii: 123,\r\n  jjj: true,\r\n  next: {\r\n    ddd: 'yesterday',\r\n    ggg: 'goodbye',\r\n    yyy: 1998.092\r\n  }\r\n}\r\n```\r\n**You can specify settings such as sorting by key, object expansion, adding timestamps, and assigning log levels.**\r\n\r\nA logger that is compatible with the console API can be injected directly. \r\n\r\nLoggers that are not compatible with the console API can also be integrated with some adaptation. For more flexible integration, use the onLog callback to receive each log entry and forward it to your logger as needed.\r\n\r\nExamples of these integration approaches are available in the [Examples](#examples) section. See [`Config`](#configurations) for configuration details.\r\n\r\n\r\n**As a result, console logs can be made more readable by humans, file logs can be made more readable by machines, and so on.**\r\n\r\n\r\n## Why?\r\n\r\nWhile developing Node.js libraries, I found myself using `console` for most debugging tasks because it is simple and always available. However, I often wanted a few extra features without introducing a full-featured logging framework.\r\n\r\nSo I created **pretty-console**.\r\n\r\nIt keeps the familiar `console` API while adding a few small conveniences for everyday development.\r\n\r\nFurthermore, as debugging tasks grew more complex—involving elements such as file I/O, \r\nmutual exclusion, and asynchronous processing—I keenly felt the need for a logger capable of writing to files.\r\n\r\nTo address this, I also added functionality to integrate with a standard file logger.\r\n\r\n## Features\r\n\r\n* Deeply nested objects are displayed using [`util.inspect()`](https://nodejs.org/api/util.html#utilinspectobject-options).\r\n* By setting `sorted` to `true`, object entries are sorted by key name.\r\n* Supports configurable log levels (`'trace'`, `'debug'`, `'info'`, `'warn'`, `'error'`, `'fatal'`, and `'silent'`).\r\n* Optional timestamps.\r\n* Optional colored output.\r\n* Configurable formatting options.\r\n* Optional console-compatible external logger injection. \r\n* Optional callback function to receive arguments to be passed console. It is convenient to integrate with a file logger.\r\n\r\n**As a result, console logs can be made more readable by humans, file logs can be made more readable by machines, and so on.**\r\n\r\n\r\nThe goal is **not** to replace logging frameworks such as [Pino](https://www.npmjs.com/package/pino) or [Winston](https://www.npmjs.com/package/winston), but to make the built-in `console` more pleasant to use during development. <br>\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @ayapapa-npm/pretty-console-js\r\n```\r\n\r\n## List of APIs\r\nAPI details are [here](https://github.com/ayapapa/pretty-console-js/blob/main/docs/api.md).\r\n```\r\nPrettyConsole\r\n├── log():              Outputs if level specified other than `silent`.\r\n├── trace():            Outputs `trace` level log.\r\n├── debug():            Outputs `debug` level log.\r\n├── info():             Outputs `info` level log.\r\n├── warn():             Outputs `warn` level log.\r\n├── error():            Outputs `error` level log.\r\n├── fatal():            Outputs `fatal` level log.\r\n├── setConfig():        Update the current configuration. Unspecified options keep their current values.\r\n├── getConfig():        Get the current settings.\r\n├── resetConfig():      Reset settings (return to default settings).\r\n└── getDefaultConfig(): Get the default settings.\r\n```\r\n\r\n## Configurations\r\nSet the output configuration using `PrettyConsole.setConfig()`.\r\n\r\nKey configuration options.\r\nThe `breakLength` option and what follows are options that are passed directly \r\nto the Configuration Options of [`util.inspect()`](https://nodejs.org/api/util.html#utilinspectobject-options). You can also specify \r\nConfiguration Options for util.inspect() that are not described here. \r\nFor more information, see the description of \r\n[`util.inspect()` Configuration Options](https://nodejs.org/api/util.html#utilinspectobject-options).\r\n\r\n| Option        | Type      | Default       | Description      |\r\n| ------------- | --------- | ------------- | ---------------- |\r\n| `level`       | `string` | `'info'`      | The minimum log level to display for `trace()`, `debug()`, `info()`, `warn()`, `error()`, and `fatal()`. <br>`log()` is output regardless of the configured level, except when level is 'silent'. <br>Valid values are 'trace', 'debug', 'info', 'warn', 'error', 'fatal', and 'silent'. <br><br>The log levels are ordered from most verbose to least verbose as follows: trace < debug < info < warn < error < fatal. <br><br>'silent' disables all output. |\r\n| `timestamp`   | `boolean` | `true` | If `true`, includes a timestamp in the output. |\r\n| `levelName`   | `boolean` | `true` | If `true`, includes the log level name (e.g., TRACE, DEBUG). |\r\n| `callStack`   | `boolean` | `false` | If `true`, includes the call stack for `trace`-level logs. This is an option for `console.trace()` compatibility; therefore, it applies only to logs at the `trace` level. |\r\n| `provider`    | `LogProvider` | `console` | Specifies an alternative to `console`.  <br>`LogProvider` is the type of the `console` replacement object. <br>`fatal` is optional. If it is not provided, PrettyConsole.fatal() falls back to the provider's error() method. |\r\n| `pretty`      | `boolean` | `true` | If `true`, uses PrettyConsole's `pretty` output.          |\r\n| `onLog`       | `(logEntry: LogEntry) => void` or `null` | `null` | A callback function that receives each log call before level filtering and formatting. The callback may modify LogEntry.args, and any changes are reflected in subsequent PrettyConsole processing. |\r\n| `breakLength` | `number`  | `120` | The length at which input values are split across multiple lines. Set to Infinity to format the input as a single line (in combination with compact set to true or any number >= 1). |\r\n| `colors`      | `boolean` | `true` | If `true`, the output is styled with ANSI color codes. Colors are customizable. See [Customizing util.inspect colors](https://nodejs.org/api/util.html#customizing-utilinspect-colors). |\r\n| `compact`     | `boolean` or `number` | `false` | If `false`, each object key is displayed on a new line, and text longer than `breakLength` is broken. If a number is specified, up to `n` inner elements are combined on a single line if they fit within `breakLength`. Short array elements are also grouped. |\r\n| `depth` | `number` or `null` | `null` | Sets the maximum recursion depth for nested objects. Use `null` to inspect all levels. |\r\n| `maxArrayLength` | `number` or `null` | `100` | Sets the maximum number of Array, TypedArray, Map, WeakMap, and WeakSet elements to include. Use `null` or `Infinity` to show all elements. Use `0` or a negative number to show no elements. |\r\n| `maxStringLength` | `number` or `null` | `12800` | Sets the maximum number of characters to include when formatting. Use `null` or `Infinity` to show all characters. Use `0` or a negative number to show no characters. |\r\n| `sorted`      | `boolean` or `function` | `true` | If `true` or a function, all properties of an object, and Set and Map entries are sorted in the resulting string. If `true`, the [default sort](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) is used. If a function is provided, it is used as a [compare function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#parameters). |\r\n\r\n### `onLog` callback\r\n\r\nThe `onLog` callback receives every log entry **before console-level filtering and output formatting are applied**.\r\n\r\nThis allows the console output level and the external logger level to be controlled independently.\r\n\r\nFor example, with `level: 'warn'`:\r\n\r\n* `debug()` is not displayed on the console.\r\n* `debug()` is still passed to `onLog`.\r\n* `warn()` is displayed on the console and passed to `onLog`.\r\n\r\nThis makes `onLog` useful for forwarding logs to external logging systems, files, monitoring services, or other log processing pipelines.\r\n\r\n## Node.js Support\r\n\r\nPrettyConsole supports actively maintained LTS versions of Node.js.\r\n\r\nWe aim to support the latest LTS versions and maintain compatibility with\r\nolder LTS versions where reasonably possible.\r\n\r\nCurrent support is tested in CI against:\r\n\r\n- Node.js 20.x\r\n- Node.js 22.x\r\n- Node.js 24.x\r\n\r\nNon-LTS versions may work, but they are not officially supported.\r\n\r\n## Usage\r\n\r\n```javascript\r\nimport { PrettyConsole } from '@ayapapa-npm/pretty-console-js';\r\n// CommonJS:\r\n// const { PrettyConsole } = require('@ayapapa-npm/pretty-console-js');\r\n\r\n// Create instance\r\nconst logger = new PrettyConsole({ level: 'trace', callStack: true });\r\n\r\nfunction someFunc(x, y, z) {\r\n  logger.trace('enter someFunc', 'args: ', 'x =', x, 'y =', y, 'z =', z);\r\n\r\n  const obj = { jjj: true, iii: 123, hhh: 'hello', next: { ggg: \"goodbye\", ddd: \"yesterday\", yyy: 1998.092 } };\r\n  logger.info(obj);\r\n\r\n  const result = x * y - z;\r\n  logger.debug(\"result =\", result);\r\n\r\n  try {\r\n    throw new Error(\"Error!!\");\r\n  }\r\n  catch (err) {\r\n    logger.error(\"Error occurred.\", err);\r\n  }\r\n\r\n  return result;\r\n}\r\n\r\nfunction main() {\r\n  const res = someFunc(1, 2, 3);\r\n  logger.log(\"someFunc() returns:\", res);\r\n}\r\n\r\nmain();\r\n```\r\nExecution results:<br>\r\n![Execution results](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/images/usage1.png)\r\n\r\n## Examples\r\n\r\n| File        | Type      | Description        | \r\n| ----------- | --------- | ------------------ |\r\n| [example/pretty1.cjs](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/example/pretty1.cjs) | CommonJS   | A simple example |\r\n| [example/pretty1.ts](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/example/pretty1.ts)  | TypeScript | A simple example |\r\n| [example/logger-injection.ts](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/example/logger-injection.ts) | TypeScript   | An example of type-safe external logger injection.  |\r\n| [example/pino-integration1.cjs](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/example/pino-integration1.cjs) | CommonJS   | An example of receiving log output information via the `onLog` callback and outputting it using `pino`. |\r\n| [example/pino-integration1.ts](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/example/pino-integration1.ts)  | TypeScript | An example of receiving log output information via the `onLog` callback and outputting it using `pino`. |\r\n| [example/pino-integration2.cjs](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/example/pino-integration2.cjs) | CommonJS   | An example showing how to receive log output information via the `onLog` callback and include `Error` instance details in the log when outputting using `pino`. |\r\n| [example/pino-integration2.ts](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/example/pino-integration2.ts)  | TypeScript | An example showing how to receive log output information via the `onLog` callback and include `Error` instance details in the log when outputting using `pino`. |\r\n| [example/pino-integration3.cjs](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/example/pino-integration3.cjs) | CommonJS   | An example of outputting to the console using `PrettyConsole` while simultaneously outputting to a file using `pino`. |\r\n| [example/pino-integration3.ts](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/example/pino-integration3.ts)  | TypeScript | An example of outputting to the console using `PrettyConsole` while simultaneously outputting to a file using `pino`. |\r\n| [example/winston-integration1.cjs](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/example/winston-integration1.cjs) | CommonJS   | An example of receiving log output information via the `onLog` callback and outputting it using `winston`. |\r\n| [example/winston-integration1.ts](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/example/winston-integration1.ts)  | TypeScript | An example of receiving log output information via the `onLog` callback and outputting it using `winston`. |\r\n| [example/winston-integration2.cjs](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/example/winston-integration2.cjs) | CommonJS   | An example showing how to receive log output information via the `onLog` callback and include `Error` instance details in the log when outputting using `winston`. |\r\n| [example/winston-integration2.ts](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/example/winston-integration2.ts)  | TypeScript | An example showing how to receive log output information via the `onLog` callback and include `Error` instance details in the log when outputting using `winston`. |\r\n| [example/winston-integration3.cjs](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/example/winston-integration3.cjs) | CommonJS   | An example of outputting to the console using `PrettyConsole` while simultaneously outputting to a file using `winston`. |\r\n| [example/winston-integration3.ts](https://raw.githubusercontent.com/ayapapa/pretty-console-js/main/example/winston-integration3.ts)  | TypeScript | An example of outputting to the console using `PrettyConsole` while simultaneously outputting to a file using `winston`. |\r\n","readmeFilename":"README.md"}