ts-node, lendo arquivos TypeScript com Node.js

Toda linguagem de programação necessita de alguma ferramenta que leia o que está sendo pedido em seus comandos e assim como qualquer linguagem, o JavaScript tem seu próprio interpretador, o Node.js.

Porém, para usuários mais avançados em JavaScript, muitas vezes eles preferem migrar para a utilização de seu superset, o TypeScript, que por sua vez não é interpretado diretamente pelo Node.js. Apesar de atualmente ter o seu próprio interpretador, o Deno, muitas vezes é preferivel usar o Node.js.

Com essa necessidade de interpretar os códigos escritos em TypeScript pelo próprio Node.js, foi desenvolvido um pacote chamado ts-node, que faz o papel de compilar os arquivos em TypeScript para JavaScript e interpretar esses arquivos.

Instalação

Primeiramente é importante criar um arquivo de package.json em seu projeto:

npm init -y

Em seus projetos instale o pacote do ts-node:

npm install ts-node
# ou
yarn add ts-node

Após a instalação do ts-node, vamos ver esse projeto teste para exemplificar como utilizar

project

Com isso você já tem o ts-node pronto para ser executado em seu projeto digitando o seguinte comando no terminal:

ts-node index.ts

E o resultado será

tsnode

Agora basta criar um script em seu package.json para que ele seja executado no terminal de forma mais rápida.

Para isso será necessário mais alguns pacotes, como o typescript e o @types/node, instale eles:

npm install @types/node -D
npm install typescript
# ou
yarn add @types/node --save-dev
yarn add typescript

Seu package.json vai ficar mais ou menos assim:

{

  "name": "ts-node-test",

  "version": "1.0.0",

  "description": "",

  "main": "index.js",

  "scripts": {

    "start": "ts-node index.ts"

  },

  "keywords": [],

  "author": "",

  "license": "ISC",

  "dependencies": {

    "ts-node": "^10.7.0",

    "typescript": "^4.6.3"

  },

  "devDependencies": {

    "@types/node": "^17.0.25"

  }

}

Agora basta executar o seguinte comando em seu terminal:

npm start

E o resultado será

npmstart

Após feito esses processos, qualquer aplicação em TypeScript poderá ser lida a partir do Node.js, sem necessitar a instalação do Deno ou qualquer outro programa, o que facilita bastante na hora de fazer seus setups de aplicações que necessitam do ts-node.