# Awesome TypeScript

#### -= Awesome TypeScript =- Awesome Elasticsearch →

> A collection of awesome TypeScript resources for client-side and server-side development. Write your awesome JavaScript in TypeScript. Inspired by the awesome lists.

## More awesome resources

> semlinker/awesome-typescript thank you @semlinker for curating the list!

## Contributing

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.

## Contents

- Awesome TypeScript Essential Resources
- Typescript Project Starters
- Books
- Reference lists
- Blogs
- CLI and REPL
- IDE
- Build Systems
- Cloud Data Warehousing
- Module Bundlers
- CMS
- Tools
- CSS In JS With Types
- Types
- Runtime
- Built with TypeScript: Mobile, Web, Back-end API, Standalone apps, Libraries
- LLM
- Video Courses
- Tutorials
- Roadmap
- Acknowledgements

## Getting Started with (Awesome) TypeScript

### Awesome TypeScript Essential Resources

- :books: Handbook - Welcome to TypeScript the official resource for learning TypeScript
- :books: TypeScript Deep Dive by Basarat Ali Syed
- :octocat: Microsoft/TypeScript on Github fork TypeScript on Github! Or… just read the code
- :octocat:The official TypeScript Roadmap
- :books: TypeScript Team Blog with announcements and recent updates
- :octocat: DefinitelyTyped/DefinitelyTyped the repository for high quality TypeScript type definitions maintained by Boris Yankov and thousands of contributors
- :octocat: Type search, search for typings on npm
- :books: Community Curated Resources
- :octocat: Clean Code concepts adapted for TypeScript
- :computer: Should You Learn TypeScript? (Benefits & Resources)
- :computer: Learn how to unleash the full potential of the Turing Complete type system of TypeScript!, 💵 online course with free first 5 chapters by Gabriel Vergnaud
- :octocat: Codebook read and run small code snippets to progressively learn TypeScript from the basic to advanced concepts.
- :octocat: Type Challenges Collection of TypeScript type challenges with online judge.
- :books: TypeScript Style Guide A concise set of conventions and best practices for creating consistent, maintainable code.

### 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.
- :octocat: 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
- :octocat: 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.
- :ok_man: 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.
- create-typescript-app - provides a starting point for TypeScript web applications. pnpm, Rollup, Jest, and CSS Modules with SCSS.
- ts-vite-npm-template - An all-in-one solution for crafting TypeScript-based NPM packages with Vite, complete with built-in GitHub Pages live-demo deployment, automated test-and-build workflows, and Vite-powered unit test configuration, including coverage analysis and a README.md template for your package.

### Books

- :books: TypeScript in 50 Lessons by Stefan Baumgartner
- :books: :fire: TypeScript Quickly Learn modern TypeScript and build your own blockchain; Supporting code samples :octocat:yfain/getts
- :books: 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)
- :books: Angular 2 Development with TypeScript (2016) by Yakov Fain and Anton Moiseev; Manning
- :books: Learning TypeScript 2.x 2nd Ed. by Remo H. Jansen
- :books: Mastering TypeScript 2nd Ed. by Nathan Rozentals
- :books: Beginning Angular 4 with TypeScript by Greg Lim
- :books: 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)
- :books: Essential TypeScript 5 - Third edition of the bestselling guide to TypeScript. (by Adam Freeman)
- :books: Effective TypeScript by Dan Vanderkam
- :books: Advanced TypeScript 3 Programming Projects by Peter O’Hanlon
- :books: The Concise TypeScript Book (Free and Open Source) by Simone Poggiali

### Reference Lists

- TypeScript Reference for JS developers - Glossary of keywords, operators, statements and directives

### Blogs

- @captain-yossarian’s blog - fully dedicated to static typings in TypeScript

### CLI and REPL

- Taze A modern cli tool that keeps your dependencies fresh
- Use ts-node to run scripts or REPL
- How to make executable typescript scripts:
  1. Make sure you have `npx` (shipped with `npm >= 5.2`) and `typescript` package is installed
  2. Add this shebang as first line to your script: `#!npx ts-node`
  3. Make script executable: `chmod +x script.ts`
  4. Run directly: `./script.ts` :)

### IDE

#### Offline

##### Visual Studio

- 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
- PhpStorm
- WebStorm
- 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
- :octocat: 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.

#### Online

##### Playground

- 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

## Build Systems

- 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.
- Nx - Smart, Fast and Extensible Build System

## Cloud Data Warehousing

- :sparkles: 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
- DynamoDB-Toolbox Light-weight and type-safe query builder for AWS DynamoDB

## Module Bundlers

- Farm - Extremely fast Vite-compatible web build tool written in Rust
- Rspack - A fast Rust-based web bundler 🦀️
- Vite - Next Generation Frontend Tooling
- Webpack - supports CommonJS and AMD module bundling
- 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

## CMS

- Factor - The Javascript CMS (TypeScript supported natively)
- Graphweaver - Turn multiple data sources into a single GraphQL Headless CMS.

## Tools

- sqlx-ts - SQLx-ts is a CLI application featuring compile-time checked queries without a DSL and generates types against SQLs to keep your code type-safe
- bun - Bun is a fast JavaScript runtime, package manager, bundler, test runner
- deno - A secure runtime for JavaScript and TypeScript
- OXC - A suite of high-performance tools for JavaScript and TypeScript written in Rust
- biome - Biome formats and lints your code in a fraction of a second
- 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
- type-config - A generator for tsconfig.
- Zapatos - Zero-Abstraction Postgres for TypeScript
- dep-tree - Render your project’s file dependency tree and/or validate it against your own rules.
- itertools-ts - Extended itertools port for TypeScript and JavaScript. Provides a huge set of functions for working with iterable collections (including async ones).
- ParaglideJS - An i18n compiler that generates fully typesafe translations
- pg - Browser PostgreSQL Playground, no server, just client and pglite (postgresql wasm)
- nocodb - 🔥 🔥 🔥 Open Source Airtable Alternative
- jqlite - ⚡ The query language for JSON

## Types

- 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
- string-ts - Strongly-typed string functions for all
- lib-result - A lightweight, Rust-inspired `Result` type for type-safe error handling in TypeScript and JavaScript.
- iso-locale - A comprehensive TypeScript library providing ISO standards for handling countries, languages, dialects, and currencies.

## CSS In JS With Types

- PandaCSS - CSS-in-JS with build time generated styles, RSC compatible, multi-variant support, and best-in-class developer experience
- Vanilla-Extract - Use TypeScript as your preprocessor. Write type‑safe, locally scoped classes, variables and themes, then generate static CSS files at build time
- StyleX - StyleX is a JavaScript library for defining styles for optimized user interfaces

### Runtime

- 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.
- config - Runtime configuration resolver

## Validation

- @core/match - Type-safe destructuring assignment with pattern-match validation
- io-ts - Runtime type system for IO decoding/encoding
- zod - TypeScript-first schema validation with static type inference
- valibot - Valibot is a Typescript schema library with static type inference, and it’s exceptionally lightweight compared to Zod, with no dependencies.
- 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 - 20,000x times faster runtime validator using pure TypeScript type. Only one line required like `typia.assert<T>(input)`. Also, supports 200x faster JSON serialization, and Protocol Buffer features. 🚀 (see also https://typia.io/docs)
- fta - Rust-based static analysis to monitor code quality
- dto-classes - Developer-friendly parsing, validation & serialization. Static types by default. Uses properties for field schemas, not decorators.
- iso-locale - A comprehensive TypeScript library providing ISO standards for handling countries, languages, dialects, and currencies. ## Built with TypeScript ### Mobile
- :octocat: ReactNative - Create native apps for Android, iOS, and more using React
- :octocat: NativeScript - Open Source framework for building cross-platform truly native iOS, Android and Windows mobile apps using JavaScript
- Monaco Editor

### Web

- :octocat: Angular - Angular is a development platform for building mobile and desktop web applications
- :octocat: It-Tools - Collection of handy online tools for developers, with great UX
- :octocat: feednext.io - An open-source social media application built with Typescript on both client-server side.
- :octocat: ionic - An open-source mobile app development framework build in TypeScript
- :octocat: React-UWP - React Components that Implement Microsoft’s UWP Design & Fluent Design.
- :octocat: palantir/plottable - A library of modular chart components, built on `D3` (see also: http://plottablejs.org)
- :octocat: APIs-guru/graphql-voyager - Represent any GraphQL API as an interactive graph 🛰️
- :octocat: Rebilly/ReDoc - OpenAPI/Swagger-generated API Reference Documentation
- :octocat: excaliburjs/Excalibur - Free open source JavaScript game engine
- :octocat: Bobril - Component oriented framework inspired by Mithril and ReactJs. (see also: http://bobril.com/)
- :octocat: Stencil - a tool for building modern Web Components
- :octocat: Langfuse - Open source LLM engineering platform 🪢 - Tracing, Prompt Mgmt, Evaluations, Analytics
- :octocat: redux-zero - A lightweight state container based on Redux
- :octocat: wretch - A tiny (< 2.2Kb g-zipped) wrapper built around fetch with an intuitive syntax.
- :octocat: Cycle.js - A functional and reactive JavaScript framework for predictable code.
- :octocat: Tridactyl - A Firefox browser addon that replaces browser’s control mechanism with one modelled on the one true editor, Vim.
- :octocat: armour/vue-typescript-admin-template - A vue-cli 3.0 & typescript minimal admin template + a production-ready front-end solution for admin interfaces (demo)
- :octocat: n8n.io - Open Source Workflow Automation Tool
- :octocat: Dnote - A command line notebook with a multi-device sync and a web interface.
- :octocat: Thin Backend - Realtime Backend for your Single Page Apps, with End-to-End Type Safety thanks to types being derived from the Postgres Schema
- :octocat: Flowbite - Open-source component library built on top of Tailwind CSS featuring interactive UI components built with TypeScript
- :octocat: ILLA Cloud - Open source low-code platform alternative to Retool and Appsmith for developers to build internal tools in minutes.
- :octocat: Treehouse - Open source lightweight library to build your own note-taking tool.
- :octocat: GOUI - Open source User Interface library with lots of components for building web applications

### Web/ReactJS

- :octocat: facebook/create-react-app Create React apps using typescript with no build configuration
- :octocat: Microsoft/TypeScript-React-Starter A starter template for TypeScript and React with a detailed README describing how to use the two together; based on `create-react-app`
- :scroll: typescript-cheatsheets/react-typescript-cheatsheet Cheatsheets for experienced React developers getting started with TypeScript
- :octocat: jsxtyper Generates TypeScript interfaces from .jsx files
- :octocat: TodoMVC • TypeScript + React Example
- :scroll: Working with React and TypeScript
- :guardsman: vortigern - A universal boilerplate for building web applications w/ TypeScript, React, Redux and more.
- :robot: Convert React code to TypeScript automatically
- :octocat: React Server Example TSX Boilerplate for isomorphic web app with React server-side rendering in TypeScript
- :octocat: React & Redux in TypeScript - Static Typing Guide The complete guide to static typing in “React & Redux” using TypeScript
- :octocat: Typescript Monorepo CRA Example - A minimalistic CRA + typescript monorepo.
- :octocat: Typescript Monorepo Next Example - A minimalistic next.js + typescript monorepo.
- :stars: Crisp React Boilerplate with React client and Express backend. Offers performance and extended functionality. Helps to avoid frequent React-Express pitfalls.
- :book: React by Example Code-oriented React tutorial for programmers
- :octocat: Materio Free MUI React NextJS Typescript Admin Template - Most Powerful & Comprehensive Free MUI React NextJS Admin Dashboard Template built for developers. Made With Typecript & JavaScript.
- :octocat: Flowbite React - Open-source component library based on React, TypeScript, and Tailwind CSS

### Back-end API

- :octocat: Actio - The Node.js framework for monoliths and microservices.
- :octocat: design-first - A REST Api templating engine for Typescript
- :octocat: Fastify - Fast and low overhead web framework, for Node.js
- :octocat: Hono - Hono is a small, simple, and ultrafast web framework for the Edges. It works on any JavaScript runtime
- :octocat: 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/)
  - :octocat: nestia - 20,000x faster validation and 200x faster JSON serialization decorators using `typia`. Enable to utilize pure TypeScript interface type as DTO, and overall server performance improved by about 30x times. Also, it supports SDK (collection of `fetch` functions with type definitions) and Mockup Simulator (backend server simulator embedded in SDK) generation, and even possible to migrate NestJS project only by `swagger.json` file. 🚀 (see also: https://nestia.io/docs)
- :octocat: LoopBack 4 - A highly extensible Node.js and TypeScript framework for building APIs and microservices. :rocket: (see also: https://loopback.io/)
- :octocat: FoalTS - A simple, intuitive and complete framework for building enterprise-grade Node.JS applications :boom: :rocket: (see also: https://foalts.org)
- :octocat: Enso - Typescript first Node.JS framework inspired by Domain Driven Design principles with a focus on composition and Developer Experience
- :octocat: Libstack - A collection of various modules to create Typescript server easily and ready to be deployed on Docker.
- :octocat: tinyhttp - A modern Express-like web framework for Node.js, written in TypeScript and compiled to Native ESM.
- :octocat: ZenTS - A modern Node.js and TypeScript first framework for building rich web applications
- :octocat: 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)

### AI

- :octocat: MastraAI - Mastra is an opinionated TypeScript framework that helps you build AI applications and features quickly.
- :octocat: VoltAgent - A TypeScript framework for building and running AI agents with tools, memory, and visibility.
- :octocat: Maxim AI - JS/TS SDK for enabling Maxim observability. Maxim is an enterprise grade evaluation and observability platform. (see also: https://getmaxim.ai)

### Standalone apps

- :octocat: Visual Studio Code - Multiplatform IDE.
- :octocat: alm - A next generation IDE just for TypeScript written in TypeScript + React
- :octocat: App Outlet - An universal linux app store for AppImages/Flatpaks/Snaps written in TypeScript + Angular
- :octocat: SnowFS - a fast, scalable version control file storage for graphic files
- :octocat: MemFree - Open Source Hybrid AI Search Engine, Instantly Get Accurate Answers from the Internet, Bookmarks, Notes, and Docs. Support One-Click Deployment.
- :octocat: Nostream - A Nostr Relay written in TypeScript
- :octocat: Peekaping - Uptime monitoring solution - Monitor websites, APIs, and services with real-time notifications, beautiful status pages, and comprehensive analytics

##### Chrome Extensions

- OctoLinker
- lc-mate - Extension that adds contest rating to usernames in LC

### Design patterns

- :octocat: Design Patterns implementation - Implementation of the well-known 23 patterns of GoF
- :octocat: Real World Design Patterns - Real World Design Patterns with Tests

### Decorators

- :octocat: Performance Decorators - A collection of TypeScript decorators for performance optimization, including execution time logging, memory usage monitoring, and more.

### Libraries

- :octocat: SuperJSON - Safely serialize JavaScript expressions to a superset of JSON, which includes Dates, BigInts, and more
- :octocat: Procedurem - A Small (2kb) And Performant Bi-Directional RPC Library Using WebSockets.
- :octocat: RxJS - A reactive programming library for JavaScript.
- :octocat: xstream - An extremely intuitive, small, and fast functional reactive stream library for JavaScript.
- :octocat: mockt - Joyful mocking library for Typescript and Javascript
- :octocat: substitute.js - A fluent mocking library for TypeScript ported from NSubstitute.
- :octocat: TypeMoq - A simple mocking library for TypeScript.
- :octocat: fast-check - Property based testing framework for TypeScript.
- :octocat: InversifyJS - powerful and lightweight inversion of control container for JavaScript & Node.js apps powered by TypeScript.
- :octocat: TypeORM - ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms.
  - :octocat: Safe-TypeORM - Enhances `TypeORM` in 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.
- :octocat: MikroORM - TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, PostgreSQL, MySQL and SQLite.
- :octocat: DrizzleORM - Lightweight TypeScript ORM, SQL-like library for flexible data access, serverless-ready, with zero dependencies.
- :octocat: Prisma - Modern database access (ORM alternative) for Node.js & TypeScript | PostgreSQL, MySQL & SQLite
  - :octocat: prisma-markdown: Generates markdown document composed with ERD diagrams and their descriptions.
- :octocat: Neuledge - Neuledge is a universal language for databases that provides state-of-the-art tools for data modeling, business logic representation, and schema validation.
- :octocat: Typetta - Typescript ORM for Node.js that uses GraphQL as schema definition language | Supports all main SQL databases and MongoDB.
- :octocat: TypeGQL - Set of tools for creating GraphQL schema directly from typed TypeScript class.
- :octocat: TSTL - Implementation of C++ STL (Standard Template Library) in TypeScript. Provided modules are containers, iterators, algorithms and functors.
  - :octocat: ECol - Extension of TSTL containers; collections dispatching Elements I/O events.
  - :octocat: TGrid - Grid Computing Framework, Network & Thread extension of TSTL, supporting RFC (Remote Function Call).
  - :octocat: Mutex-Server - Critical sections controller, like mutex and semaphore, in the network level.
- :octocat: Kalimdor.js - Machine Learning library for the Web, Node and Developers!
- :octocat: prelude.ts - Functional programming: immutable persistent collections, constructs such as Option and Either, and combinators.
- :octocat: ee-ts - Typed event emitters
- :octocat: io-ts - Type validation at runtime
- :octocat: mokia - A mock server integrated data simulation and http service.
- :octocat: sub-events - Strongly-typed events.
- :octocat: ts-audio - an agnostic and easy-to-use library to work with the `AudioContext` API
- :octocat: tslog - A powerful logging library with native TypeScript support: beautiful interpolation, native V8 stack trace, secret masking, support for requestIds based on AsyncLocalStorage
- :octocat: tsParticles - A lightweight library for easily creating particles animations for websites (Supports also ReactJS, VueJS, Angular, Svelte and others)
- :octocat: statek - Reactive state management library
- :octocat: Injex - Simple, Decorated, Pluggable dependency-injection framework for TypeScript applications
- :octocat: tRPC - TypeScript toolkit for building end-to-end type-safe APIs
- :octocat: interface-forge - Test data factories using TypeScript types and interfaces
- :octocat: iter-ops - Operations with iterable objects
- :octocat: Remult - End-to-end type-safe CRUD and frontend-backend model code sharing in fullstack TypeScript applications.
- :octocat: Jest - A comprehensive JavaScript testing solution. Works out of the box for most JavaScript projects.
- :octocat: diod - A very opinionated and lightweight inversion of control container and dependency injector for Node.js or browser apps.
- :octocat: @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.
- :octocat: castore - Typescript library to easily implement Event Sourcing in your application
- :octocat: sweet-monads - Typescript library for popular monads (such as `Maybe` or `Either`) and performant iterators.
- :octocat: simple-mask-money - 💰 Simple mask money is a light, safe and typed package to format money!
- :octocat: Color-Core - `color-core` is a powerful, type-safe color manipulation library for TypeScript and JavaScript applications. It provides a comprehensive toolkit for working with colors across multiple color spaces, making it an indispensable tool for developers working on projects that require advanced color handling.
- :octocat: PigmentTS - A lightweight utility for color manipulation and conversion.
- :octocat: file-graph - Library for storing graphs in files and making queries to them.
- :octocat: @diy0r/nestjs-rabbitmq - Library for building NestJS microservices with RabbitMQ.
- :octocat: Onion.JS - Design and apply wrappers (i.e. high-order functions) without breaking types! Based on HotScript high-order types.
- :octocat: text-smart-trimmer - A lightweight TypeScript utility for trimming text while choosing to preserve word boundaries, punctuation, and custom suffixes.

# LLM

- duckduckgo-ai-chat - Providing Duckduckgo AI Chat API, which can use gpt-4o-mini for free.

# Video Courses

## :free: 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)
- Evolving JavaScript with TypeScript a detailed introduction to TypeScript
- Why program in TypeScript? an overview of the main syntax constructs focusing on the benefits of using TypeScript as opposed to coding in JavaScript
- Functional Programming with TypeScript - Discover functional programming with Typescript and create a library like fp-ts alongside Sahand Javid in this beginner-friendly YouTube playlist.
- Building CRM from scratch with Typescript and Bun - Building a real-world CRM system from scratch, without big frameworks. Bun, Typescript and Tailwind.

## :dollar: 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)

# Tutorials

- Converting your vanilla JavaScript app to TypeScript
- Difference Between TypeScript and JavaScript

# Roadmap

- TypeScript Roadmap
- TypeScript Origins: The Documentary - YouTube by OfferZen Origins > The Documentary features core contributors and community members like Anders Hejlsberg, Steve Lucco, Luke Hoban, Daniel Rosenwasser, Ryan Cavanaugh, Amanda Silver, Matt Pocock, Josh Goldberg & many more!

### Badges

- TypeScript Badges

### Social

- @typescriptlang - Official Typescript Twitter
- @angularjs - Official Angularjs Twitter using Typescript Since 2.0
- @jntrnr - Typescript Program Manager at Microsoft
- @ahejlsberg - Technical Fellow at Microsoft involved with the Typescript project

### Acknowledgements

> (added: 2023) A new section to say thank you for the contributions.

- 2023 - ⚒ Thank you Hamza ( @Hamza12700 https://github.com/Hamza12700 ) for more than 15 merged pull requests. Great contribution to keeping this list up-to-date with modern TypeScript projects. Contributor of the year 2023.

typescript.md Github