@babel/preset-stage-1
Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →
A partire da Babel v7, tutti i preset stage sono deprecati. Consulta il blog post per maggiori informazioni.
Per le istruzioni di aggiornamento, vedi il README.
L'essenza dello Stage 1 è:
Fase 1: proposta
Cos'è? Una proposta formale per la funzionalità.
Cosa richiede? Deve essere identificato un cosiddetto champion responsabile della proposta. Il champion o un co-champion deve essere membro del TC39 (fonte). Il problema risolto dalla proposta deve essere descritto in prosa. La soluzione va descritta tramite esempi, un'API e una discussione su semantica e algoritmi. Infine, vanno identificati potenziali ostacoli come interazioni con altre funzionalità e sfide implementative. A livello implementativo, sono necessari polyfill e demo.
Passi successivi? Accettando una proposta per la fase 1, TC39 dichiara la volontà di esaminare, discutere e contribuire alla proposta. In futuro, sono attesi cambiamenti significativi alla proposta.
Installazione
- npm
- Yarn
- pnpm
- Bun
npm install --save-dev @babel/preset-stage-1
yarn add --dev @babel/preset-stage-1
pnpm add --save-dev @babel/preset-stage-1
bun add --dev @babel/preset-stage-1
Utilizzo
Con un file di configurazione (Consigliato)
{
"presets": ["@babel/preset-stage-1"]
}
Tramite CLI
babel script.js --presets @babel/preset-stage-1
Tramite Node API
require("@babel/core").transformSync("code", {
presets: ["@babel/preset-stage-1"]
});
Opzioni
loose
boolean, predefinito false.
Abilita trasformazioni "loose" per i plugin di questo preset che le supportano.
useBuiltIns
boolean, predefinito false.
Utilizzerà il built-in nativo invece di tentare di fornire un polyfill per il comportamento di qualsiasi plugin che ne richieda uno.
decoratorsLegacy
boolean, predefinito false.
Utilizza la sintassi e il comportamento legacy (stage 1) dei decoratori.
Riferimenti
- Capitolo "Il processo TC39 per le funzionalità ECMAScript" in "Exploring ES2016 and ES2017" di Axel Rauschmayer