An open API service indexing awesome lists of open source software.

https://github.com/epicweb-dev/advanced-typescript

Master async patterns, modules, and advanced type manipulation
https://github.com/epicweb-dev/advanced-typescript

epicweb-dev kcd-edu workshop

Last synced: 3 months ago
JSON representation

Master async patterns, modules, and advanced type manipulation

Awesome Lists containing this project

README

          


Advanced TypeScript 🚀



Master async patterns, modules, and advanced type manipulation


Learn Promises, async/await, modules, utility types, mapped types, and conditional types—the advanced skills for professional TypeScript development.








[![Build Status][build-badge]][build]
[![GPL 3.0 License][license-badge]][license]
[![Code of Conduct][coc-badge]][coc]

## Prerequisites

- [Programming Foundations](https://github.com/epicweb-dev/programming-foundations)
workshop
- [Structured Data](https://github.com/epicweb-dev/structured-data) workshop
- [Type Safety](https://github.com/epicweb-dev/type-safety) workshop
- [Object-Oriented TypeScript](https://github.com/epicweb-dev/object-oriented-typescript)
workshop (or equivalent knowledge)
- Solid understanding of generics and type annotations

## Pre-workshop Resources

Here are some resources you can read before taking the workshop to get you up to
speed on some of the tools and concepts we'll be covering:

- [TypeScript Handbook - Modules](https://www.typescriptlang.org/docs/handbook/2/modules.html)
- [TypeScript Handbook - Utility Types](https://www.typescriptlang.org/docs/handbook/utility-types.html)
- [JavaScript.info - Promises](https://javascript.info/promise-basics)
- [JavaScript.info - Async/Await](https://javascript.info/async-await)

## System Requirements

- [git][git] v2.18 or greater
- [NodeJS][node] v20 or greater
- [npm][npm] v8 or greater

All of these must be available in your `PATH`. To verify things are set up
properly, you can run this:

```shell
git --version
node --version
npm --version
```

If you have trouble with any of these, learn more about the PATH environment
variable and how to fix it here for [windows][win-path] or
[mac/linux][mac-path].

## Setup

Use the Epic Workshop CLI to get this setup:

```sh nonumber
npx --yes epicshop@latest add advanced-typescript
```

If you experience errors here, please open [an issue][issue] with as many
details as you can offer.

## The Workshop App

Learn all about the workshop app on the
[Epic Web Getting Started Guide](https://www.epicweb.dev/get-started).

[![Kent with the workshop app in the background](https://github-production-user-asset-6210df.s3.amazonaws.com/1500684/280407082-0e012138-e01d-45d5-abf2-86ffe5d03c69.png)](https://www.epicweb.dev/get-started)

[npm]: https://www.npmjs.com/
[node]: https://nodejs.org
[git]: https://git-scm.com/
[build-badge]: https://img.shields.io/github/actions/workflow/status/epicweb-dev/advanced-typescript/validate.yml?branch=main&logo=github&style=flat-square
[build]: https://github.com/epicweb-dev/advanced-typescript/actions?query=workflow%3Adeploy
[license-badge]: https://img.shields.io/badge/license-GPL%203.0%20License-blue.svg?style=flat-square
[license]: https://github.com/epicweb-dev/advanced-typescript/blob/main/LICENSE
[coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square
[coc]: https://kentcdodds.com/conduct
[win-path]: https://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/
[mac-path]: http://stackoverflow.com/a/24322978/971592
[issue]: https://github.com/epicweb-dev/advanced-typescript/issues/new