Atualizar brotli de 1.x para 2.x
Comparação da API pública de brotli 1.3.3 e 2.1.0, calculada automaticamente a partir dos tipos TypeScript. Uma assinatura alterada é uma possível mudança incompatível, não uma certeza.
Resumo
| Caminhos de importação removidos | 0 |
|---|---|
| Exports removidos | 0 |
| Assinaturas alteradas | 2 |
| Membros de classes ou interfaces removidos | 0 |
| Membros de classes ou interfaces alterados | 0 |
| Novas descontinuações | 0 |
| Mudanças de requisitos (engines, dependências peer) | 0 |
| Novos exports | 4 |
Exports removidos
Nenhuma detectada.
Assinaturas alteradas
| export | Antes | Depois |
|---|---|---|
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> |
Membros de classes ou interfaces removidos
Nenhuma detectada.
Membros de classes ou interfaces alterados
Nenhuma detectada.
Novas descontinuações
Nenhuma detectada.
Mudanças de requisitos (engines, dependências peer)
Nenhuma detectada.
Novos exports (4)
| import | export | kind |
|---|---|---|
brotli | CompressOptions | interface |
brotli/compress | compress | function |
brotli/compress | CompressOptions | interface |
brotli/decompress | decompress | function |
Changelog entre estas versões
Texto publicado pelos autores do pacote, exibido como está.
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 browser2.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()`.Dê estes dados ao seu agente de IA
Vigia é um servidor MCP gratuito: seu agente de programação verifica versões, mudanças incompatíveis e vulnerabilidades antes de escrever código. Sem cadastro, sem chave de API.
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
Adicionar ao CursorAdicionar ao VS Code★ Estrela no GitHub
Qualquer outro cliente MCP
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }Skill para agentes (SKILL.md): diz ao agente quando usar o Vigia · GitHub Action para pull requests
Perguntas frequentes
Quais são as mudanças incompatíveis ao atualizar brotli de 1 para 2?
Entre brotli 1.3.3 e 2.1.0, o Vigia encontrou 0 exports removidos, 2 assinaturas alteradas e 0 membros de classes ou interfaces removidos ou alterados.
O que foi descontinuado em brotli 2?
0 exports ou membros foram marcados como descontinuados em brotli 2.1.0.
Para agentes
GET https://vigia.coredls.cloud/v1/packages/npm/brotli/upgrade?from=1.3.3&to=2.1.0