@babel/preset-stage-2
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 stati deprecati. Consulta il blog post per maggiori informazioni.
Per le istruzioni di aggiornamento, consulta il README.
In sintesi, lo Stage 2 è:
Stage 2: bozza
Cos'è? Una prima versione di ciò che sarà nella specifica. A questo punto, è probabile che la funzionalità venga inclusa nello standard.
Cosa è richiesto? La proposta deve ora avere inoltre una descrizione formale della sintassi e della semantica della funzionalità (utilizzando il linguaggio formale della specifica ECMAScript). La descrizione dovrebbe essere il più completa possibile, ma può contenere todo e segnaposto. Sono necessarie due implementazioni sperimentali della funzionalità, ma una di esse può essere in un transpiler come Babel.
E dopo? D'ora in poi ci si aspetta solo cambiamenti incrementali.
Installazione
- npm
- Yarn
- pnpm
- Bun
npm install --save-dev @babel/preset-stage-2
yarn add --dev @babel/preset-stage-2
pnpm add --save-dev @babel/preset-stage-2
bun add --dev @babel/preset-stage-2
Utilizzo
Con un file di configurazione (Consigliato)
{
"presets": ["@babel/preset-stage-2"]
}
Tramite CLI
babel script.js --presets @babel/preset-stage-2
Tramite Node API
require("@babel/core").transformSync("code", {
presets: ["@babel/preset-stage-2"]
});
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.
Ulteriori informazioni sulla configurazione delle opzioni dei preset sono disponibili qui
Riferimenti
- Capitolo "Il processo TC39 per le funzionalità ECMAScript" in "Exploring ES2016 and ES2017" di Axel Rauschmayer