# Verktyg - Typescript och Deno med vänner
```
icon: 🧩 
author: krm
created: 2020-08-22 
image: /image/courses/puzzle.png
status: alpha
```

# 1. Introduktion till Typescript

- 🔗 [Editor för typescript](https://www.typescriptlang.org/play?#code/Q)

# 2. Vad är Deno?

- Deno och motivering.

# 3. Installation av deno

- 🔗 [Installations instruktioner lite längre ned på sidan](https://deno.com/)
- Vi har haft problem, men det borde fungera nu.

# 4. Enkla datatyper i typescript och tsconfig.

- Om ["use strict;"](https://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvEAXwvW10QICsEqdBk2J4AOiACucGAAI4xAE4RqxCWLQbYxWRlkBeWQCYA3Box7DAZjNohcWrHxRaAcwAUGAJQnKIGbCqEPQIPEaIAAxsHCCYOHj41HACNPSMzDxsALqsQA)
- Funktioner i typescript.
- ⚙️ [Exempel](https://www.typescriptlang.org/play/?#code/DYUwLgBAhgXAzmATgSwHYHMDcAobUIC8EARABYgBWxO2AZgK6oDGYyA9qhLQBSyr0BbAEYhEAGghD4SNOgCUEAN7YIqiInD1EnIQGpiMYroDKMjLzk4AvriYc4bUADpgbdNx4AmMcQCiANyhiOUsgA)
- ⚙️ [Exempel 2](https://www.typescriptlang.org/play/?#code/FAMwrgdgxgLglgewgAgM5gLYYIYAoNwQBcEmARgKYBOANDgB4nnUCUTGlVyA3sMv8gA2FGGkzIAvMgAMAbj4CQCKrmGi4k5AQizkGgDxbs9ANQBGXXBMmWPBQP7oMyE1LjyHAqElQJhAOkEEAHNcJxYPAQBfYHtkKhEwKhQneRjgbwhfAKDQgCIAZUwcImQ8lzEsPAAmGgA2FgigA)
- Funktion typer, avancerade typer.
- ⚙️ [Exempel 3](https://www.typescriptlang.org/play?#code/FAMwrgdgxgLglgewgAgM5gLYYIYAoNwQBcEmARgKYBOANDgB4nnU3IhG7ZMaW3JndeASgC8APlI9qQwdWQBvYMmXIANhRhpMyEcgAMAbmBKVIBFVzrNcHcgIQDyGwB472egGoAjI7gePQgomKsroGLYguGE0cEJGISpQSKgI6gB0qggA5lGYccHIAL7GIVQaYFQoYUbFSRAp6Zk5AEQAggAm7c35dQ0UGdm5WHgATDQAbKzg0PBIuEmq6rCytITtFIySwkEJKmUwFSgLSzAeaxvxKsUhQvnAvan9TbjNALJgqjDdRg+Ng2E4XBjSZsSCwRAQeapE4rGIQdabZhUQKKXbKfaHZDHCiwABU508PgK1xUtwMQA)
- Interfaces i typescript
- ⚙️ [Exempel 4](https://www.typescriptlang.org/play/?#code/JYOwLgpgTgZghgYwgAgIICFkG8BQzlxwBcyAzmFKAOYDceyARgySAK4C2D0dAvjjgBsIYAsgC82QkQBEACwgAraTzpCRDcZOLI5i6QBpGzaQBMApwEJldQcILMMNuBom58UnfKX76TEgCYcFX5nTTg6UIkGGiA)
- Komma runt typescript med any.
- ⚙️ [Exempel 5](https://www.typescriptlang.org/play?#code/FAMwrgdgxgLglgewgAgM5gLYYIYAoNwQBcEmARgKYBOANDgB4nnU1ozZUxHYQCerIIrmzc+rMkwyUqASgC8APh68Zo3sgDewZDuQAbCjDSZkcthxgBuYNt0gEVXAaNxTyAhEvJXAHnfZ6AGoARi84QMCZTVtdHXQMNxBceJo4GWtY3SgkVAQDADo9BABzZMx0mOQAXxtYqkMwKhR46xrsiFyCotKAIgBBABMBnor2zopCkrKsPAAmGgA2Vh6egUhYRAhcbL0DWCJUGCpCYtSIAYpGUilqKK1M3XqYRpQdvZhAnqIewMIL+gyuhqsRk6SAA)

# 5. Övninga med TypeScript

- ⚙️ [Övningar](https://docs.google.com/document/d/18AUNVG8vZ9QB-DgHrPsMP_gzWPb3UyaqswzGqLhe_tA/edit?usp=sharing)

# 6. Om packet hanterar och standarbibliotek

- [npm är största packethanteraren för js på nätet](https://www.npmjs.com)
- [jsr](https://jsr.io/)
- [deno std](https://jsr.io/@std)

Observera att det kan ofta vara enklare att googla efter ett projekt än att leta på npm.

# 7. Använda deno

- [Exempel med deno](https://docs.deno.com/examples/)

# 8. Använda packet

Vi använder deno, men ibland kan vi behöva använda npm.

- Hitta ett packet
- Importera ett packet
- Installera ett packet
- Komprimerad mapp med ett exempel

# 9. Filsystem

Deno har ett eget objekt och standardbibliotek.

- [Exempel med deno](https://docs.deno.com/examples/)

# 10. Några exempel program

- ⚙️ [Math time](https://htsit.se/f/mt.ts)
- ⚙️ [Clicker game server](https://htsit.se/f/mimer-click.zip)

# 11. Flera std packet så som uuid

- [uuid](https://jsr.io/@std/uuid)

# 12. Datum och tid

- Temporal
- [Temporal polyfil](js-temporal/polyfill)

Måste använda "--unstable-temporal" för att använda denna funktion i deno.

# 13. Exempel på externa bibliotek

- [discord.js](https://www.npmjs.com/package/discord.js)
- [Youtube tutorial för att anvädna discord.js](https://www.youtube.com/watch?v=5MCl-zJ0wBc)

# 14. Mocha och testning av program.

- 🔗 [Mocha](https://blog.logrocket.com/a-quick-and-complete-guide-to-mocha-testing-d0e0ea09f09d/)

# 15. TypeDoc och dokumentering av program.

- 🔗 [TypeDoc](https://typedoc.org/)

# 16. Versionshantering

- 🔗 [Guide till Git](https://htsit.se/courses/common/git/Content/git/section.sv.html)

# 17. En guide för att skapa ett program

- Skapa ett eget program med hjälp av:
- 🔗 [Guide till skapa node program](https://docs.google.com/document/d/1MCkCYb22lMO-uDnVu5oSMjHvdUfXSox3yKLE2yyYkYo/edit).


# 18. RegExp

RegExp är inbyggd i JS för att göra sökningar i text.

- 🔗 [En förklaring till regexp](https://coderpad.io/blog/development/the-complete-guide-to-regular-expressions-regex/)
- 🔗 [En väldigt bra sida för att experimentera med regexp](https://regexr.com)
