Blog
Para quem já sabe o básico e quer ir fundo. Aqui o assunto é como os modelos funcionam em produção: memória, roteamento, ferramentas, agentes. O lado técnico que pouca gente explica direito.
App: fechado, define deps. Lib: aberta, consumida por apps diversos. Peer deps (não bundle React), side-effects, bundle size conscious, no console.log, API stability commitment, versionamento rigoroso.
package.json exports (ESM vs CJS condicional), types condicional, subpath exports, publint (check consistency), Are The Types Wrong (check .d.ts). Modern package (2026): ESM-first com CJS fallback.
package.json "sideEffects": false (or array of files), /* @__PURE__ */ annotations pra functions puras, ESM required (CJS bundler cannot tree-shake), const-fold aggressive com rollup/tsup/esbuild.
SemVer strict: major (breaking), minor (feature), patch (fix). changesets workflow (pnpm changeset add → CI release). release-please (Google). changelog auto-gen. Conventional commits opt.
Types são feature-equal a runtime. Bundled (.d.ts in package) vs @types/package-name separate. Generics bem pensados (infer user types). JSDoc TSDoc pra lib sem TS. Strict types sem any.
Escolha problem concreto (date helper, form validator, small utility). Setup: tsup bundler, vitest, changesets, publint, ATTW. Docs com TypeDoc + exemplos executáveis. Publish 1.0 no npm. README professional.