ExpertiDict

JavaScript · Avançado · Inglês · Técnico

tree shaking

/tɹi ˈʃeɪkɪŋ/substantivo

Otimização do bundler que remove do pacote final os exports de módulos ES que nunca são importados. Depende da análise estática de import e export.

Onde usar

Aparece ao reduzir o tamanho do bundle. Em code review, pacotes CommonJS e arquivos com efeito colateral no topo atrapalham, e o campo sideEffects do package.json ajuda o bundler a descartar arquivos.

Em código

// util.js
export const a = () => 'usado';
export const b = () => 'morto';
// app.js
import { a } from './util.js';
console.log(a()); // b sai do bundle

Exemplos

Tree shaking removed the functions we never imported.

O tree shaking removeu as funções que nunca importamos.

Importing from a CommonJS library blocks tree shaking.

Importar de uma biblioteca CommonJS bloqueia o tree shaking.

Cuidado

Esperar que funcione com require ou com módulos que têm efeitos colaterais no topo do arquivo.

Sinônimos

eliminação de código morto

Origem

Do inglês, sacudir a árvore de dependências para cair o que está morto.

Veja também

Todos os termos de JavaScript