Vigia

Actualizar brotli de 1.x a 2.x

Comparación de la API pública de brotli 1.3.3 y 2.1.0, calculada automáticamente a partir de sus tipos TypeScript. Una firma modificada es un posible cambio incompatible, no una certeza.

Resumen

Rutas de importación eliminadas0
Exports eliminados0
Firmas modificadas2
Miembros de clases o interfaces eliminados0
Miembros de clases o interfaces modificados0
Nuevas deprecaciones0
Cambios de requisitos (engines, dependencias peer)0
Exports nuevos4

Exports eliminados

No se detectaron.

Firmas modificadas

exportAntesDespués
brotli · compress(buffer: Buffer, options?: CompressOptions | undefined): Uint8Array<ArrayBufferLike> | null(buffer: string | ArrayLike<number>, options?: boolean | CompressOptions | undefined): Promise<Uint8Array<ArrayBufferLike> | null>
brotli · decompress(buffer: Buffer, outputSize?: number | undefined): Uint8Array<ArrayBufferLike>(buffer: ArrayLike<number>, outSize?: number | null | undefined): Uint8Array<ArrayBufferLike>

Miembros de clases o interfaces eliminados

No se detectaron.

Miembros de clases o interfaces modificados

No se detectaron.

Nuevas deprecaciones

No se detectaron.

Cambios de requisitos (engines, dependencias peer)

No se detectaron.

Exports nuevos (4)
importexportkind
brotliCompressOptionsinterface
brotli/compresscompressfunction
brotli/compressCompressOptionsinterface
brotli/decompressdecompressfunction

Changelog entre estas versiones

Texto publicado por los autores del paquete, mostrado tal cual.

2.1.0
### Changed
 - Use the nullish coalescing (??) operator to check if the value is defined (#38)
 - Use imports field to ship differential implementation for node and browser
2.0.0
### Changed

- **Breaking:** Converted the package to ESM only. All public entry points use
  named `compress` and/or `decompress` exports with no default export.
- **Breaking:** `compress()` now returns `Promise<Uint8Array | null>` and must
  be awaited. Compression options, output bytes, and `null` results are unchanged.
  `decompress()` remains synchronous.
- Public entry points are limited to the package root, `brotli/compress`, and
  `brotli/decompress`, including `.js` aliases for both standalone modules.
  Standalone modules export their named function.
- Encoder initialization is deferred until the first compression call. Concurrent
  calls share one initialization Promise, including failures, with no automatic
  retries. Initialization and runtime errors reject the compression Promise.
- Removed top-level await and enabled modern Node.js `require()` through every
  public entry point. Unflagged ESM loading is supported in Node 20.19+, 22.12+,
  and later releases; see the [Node documentation](https://nodejs.org/api/modules.html#loading-ecmascript-modules-using-require).
  The distribution remains ESM only.
- Encoding still runs on the calling thread without workers. Keep the input,
  options, and dictionary unchanged until compression settles; no input copying
  is added.

### Added

- TypeScript declarations for the package root and standalone modules, including
  their `.js` aliases and the `CompressOptions` type.
- Tests for ESM and CommonJS exports, lazy and shared initialization, Promise
  results and failures, and browser bundles, including dictionary initialization
  and decompression without the encoder.

### Migration

```javascript
import { compress, decompress } from 'brotli';

const compressed = await compress(input);
const original = decompress(compressed);
```

To load either function independently:

```javascript
import { compress } from 'brotli/compress';
import { decompress } from 'brotli/decompress';
```

Modern Node.js CommonJS consumers can destructure named exports from the root
or standalone modules:

```javascript
const { compress, decompress } = require('brotli');
// Alternatively: const { compress } = require('brotli/compress');

compress(input).then(compressed => {
  const original = decompress(compressed);
}).catch(console.error);
```

Older Node.js CommonJS consumers can continue to use dynamic `import()`.

Dale estos datos a tu agente de IA

Vigia es un servidor MCP gratuito: tu agente de programación verifica versiones, cambios incompatibles y vulnerabilidades antes de escribir código. Sin registro ni clave de API.

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

Agregar a CursorAgregar a VS Code★ Estrella en GitHub

Cualquier otro cliente MCP
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

Skill para agentes (SKILL.md): le indica al agente cuándo usar Vigia · GitHub Action para pull requests

Preguntas frecuentes

¿Cuáles son los cambios incompatibles al actualizar brotli de 1 a 2?

Entre brotli 1.3.3 y 2.1.0, Vigia encontró 0 exports eliminados, 2 firmas modificadas y 0 miembros de clases o interfaces eliminados o modificados.

¿Qué quedó deprecado en brotli 2?

0 exports o miembros quedaron marcados como deprecados en brotli 2.1.0.

Para agentes

GET https://vigia.coredls.cloud/v1/packages/npm/brotli/upgrade?from=1.3.3&to=2.1.0