Skip to content

fix(browser): expose symbols and version on browser export - #2508

Open
lx3133584 wants to merge 1 commit into
pinojs:mainfrom
lx3133584:fix/browser-symbols-version
Open

fix(browser): expose symbols and version on browser export#2508
lx3133584 wants to merge 1 commit into
pinojs:mainfrom
lx3133584:fix/browser-symbols-version

Conversation

@lx3133584

Copy link
Copy Markdown

Problem

When pino is bundled or resolved in browser and edge worker environments (such as Cloudflare Workers, Vite, and Webpack via package.json browser field), pino.symbols and pino.version are undefined. This breaks consumers and utilities that inspect logger symbols or package version in isomorphic/worker runtimes.

Root Cause

browser.js exposed pino.levels, pino.stdSerializers, and pino.stdTimeFunctions, but omitted attaching symbols (from ./lib/symbols) and version (from ./lib/meta) to the exported pino function.

Fix

  • Imported symbols from ./lib/symbols and version from ./lib/meta in browser.js.
  • Assigned pino.symbols = symbols and pino.version = version alongside pino.levels and pino.stdSerializers.

Testing

  • Added unit tests in test/browser.test.js asserting pino.symbols is deeply equivalent to ./lib/symbols and pino.version matches ./lib/meta.version.
  • Verified all 194 browser tests and lint pass cleanly.

Fixes pinojs#2079

Signed-off-by: Liang Xu <lx3133584@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant