Utilizando las últimas funciones de JavaScript en TypeScript, como ES2018

He intentado buscar a través de la documentación de TypeScripts en su configuración y parece que no puedo encontrar la respuesta a lo que debería ser una pregunta simple.

Simplemente, ¿cómo se configura el compilador de mecanografía para que sepa qué conjuntos de características de JavaScript estamos usando?

Así que, por ejemplo, ES2019 aterriza y pienso 'Ohh, quiero conseguirme algo de eso'. En esa situación, ¿qué necesito para actualizar, para permitir que el compilador transpile y rellene lo que necesita?

La opción lib en tsconfig me confunde y los documentos no explican mucho sobre las bibliotecas disponibles. No puedo encontrar nada en ellos directamente tampoco.

Entonces, digamos que ES2019 sale y agrego la opción lib para ello (suponiendo que haya una). ¿Eso significa que ahora puedo usar las funciones de ES2019? Si deseo admitir todo, desde ES2019 hacia abajo, ¿debo agregar las bibliotecas para cada otra versión debajo de él? ¿O agregar el ES2019 lib proporciona todo lo que necesito?

¿De dónde vienen esas bibliotecas? ¿Forman parte de la biblioteca principal de TypeScript y, para obtener más, tengo que actualizar, o simplemente puedo actualizar un paquete separado y todo funcionará?

Finalmente, esos lib proporcionan todo lo necesario para admitir completamente esa versión de la especificación. ¿O es un subconjunto de características?

En nuestro proyecto actualmente utilizamos TypeScript versión 2.5.3

Me doy cuenta de que hay muchas preguntas, por lo que cualquier información sobre cualquier cosa, o enlaces a documentación, sería muy apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta