https://github.com/raizertechdev/desafio-ts-js
A aplicação foi desenvolvida com base em desafios, atualmente em fase de refinamento que inclui a adição de tipagem e testes no arquivo index.ts, além da incorporação dos arquivos JS gerados a partir do TypeScript.
https://github.com/raizertechdev/desafio-ts-js
github javascript typescript
Last synced: 7 months ago
JSON representation
A aplicação foi desenvolvida com base em desafios, atualmente em fase de refinamento que inclui a adição de tipagem e testes no arquivo index.ts, além da incorporação dos arquivos JS gerados a partir do TypeScript.
- Host: GitHub
- URL: https://github.com/raizertechdev/desafio-ts-js
- Owner: RaizerTechDev
- License: mit
- Created: 2024-06-25T17:20:55.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-06-25T17:31:25.000Z (over 1 year ago)
- Last Synced: 2025-02-28T19:57:12.251Z (12 months ago)
- Topics: github, javascript, typescript
- Language: TypeScript
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tipagens que funcionam
Estamos construindo uma aplicação e precisamos que as tipagens que faltam definir estejam corretas para não gerar erros em nosso código.
## Avaliação e o que fazer:
Há cinco arquivos, chamados `desafio1`, `desafio2`, etc...
Em cada um desses arquivos, há tipagens mal configuradas que você precisará corrigir. Elas são (o número da lista indica o número do desafio)
1. A tipagem `IFullUser` deve possuir os campos de `IUserWorker` e também de `IUserStudent`.
2. Use a função TS `Omit` em `IExtendedWithoutFields` para fazer dele uma versão de `IExtendedUser` que seja igual a `ISiblingsUser`
3. A tipagem `myFunction` deve ser adequada para aceitar funções como a `duplicarNumero`.
4. Faça com que a tipagem `listType` , aplicada como array em `list_of_packs`, aceite valores numéricos e de texto.
5. Há a criação de um objeto - `userYouMader` - no código, utilizando a tipagem `IUserYouMade`. Ajuste essa tipagem para que os campos preenchidos no objeto sejam aceitos.
## Intalação do TypeScript
```
npm install -g typescript
```
## Verificar versão npm
```
npm -v
```
## Verificar versão node
```
node -v
```
## Instalar ts-node e @tsconfig/node16
```
npm install ts-node @tsconfig/node16
```
## Caso venha criar uma nova pasta do package-json sempre 1º tem que digitar para funcionar:
```
npm init
```
### Informações após digitar `npm init`:
- nome do pacote => "criar uma nova pasta com ts"
- version => da enter
- descrição do projeto => "De acordo com o planejamento do teu projeto"
- autor coloca teu nome
- licença autoriza MIT
- e as demais informações fica a teu critério
- finaliza com `yes`
### Após `npm init` vai digitar para instalação dos pacotes:
```
npm install -d typescript ts-node
```
### Só pra constar verifica novamente a versão node pois tem que estar acima de `14.7.0`
```
node -v
```
### Instalar os types nodes
```
npm i -D @types/node
```
## Ai sim vai rodar o código digitando:
```
npx ts-node index.ts
```
### Fazendo alteração para o JavaScript, no terminal do bash:
- 1º digita:
```
npm install -g typescript
```
- 2º Cada vez que realizar alteração nos arquivos.ts digita:
```
tsc desafio.ts index.ts
```
- Para o arquivo `java script`
### E para verificar a versão tsc e se deu certo, digita:
```
tsc -v
```
## Verificar novamente, versão node
```
node -v
```
## Ai roda em TS com:
```
npx ts-node index.ts
```
## No código JS vai com:
```
node index.js
```
## Se alterar no `package.json`
- Digita novamente a dependencia:
```
npm install
```
## Licença
- Esse projeto está sob a licença MIT.
---
Autor
   RafaRz76Dev
   Whatsapp | LinkedIn | GitHub| Tableau| Portfólio