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 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)
- 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
- typescript-json - Super-fast runtime type checkers (validators) and 5x faster
JSON.stringify()function, with only line. For reference, only
typscript-jsoncan validate complicate union type.
- 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.
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
- 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
- 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 - Automatic SDK and Swagger generator for the
NestJS, evoled than ever. It does not require any swagger or DTO class decorator, therefore using pure interface typed DTO is possible.
- nestia-helper - Helper library of
NestJS, which boosts up
JSON.stringify()functions about 5x times faster, of the API responses. Also, converts
TSON.assertTypeto 400 status error automatically, therefore you can easily validate client request with only one line.
- nestia - Automatic SDK and Swagger generator for the
- 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)
- List of paid online courses about Typescript