Vigia

brotli upgraden van 1.x naar 2.x

Vergelijking van de publieke API van brotli 1.3.3 en 2.1.0, automatisch berekend uit hun TypeScript-types. Een gewijzigde signatuur is een mogelijke brekende wijziging, geen zekerheid.

Samenvatting

Verwijderde importpaden0
Verwijderde exports0
Gewijzigde signaturen2
Verwijderde leden van klassen of interfaces0
Gewijzigde leden van klassen of interfaces0
Nieuw als verouderd gemarkeerd0
Gewijzigde vereisten (engines, peer-afhankelijkheden)0
Nieuwe exports4

Verwijderde exports

Niets gevonden.

Gewijzigde signaturen

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

Verwijderde leden van klassen of interfaces

Niets gevonden.

Gewijzigde leden van klassen of interfaces

Niets gevonden.

Nieuw als verouderd gemarkeerd

Niets gevonden.

Gewijzigde vereisten (engines, peer-afhankelijkheden)

Niets gevonden.

Nieuwe exports (4)
importexportkind
brotliCompressOptionsinterface
brotli/compresscompressfunction
brotli/compressCompressOptionsinterface
brotli/decompressdecompressfunction

Changelog tussen deze versies

Tekst gepubliceerd door de pakketauteurs, ongewijzigd weergegeven.

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

Geef je AI-agent deze feiten

Vigia is een gratis MCP-server: je coding-agent controleert versies, breaking changes en kwetsbaarheden voordat hij code schrijft. Geen account, geen API-sleutel.

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

Toevoegen aan CursorToevoegen aan VS Code★ Ster op GitHub

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

Agent-skill (SKILL.md): vertelt de agent wanneer hij Vigia moet gebruiken · GitHub Action voor pull requests

Veelgestelde vragen

Wat zijn de brekende wijzigingen bij het upgraden van brotli van 1 naar 2?

Tussen brotli 1.3.3 en 2.1.0 vond Vigia 0 verwijderde exports, 2 gewijzigde signaturen en 0 verwijderde of gewijzigde leden van klassen of interfaces.

Wat is verouderd in brotli 2?

0 exports of leden zijn in brotli 2.1.0 nieuw als verouderd gemarkeerd.

Voor agents

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