Na pasta do projeto da última aula crie o seguinte arquivo:
touch tsconfig.json
Dentro do arquivo adicione as seguintes opções:
{
"compilerOptions": {
"outFile": "main.js",
}
}
No arquivo package.json faça a seguinte modificação:
"scripts": {
"build": "tsc"
},
Execute o compilador e veja que ele agora emite um arquivo main.js:
npm run build
Agora altere o arquivo index.ts para incluir uma função async e veja que ele acusa um erro, pois o ES3 não suporta async e await:
const setPilot = async (newPilot: string, spaceship: { name?: string; pilot: string; speed?: number; inMission?: boolean; }) => {
spaceship.pilot = newPilot;
}
Ao executar o compilador ele ainda funciona, mas veja que a saída é bem diferente, pois o compilador tenta adaptar o código async:
npm run build
Apague o arquivo tsconfig.json e depois execute o comando para criar um novo:
npx tsc --init
Repare que ele traz diversas opções possíveis. Como não precisamos delas no momento, altere o arquivo para fique como abaixo:
{
"compilerOptions": {
"target": "esnext",
"outFile": "main.js"
}
}
Veja que agora a versão alvo do compilador será a mais recente, suportando assim o async nativamente. Execute novamente o compilador:
npm run build