Compiler TypeScript -> ES5 con plugin e polyfill per ambienti legacy
npm install aria-legacy-compilernpx.
bash
npx aria-legacy-compiler nome-progetto
`
Struttura del progetto
Il comando sopra indicato creerà una struttura come la seguente:
`bash
nome-progetto/
├── src/
├── modules
├── operations
│ └── global.ts
├── babel.config.cjs
├── tsconfig.json
├── package.json
└── README.md
`
Sviluppo
Basterà modificare la global.ts in base alle proprie esigenze e trattare la folder src come qualsiasi folder progetto che usavamo prima. Per cui
all'interno della cartella modules creeremo una cartella per ogni modulo del template e dentro a ogni rispettiva cartella andremo a inserire gli script necessari.
Una volta finito lo sviluppo, sarà necessario lanciare la build del progetto che effettuerà diverse azioni:
- ESLint controllerà che non vengano usate feature ES6+
- il plugin Babel si occuperà di convertire qualsiasi feature ES6+ in codice vanilla JS.
`bash
npm run build
`
A questo punto verrà creata una cartella /dist contenente tutti i nostri file in vanilla JS, copieremo questi file in piattaforma
Feature attualmente gestite
Le seguenti funzionalità ECMAScript sono supportate o trasformate automaticamente:
- let e const → conversione in dichiarazioni compatibili con ambienti ES5
- Array.prototype.includes()
- for...of → iterazione tradotta in loop compatibili
- Template literals (string ${value})
- Spread operator (...args)
- Destructuring assignment (const { a, b } = obj)
🧠Metodi consigliati per i log e la serializzazione
Con questi metodi si consiglia di usare JSON.stringify per stamparli o salvarli
- Object.entries()
- Object.values()
- Object.assign()
`bash
const obj = { a: 1, b: 2 };
const values = Object.values(obj);
_log(values ${JSON.stringify(values)}, "WARN");
``