{"id":26208379,"url":"https://github.com/web-pacotes/lumberdash","last_synced_at":"2026-04-04T16:36:14.606Z","repository":{"id":180613188,"uuid":"665302725","full_name":"web-pacotes/lumberdash","owner":"web-pacotes","description":"Port of @bmw-tech/lumberdash in TypeScript","archived":false,"fork":false,"pushed_at":"2024-05-07T07:14:11.000Z","size":324,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-12-27T01:59:13.377Z","etag":null,"topics":["bmw","logging","lumber","lumberdash","nodejs","npm","typescript","web-pacotes"],"latest_commit_sha":null,"homepage":"https://web-pacotes.github.io/lumberdash","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/web-pacotes.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-07-11T22:59:44.000Z","updated_at":"2024-05-07T07:14:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"d6732c3c-c832-4a6a-a770-815008ed23cf","html_url":"https://github.com/web-pacotes/lumberdash","commit_stats":null,"previous_names":["web-pacotes/lumberdash"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/web-pacotes/lumberdash","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-pacotes%2Flumberdash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-pacotes%2Flumberdash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-pacotes%2Flumberdash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-pacotes%2Flumberdash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/web-pacotes","download_url":"https://codeload.github.com/web-pacotes/lumberdash/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-pacotes%2Flumberdash/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31405705,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bmw","logging","lumber","lumberdash","nodejs","npm","typescript","web-pacotes"],"created_at":"2025-03-12T06:28:36.185Z","updated_at":"2026-04-04T16:36:14.582Z","avatar_url":"https://github.com/web-pacotes.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lumberdash\n\nA simple, yet clean, top-level logging API with support for multiple clients with zero modification fees 🪵\n\n![npm version](https://badgen.net/npm/v/@web-pacotes/lumberdash) ![npm total downloads](https://badgen.net/npm/dt/@web-pacotes/lumberdash) ![bundlephobia bundle size](https://badgen.net/bundlephobia/min/@web-pacotes/lumberdash)\n\n---\n\n## How to use\n\nLumberdash comes with baterries included, so you can go straight ahead and try it with either `emoji` and `console` clients:\n\n```typescript\n// Provide lumberdash clients that will log messages.\nconst clients = [new ConsoleLumberdashClient(), new EmojiLumberdashClient()];\n\n// Put them to work!\nputLumberdashToWork(clients);\n\n// Start logging from top level API.\nlogMessage('My first lumberdash logging message!');\n```\n\nHowever, if the bundled clients do not fit your style, you can easily create a new lumberdash client. Start by defining an implementation of [LumberdashClient](src/lumberdash/client.ts):\n\n```typescript\nimport {\n\tLoggingExtraParameters,\n\tLumberdashClient\n} from '@web-pacotes/lumberdash';\n\nclass KaomojiLumberdashClient extends LumberdashClient {}\n```\n\nThen, implement the API logging methods:\n\n```typescript\nlogMessage(message: string, extras: LoggingExtraParameters): void {\n    console.info(`(◕‿◕) (${message})`, extras);\n}\n\nlogWarning(message: string, extras: LoggingExtraParameters): void {\n    console.warn(`(⇀‸↼‶) (${message})`, extras);\n}\n\nlogFatal(message: string, extras: LoggingExtraParameters): void {\n    console.trace(`(×_×) (${message})`, extras);\n}\n\nlogError(error: Error): void {\n    console.error(`(｡•́︿•̀｡) (${error})`);\n}\n```\n\nOnce the new client is implemented, you can go ahead and put it to work and it will work out of the box!\n\n```typescript\nimport { putLumberdashToWork } from '@web-pacotes/lumberdash';\nimport { KaomojiLumberdashClient } from 'my-client-source';\n\nconst clients = [new KaomojiLumberdashClient()];\nputLumberdashToWork(clients);\n```\n\n## Features\n\n- Clean and simple top-level loggin API\n- Easy to extend new behaviour by creating new clients\n- Batteries included: use bundled clients `console` and `emoji`\n\n---\n\n## Bugs and Contributions\n\nFound any bug (including typos) in the package? Do you have any suggestion\nor feature to include for future releases? Please create an issue via\nGitHub in order to track each contribution. Also, pull requests are very\nwelcome!\n\nTo contribute, start by setting up your local development environment. The [setup.md](setup.md) document will onboard you on how to do so!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb-pacotes%2Flumberdash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweb-pacotes%2Flumberdash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb-pacotes%2Flumberdash/lists"}