More awesome resources
semlinker/awesome-typescript thank you @semlinker for curating the list!
Please take a quick look at the contribution guidelines first. If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file.
- Awesome TypeScript Essential Resources
- Typescript Project Starters
- Reference lists
- CLI and REPL
- Build Systems
- Cloud Data Warehousing
- Module Bundlers
- Built with TypeScript: Mobile, Web, Back-end API, Standalone apps, Libraries
- Video Courses
Getting Started with (Awesome) TypeScript
Awesome TypeScript Essential Resources
📚Handbook - Welcome to TypeScript the official resource for learning TypeScript 📚TypeScript Deep Dive by Basarat Ali Syed
- Microsoft/TypeScript on Github fork TypeScript on Github! Or... just read the code
- The official TypeScript Roadmap
📚TypeScript Team Blog with announcements and recent updates
- DefinitelyTyped, the repository for high quality TypeScript type definitions maintained by Boris Yankov
- Type search, search for typings on npm
📚Community Curated Resources
- Clean Code concepts adapted for TypeScript
💻Should You Learn TypeScript? (Benefits & Resources)
Typescript Project Starters
- typescript-starter – A CLI to quickly generate and configure new libraries and Node.js projects
- next-smrt – A Typescript/NextJs boilerplate with Redux/Styled Components/Material UI and TypeSafe Actions.
- Next-Postgres-With-Typescript - Forum-like fullstack web app boilerplate with Next.js 7.0.2 + Sequelize 4/Postgres + Typescript + Redux + Passport Local Auth + Emotion
- MicroTS Microservice code generator with interface-first approach: from OpenAPI (Swagger) REST API specification is generated complete project with TypeScript code, input validator, UI, tests and Docker configuration.
- pankod/next-boilerplate A well-structured production ready Next.js boilerplate with Typescript, Redux, Jest, Enzyme, Express.js, Sass, Css, EnvConfig, Reverse Proxy, Bundle Analyzer and Built-in CLI
- jsynowiec/node-typescript-boilerplate Up-to-date, developer ready and comprehensive, yet minimalistic template. Works out of the box for most Node.js projects. All basic tools included and configured. Targets latest Node.js LTS and TypeScript releases.
- typescript-express-starter - Quick and Easy TypeScript Express Starter.
- The Knests Stack - Full stack boilerplate (hackathon starter) with: PostgreSQL, Knex.js, NestJS, Next.js, GraphQL, React (with hooks and typescript), Material-UI, Docker multistage images for, Docker compose and a Gitlab CI/CD pipeline fully configured.
- tRPC + Next.js - Full-stack starter projects for end-to-end type safe development with React
- nd.ts - setup bare minimum Node.ts project asap
- samchon/backend - TypeScript backend template project using the NestJS (nestia) and TypeORM (safe-typeorm). It helps newbie backend developers through the derived example projects. Also, it even supports the non-distruptive update system in the process level through the pm2.
🙆♂️ts-express-boilerplate - ExpressJS / Typescript template good to start backend projects, with a focus on simplicity and minimal features :P It has logging and testing configured out of the box. Typeorm is used for data access.
📚TypeScript in 50 Lessons by Stefan Baumgartner 📚 🔥TypeScript Quickly Learn modern TypeScript and build your own blockchain; Supporting code samples yfain/getts 📚Angular Development with Typescript, Second Edition (MEAP October 2017) Angular Development with Typescript, Second Edition is an intermediate-level tutorial that introduces Angular and TypeScript to developers comfortable with building web applications using other frameworks and tools. (by Yakov Fain and Anton Moiseev; Manning) 📚Angular 2 Development with TypeScript (2016) by Yakov Fain and Anton Moiseev; Manning 📚Learning TypeScript 2.x 2nd Ed. by Remo H. Jansen 📚Mastering TypeScript 2nd Ed. by Nathan Rozentals 📚Beginning Angular 4 with TypeScript by Greg Lim 📚Programming with Types - A book on how to design safe, resilient, correct software that’s easy to maintain and understand by taking advantage of the power of type systems. (by Vlad Riscutia) 📚Effective TypeScript by Dan Vanderkam 📚Advanced TypeScript 3 Programming Projects by Peter O'Hanlon
- TypeScript Reference for JS developers - Glossary of keywords, operators, statements and directives
- @captain-yossarian's blog - fully dedicated to static typings in TypeScript
CLI and REPL
- Use ts-node to run scripts or REPL
- How to make executable typescript scripts:
- Make sure you have
npm >= 5.2) and
typescriptpackage is installed
- Add this shebang as first line to your script:
- Make script executable:
chmod +x script.ts
- Run directly:
- Make sure you have
- Visual Studio Community Edition 2015 - free (conditionally) IDE with integrated TypeScript support
- VS Addon - TypescriptSyntaxPaste - Allow you to copy C# source code, then paste as Typescript syntax which help you with converting DTO or interface
- NodeJS Tools for Visual Studio
Other (Plugins || Cross-platform || OSS || Free)
- Visual Studio Code
- CATS is an IDE for TypeScript and Web developers by @jbaron
- TypeScript Sublime Plugin by @Microsoft
- Atom TypeScript by @TypeStrong
- TypeScript Interactive Development Environment for Emacs by @ananthakumaran
- TypeScript Syntax for VIM
- Typescript addin for MonoDevelop, SharpDevelop and Xamarin Studio; a short review article
- Typescript tooling for Neovim is a language service plugin for typescript for Neovim.
- Coc Make your Vim/Neovim as smart as VSCode.
- TypeScript playground by @agentcooper, supports multiple TS versions and compiler targets
- TypeScript playground-on-ace by @hi104 updated to TypeScript 1.5
- TypeScript official Playground
- JS Bin (Select TypeScript)
- Codepen (Select TypeScript)
- TypeScript Interpret - Terminal Emulator by @niutech
- TypeScript Editor by @drake7707
- Grunt tasks:
- grunt-ts - Grunt-ts is an npm package that handles TypeScript compilation work in GruntJS build scripts
- Zwitterion - Super simple development server with built-in support for TypeScript files.
Cloud Data Warehousing
✨Crisp BigQuery Starter project that delivers Google BigQuery data to end user browsers with cost control. Allows to implement rich data presentation options.
- DDB-Table Strongly typed querys and tables for AWS DynamoDB
- Webpack - supports CommonJS and AMD module bundling
📜TypeScript and webpack - How to configure Webpack for TypeScript with source map support
- Browserify - CommonJS module bundler. Does not support TypeScript "out of the box", but can be applied with * Grunt tasks: grunt-ts, grunt-browserify, grunt-contrib-uglify
- fuse-box | http://fuse-box.org/ - typescript sample: fuse-box-ts-react-reflux-seed
- SweetIQ/schemats Generate typescript interface definitions from SQL database schema
- TypeDoc - A documentation generator for TypeScript projects
- TypeScript Standard - Zero-configuration TypeScript 2 Standard Validation
- typed-install - Easily install new dependencies and their typings, no matter where they may be
- Interactive TypeScript AST Viewer - Write TypeScript snippets and explore its AST.
- type-config - A generator for tsconfig.
- Zapatos - Zero-Abstraction Postgres for TypeScript
- jsonup - Compile-time JSON parser
- type-o-rama - JS type systems interoperability
- utility-types - Utility Types for TypeScript (provide compatibility with Flow's Utility Types)
- elm-ts - Port of Elm architecture to TypeScript featuring fp-ts, io-ts, rxjs5 and React
- ts-essentials - All essential TypeScript types in one place
- typescript-conditional-types - Helpers for typescript generic types
- ts-types-utils - Type utilities for typescript
- typesync - Install missing TypeScript typings for dependencies in your package.json.
- type-fest - A collection of essential TypeScript types
- typetype - A programming language designed for typescript type generation
- nominal - nominal types & dependent types for Typescript.
- @tool-belt/type-predicates - Type Predicates, Assertion Functions and Utilities.
- getmytypes - Install @types files into your devDependencies.
- ts-toolbelt - Large collection of type utilities for TypeScript
- json-decoder - Typesafe JSON decoder and runtime checker
- typescript-is - TypeScript transformer that generates run-time type-checks.
- type-plus - Additional types and type adjusted utilities
- Agent Framework Create interceptor for your class and method using decorators
- SunTori - A JSON de/serializer to ensure everything is safe at runtime.
- io-ts - Runtime type system for IO decoding/encoding
- zod - TypeScript-first schema validation with static type inference
- runtypes - Runtime validation for static types
- ts-codec - TypeScript Codecs for encoding, decoding and validating data
- ow - Function argument validation for humans
- superstruct - A simple and composable way to validate data
- computed-types -
🦩Joi like validations for TypeScript
- json-schema-to-ts - Dynamic type inference from JSON schemas
- Yunomix - A form validation toolkit which is designed in AOP form.
- typia - Superfast runtime validator 15,000x faster than
class-validator. Also, supports faster JSON and Protocol Buffer functions even type safe. Those features can be performed by only one line.
Built with TypeScript
- Monaco Editor
- Angular - Angular is a development platform for building mobile and desktop web applications
- feednext.io - An open-source social media application built with Typescript on both client-server side.
- ionic - An open-source mobile app development framework build in TypeScript
- React-UWP - React Components that Implement Microsoft's UWP Design & Fluent Design.
- palantir/plottable - A library of modular chart components, built on
D3(see also: http://plottablejs.org)
- APIs-guru/graphql-voyager - Represent any GraphQL API as an interactive graph
- Rebilly/ReDoc - OpenAPI/Swagger-generated API Reference Documentation
- Bobril - Component oriented framework inspired by Mithril and ReactJs. (see also: http://bobril.com/)
- Stencil - a tool for building modern Web Components
- redux-zero - A lightweight state container based on Redux
- wretch - A tiny (< 2.2Kb g-zipped) wrapper built around fetch with an intuitive syntax.
- Tridactyl - A Firefox browser addon that replaces browser's control mechanism with one modelled on the one true editor, Vim.
- armour/vue-typescript-admin-template - A vue-cli 3.0 & typescript minimal admin template + a production-ready front-end solution for admin interfaces (demo)
- n8n.io - Open Source Workflow Automation Tool
- Dnote - A command line notebook with a multi-device sync and a web interface.
- Thin Backend - Realtime Backend for your Single Page Apps, with End-to-End Type Safety thanks to types being derived from the Postgres Schema
- Flowbite - Open-source component library built on top of Tailwind CSS featuring interactive UI components built with TypeScript
- facebook/create-react-app Create React apps using typescript with no build configuration
- Microsoft/TypeScript-React-Starter A starter template for TypeScript and React with a detailed README describing how to use the two together; based on
📜typescript-cheatsheets/react-typescript-cheatsheet Cheatsheets for experienced React developers getting started with TypeScript
- jsxtyper Generates TypeScript interfaces from .jsx files
📜Building a simple react component with typescript
- TodoMVC • TypeScript + React Example
📜Working with React and TypeScript 💂♂️vortigern - A universal boilerplate for building web applications w/ TypeScript, React, Redux and more. 🤖Convert React code to TypeScript automatically
- React Server Example TSX Boilerplate for isomorphic web app with React server-side rendering in TypeScript
- React & Redux in TypeScript - Static Typing Guide The complete guide to static typing in "React & Redux" using TypeScript
- Typescript Monorepo CRA Example - A minimalistic CRA + typescript monorepo.
- Typescript Monorepo Next Example - A minimalistic next.js + typescript monorepo.
🌠Crisp React Boilerplate with React client and Express backend. Offers performance and extended functionality. Helps to avoid frequent React-Express pitfalls. 📖React by Example Code-oriented React tutorial for programmers
- Flowbite React - Open-source component library based on React, TypeScript, and Tailwind CSS
- design-first - A REST Api templating engine for Typescript
- Nest - A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications on top of TypeScript
🚀(see also: https://nestjs.com/)
- nestia - 15,000x faster validation decorators than
class-validatorand Swagger/SDK generators.
- nestia - 15,000x faster validation decorators than
- LoopBack 4 - A highly extensible Node.js and TypeScript framework for building APIs and microservices.
🚀(see also: https://loopback.io/)
- FoalTS - A simple, intuitive and complete framework for building enterprise-grade Node.JS applications
💥 🚀(see also: https://foalts.org)
- Enso - Typescript first Node.JS framework inspired by Domain Driven Design principles with a focus on composition and Developer Experience
- Libstack - A collection of various modules to create Typescript server easily and ready to be deployed on Docker.
- tinyhttp - A modern Express-like web framework for Node.js, written in TypeScript and compiled to Native ESM.
- ZenTS - A modern Node.js and TypeScript first framework for building rich web applications (see also: https://zents.dev)
- Booster Framework - Event-driven cloud native GraphQL open-source framework, part of the Booster Cloud ecosystem. It makes use of high-level abstractions and conventions. (see also: https://booster.cloud)
- Visual Studio Code - Multiplatform IDE.
- alm - A next generation IDE just for TypeScript written in TypeScript + React
- App Outlet - An universal linux app store for AppImages/Flatpaks/Snaps written in TypeScript + Angular
- SnowFS - a fast, scalable version control file storage for graphic files
- Design Patterns implementation - Implementation of the well-known 23 patterns of GoF
- Procedurem - A Small (2kb) And Performant Bi-Directional RPC Library Using WebSockets.
- substitute.js - A fluent mocking library for TypeScript ported from NSubstitute.
- TypeMoq - A simple mocking library for TypeScript.
- fast-check - Property based testing framework for TypeScript.
- Safe-TypeORM - Enhances
TypeORMin the compilation level and supports automated performance tuning tools through the application level joining. Furthermore, your raw SQL queries would be ensured safety by type meta programming.
- Safe-TypeORM - Enhances
- MikroORM - TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, PostgreSQL, MySQL and SQLite.
- Prisma - Modern database access (ORM alternative) for Node.js & TypeScript | PostgreSQL, MySQL & SQLite
- Typetta - Typescript ORM for Node.js that uses GraphQL as schema definition language | Supports all main SQL databases and MongoDB.
- TypeGQL - Set of tools for creating GraphQL schema directly from typed TypeScript class.
- TSTL - Implementation of C++ STL (Standard Template Library) in TypeScript. Provided modules are containers, iterators, algorithms and functors.
- Kalimdor.js - Machine Learning library for the Web, Node and Developers!
- prelude.ts - Functional programming: immutable persistent collections, constructs such as Option and Either, and combinators.
- ee-ts - Typed event emitters
- io-ts - Type validation at runtime
- mokia - A mock server integrated data simulation and http service.
- sub-events - Strongly-typed events.
- ts-audio - an agnostic and easy-to-use library to work with the
- tslog - A powerful logging library with native TypeScript support: beautiful interpolation, native V8 stack trace, secret masking, support for requestIds based on AsyncLocalStorage
- tsParticles - A lightweight library for easily creating particles animations for websites (Supports also ReactJS, VueJS, Angular, Svelte and others)
- statek - Reactive state management library
- Injex - Simple, Decorated, Pluggable dependency-injection framework for TypeScript applications
- tRPC - TypeScript toolkit for building end-to-end type-safe APIs
- interface-forge - Test data factories using TypeScript types and interfaces
- iter-ops - Operations with iterable objects
- Remult - End-to-end type-safe CRUD and frontend-backend model code sharing in fullstack TypeScript applications.
- diod - A very opinionated and lightweight inversion of control container and dependency injector for Node.js or browser apps.
- @deliberative/crypto - A Typescript/WebAssembly library for public key cryptography, AEAD secret boxes, Shamir secret sharing and random shuffling. Runs on Nodejs, ESM, CommonJS and the browser.
- castore - Typescript library to easily implement Event Sourcing in your application
🆓 Free Courses
- Angular Applications with TypeScript (Microsoft Virtual Academy)
- AngularJS with TypeScript made easy (SSW TV)
- Full Stack React GraphQL TypeScript Tutorial - 14 hour course (YouTube)
- List of free online courses about Typescript
💵 Paid Courses
- TypeScript Fundamentals (Pluralsight)
- Practical TypeScript Migration (Pluralsight)
- Angular with TypeScript (Pluralsight)
- Using TypeScript for Large AngularJS Applications (Pluralsight)
- Introduction to TypeScript (Packt)
- Mastering TypeScript (Packt)
- TypeScript: The Complete Developer's Guide (Udemy)
- Angular with TypeScript (Manning)
- Mastering TypeScript - 2022 Edition (Udemy)
- List of paid online courses about Typescript