Add a browser-only export for Web clients

This package has a single export that includes both NodeJS and browser modules. When a web project imports this library, the build generates a bunch of warnings, like this in vite:

[plugin vite:resolve] Module net has been externalized for browser compatibility...
[plugin vite:resolve] Module stream has been externalized for browser compatibility...
...

We can clean this up by creating a special browser-only export. Bundlers like Vite and Webpack know to choose the 'browser' export in projects that are web-only (not NodeJS).

This change adds a 'browser' export and updates the documentation to use browser-only examples.
This commit is contained in:
Michael Lynch 2025-12-29 16:41:42 -05:00
parent f6fea65063
commit 486a075b8e
5 changed files with 70 additions and 7 deletions

View file

@ -4,6 +4,15 @@
"description": "",
"main": "src/index.js",
"type": "module",
"exports": {
".": {
"browser": "./src/browser.js",
"import": "./src/index.js",
"default": "./src/index.js"
},
"./browser": "./src/browser.js",
"./node": "./src/node.js"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},