Usar bun con Pier
El gestor de paquetes de Bun (bun add, bun install) habla el protocolo estándar del registro de npm y lee .npmrc — idéntico a npm. Los dos aspectos interesantes son:
- Packument abreviado — bun envía
Accept: application/vnd.npm.install-v1+jsonpor defecto. Pier devuelve una carga JSON más ligera (sin README, sin marcas de tiempo históricas), lo que hace las instalaciones notablemente más ágiles en paquetes grandes. - Siempre envía el bearer. Igual que npm y pnpm, bun envía la autenticación en cada solicitud — sin necesidad del workaround de
always-auth=true.
Configurar
Sección titulada «Configurar»registry=https://YOUR-PIER-HOST/registry/npm///YOUR-PIER-HOST/registry/npm/:_authToken=pier_npm_…always-auth=truealways-auth=true es inofensivo para bun. Mantenlo para que el mismo .npmrc también funcione con yarn 1 si alguna vez lo necesitas.
Instalar / añadir
Sección titulada «Instalar / añadir»bun installbun add left-padbun add @your-org/internal-libbun add -d typescript # devDependencyPublicar
Sección titulada «Publicar»bun publishBun soporta bun publish desde la versión 1.1+. Usa el mismo formato de transmisión que cualquier CLI de npm (PUT estilo CouchDB con _attachments).
Iniciar sesión
Sección titulada «Iniciar sesión»Bun no tiene su propio flujo de login por navegador. Usa npm login --auth-type=web contra Pier — bun lee el mismo .npmrc:
npm login --auth-type=web --registry=https://YOUR-PIER-HOST/registry/npm/Ahorro con el packument abreviado
Sección titulada «Ahorro con el packument abreviado»El packument abreviado elimina campos no necesarios para la resolución de instalación:
| Campo | Completo | Abreviado |
|---|---|---|
name | ✓ | ✓ |
dist-tags | ✓ | ✓ |
versions[*] | manifiesto completo | solo campos de instalación |
versions[*].dist.{tarball,integrity} | ✓ | ✓ |
versions[*].readme | ✓ | ✗ |
versions[*].time | ✓ | ✗ |
time (mapa de historial) | ✓ | ✗ |
Para paquetes populares (next, react, etc.) la forma abreviada es 5–10× más pequeña. Pier sirve ambas; la elección se determina por la cabecera Accept.
Matriz de versiones
Sección titulada «Matriz de versiones»| Versión de bun | Estado | Notas |
|---|---|---|
| latest (1.x) | ✓ | Probado en la matriz de pier-tests contra la estable actual |
Fija la versión mediante packageManager si quieres un comportamiento sincronizado:
{}Errores comunes
Sección titulada «Errores comunes»error: not found: <pkg>— proxy upstream desactivado + paquete no publicado de forma privada. Activa el proxy.error: Failed to authenticate— token ausente o revocado. Emite uno nuevo.error: file not founden un paquete con scope — la codificación de URL para@scope/namepodría estar corrompida por un proxy intermedio. Prueba la obtención en bruto:curl -H "Authorization: Bearer pier_npm_…" https://pier-host/registry/npm/@scope%2Fname— debería devolver el JSON del packument.
Relacionado
Sección titulada «Relacionado»- Configuración — guía base.
- Integración con CI — fragmentos de bun en CI.
- Proxy upstream — cuándo las instalaciones de bun alcanzan la caché.