Vigia

Upgrade von brotli 1.x auf 2.x

Vergleich der öffentlichen API von brotli 1.3.3 und 2.1.0, automatisch aus den TypeScript-Typen berechnet. Eine geänderte Signatur ist ein möglicher Breaking Change, keine Gewissheit.

Zusammenfassung

Entfernte Importpfade0
Entfernte Exporte0
Geänderte Signaturen2
Entfernte Member von Klassen oder Interfaces0
Geänderte Member von Klassen oder Interfaces0
Neu als veraltet markiert0
Geänderte Anforderungen (engines, Peer-Abhängigkeiten)0
Neue Exporte4

Entfernte Exporte

Keine gefunden.

Geänderte Signaturen

exportVorherNachher
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>

Entfernte Member von Klassen oder Interfaces

Keine gefunden.

Geänderte Member von Klassen oder Interfaces

Keine gefunden.

Neu als veraltet markiert

Keine gefunden.

Geänderte Anforderungen (engines, Peer-Abhängigkeiten)

Keine gefunden.

Neue Exporte (4)
importexportkind
brotliCompressOptionsinterface
brotli/compresscompressfunction
brotli/compressCompressOptionsinterface
brotli/decompressdecompressfunction

Changelog zwischen diesen Versionen

Text der Paketautoren, unverändert angezeigt.

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()`.

Gib deinem KI-Agenten diese Fakten

Vigia ist ein kostenloser MCP-Server: Dein Coding-Agent prüft Versionen, Breaking Changes und Sicherheitslücken, bevor er Code schreibt. Ohne Anmeldung, ohne API-Schlüssel.

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

Zu Cursor hinzufügenZu VS Code hinzufügen★ Stern auf GitHub

Jeder andere MCP-Client
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

Agent-Skill (SKILL.md): sagt dem Agenten, wann er Vigia nutzen soll · GitHub Action für Pull Requests

Häufige Fragen

Welche Breaking Changes gibt es beim Upgrade von brotli 1 auf 2?

Zwischen brotli 1.3.3 und 2.1.0 hat Vigia 0 entfernte Exporte, 2 geänderte Signaturen und 0 entfernte oder geänderte Member von Klassen oder Interfaces gefunden.

Was wurde in brotli 2 als veraltet markiert?

0 Exporte oder Member sind in brotli 2.1.0 neu als veraltet markiert.

Für Agenten

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