Publishing in the JavaScript Ecosystem & Keeping Users Happy
summary
Covers concrete steps: publish browser code via the package.json browser field, Node.js via main and export maps, and expect Deno (npm support landed in 1.25), Cloudflare Workers to run webpacked modules, and Bun to be pre‑alpha. Recommend dual packaging CJS+ESM or an ESM wrapper, keep publish/install/bundle sizes small with files, minimal deps, named exports and sideEffects=false, and offer a debug variant with sources and sourcemaps via a dist tag. Publish .d.ts (or use DefinitelyTyped) and provide OpenTelemetry as an external instrumentation package.
AI-written summary · about
chapters (7)
- 0:00Start
- 5:30Criteria: Browser (what?)
- 6:51Criteria: Server (why?)
- 11:03Criteria: Module Formats (how?)
- 15:40Criteria: Reduce Install Size (how?)
- 19:03Criteria: Debugging (why?)
- 20:26Criteria: Observability (what?)
related talks
23mPublishing in JavaScript Ecosystem: How to Keep Everyone Happy?
24mThe Complete Guide to packaging Libraries
34mTowards a simpler JavaScript ecosystem
24m[Eng Sub]Deno: Next Generation JavaScript Runtime
15mWrite once, run anywhere - cross-env JS
46mThe “Perfect” JS Library Tooling
29mState of Deno
29mState of Deno
