Se rendre au contenu

TypeScript 3.0 est sorti

30 juillet 2018 par
TypeScript 3.0 est sorti
Makersquad

Date de sortie : 30 juillet 2018

Documentation officielle : Announcing TypeScript 3.0

TypeScript passe en version majeure 3.0, et ce n’est pas que du marketing. Les project references changent la donne pour les monorepos, et le type unknown offre enfin une alternative saine à any.


Les nouveautés principales

Project references — builds incrémentaux

Gérer les monorepos et projets multi-packages avec des builds incrémentaux :

// tsconfig.json
{
  "compilerOptions": { "composite": true },
  "references": [
    { "path": "../common" },
    { "path": "../utils" }
  ]
}
tsc --build  # Build intelligent et incrémental


Le type unknown — pour arrêter de tricher

any c’est pratique, mais c’est aussi désactiver TypeScript. unknown offre une alternative honnête :

function processValue(value: unknown) {
  // value.toUpperCase()  // Erreur !

  if (typeof value === "string") {
    return value.toUpperCase();  // OK après vérification
  }
}

unknown force à vérifier le type avant utilisation.


Tuples améliorés

Rest elements et éléments optionnels dans les tuples :

type StringNumberBooleans = [string, number, ...boolean[]];
type StringNumbersBoolean = [string, ...number[], boolean];

// Éléments optionnels
type Point = [number, number, number?];


Meilleurs messages d’erreur

Les erreurs montrent maintenant le contexte avec des “related spans” :

error TS2345: Argument of type 'string' is not assignable...
  The expected type comes from property 'name' which is declared her


Autres améliorations

  • Support de defaultProps dans JSX/React
  • /// <reference lib="..." /> pour les polyfills
  • Quick fixes pour le code inatteignable
  • Renommage des imports nommés


Échanger avec un expert TypeScript

Nous revenons vers vous sous 24h.


Chez Makersquad, nous accompagnons nos clients dans le développement d’applications robustes et maintenables grâce à TypeScript. Que ce soit pour structurer un nouveau projet, migrer un codebase existant ou améliorer la qualité et la sécurité de votre application, notre équipe met son expertise TypeScript à votre service.


À retenir

TypeScript 3.0 pose les fondations pour les gros projets. Si vous gérez un monorepo ou si votre codebase est truffé de any, cette version vous donne les outils pour reprendre le contrôle.

Python 3.7 est sorti