yarn init -y
yarn add express
yarn add -D eslint@latest
yarn add -D @typescript-eslint/eslint-plugin@latest
yarn add -D eslint-config-airbnb-base@latest
yarn add -D eslint-plugin-import@latest
yarn add -D @typescript-eslint/parser@latest
yarn add -D eslint-plugin-import-helpers
yarn add -D eslint-import-resolver-typescript
yarn add -D prettier eslint-config-prettier
yarn add -D eslint-plugin-prettier
yarn add -D @types/express
yarn add -D typescript
yarn add ts-node
yarn add ts-node-dev
Packages insalados
Package | Description |
---|---|
express | Framework para criação de API |
eslint | Ferramenta para padronização de código |
@typescript-eslint/eslint-plugin | Plugin para o eslint |
eslint-config-airbnb-base | Plugin para o eslint |
eslint-plugin-import | Plugin para o eslint |
@typescript-eslint/parser | Plugin para o eslint |
eslint-plugin-import-helpers | Plugin para o eslint |
eslint-import-resolver-typescript | Plugin para o eslint |
prettier | Plugin para o eslint |
eslint-config-prettier | Plugin para o eslint |
eslint-plugin-prettier | Plugin para o eslint |
@types/express | Tipagem para o express |
typescript | Linguagem para o node |
ts-node | Plugin para o typescript |
ts-node-dev | Plugin para o typescript |
"scripts": {
"dev": "ts-node-dev --transpile-only --ignore-watch node_modules --respawn src/server.ts"
},
Exmplicação dos comandos enviados no Script de start
parâmetro | descrição |
---|---|
--transpile-only | Não verifica se o código está correto, apenas transpila |
--ignore-watch node_modules | Ignora a pasta node_modules |
--respawn | Reinicia o servidor sempre que houver alteração |
Crie a pasta .vscode
Adicione o seguinte arquivo com o nome launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Debugger",
"type": "node",
"request": "attach",
"skipFiles": [
"<node_internals>/**"
],
"outFiles": [
"${workspaceFolder}/**/*.js"
]
}
]
}
Ajuste o script de start para adicionando o --inspect
para que o debugger consiga se conectar ao servidor
"scripts": {
"dev": "ts-node-dev --inspect --transpile-only --ignore-watch node_modules --respawn src/server.ts"
},