awesome-typescript
A collection of awesome TypeScript resources for client-side and server-side development. Write your awesome JavaScript in TypeScript
Top Related Projects
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
:books: The definitive guide to TypeScript and possibly the best TypeScript book :book:. Free and Open Source 🌹
Collection of TypeScript type challenges with online judge
Cheatsheets for experienced React developers getting started with TypeScript
TypeScript execution and REPL for node.js
Quick Overview
The "awesome-typescript" repository is a curated list of TypeScript resources, tools, and libraries. It serves as a comprehensive collection of TypeScript-related content, including tutorials, articles, books, and various tools to enhance TypeScript development.
Pros
- Extensive collection of TypeScript resources in one place
- Regularly updated with new content and tools
- Well-organized into categories for easy navigation
- Community-driven, allowing for contributions from TypeScript enthusiasts
Cons
- May be overwhelming for beginners due to the large amount of information
- Some links may become outdated over time
- Lacks detailed descriptions or reviews of each resource
- May not cover all niche areas of TypeScript development
Note: As this is not a code library but a curated list of resources, there are no code examples or getting started instructions to provide.
Competitor Comparisons
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
Pros of TypeScript
- Official repository for the TypeScript language, providing the most up-to-date and authoritative source code
- Extensive documentation, including language specification, compiler API, and release notes
- Active development with frequent updates and bug fixes
Cons of TypeScript
- Large codebase that may be overwhelming for newcomers
- Focused solely on the TypeScript language implementation, lacking curated resources for learning and development
Code Comparison
TypeScript (compiler implementation):
function createSourceFile(
fileName: string,
sourceText: string,
languageVersion: ScriptTarget,
setParentNodes = false,
scriptKind?: ScriptKind
): SourceFile {
// Implementation details
}
Awesome TypeScript (resource list):
## Books
- [TypeScript Deep Dive](https://basarat.gitbooks.io/typescript/)
- [Tackling TypeScript](https://exploringjs.com/tackling-ts/)
- [Programming TypeScript](https://www.oreilly.com/library/view/programming-typescript/9781492037644/)
Summary
TypeScript is the official repository for the TypeScript language, offering comprehensive documentation and active development. Awesome TypeScript, on the other hand, serves as a curated list of TypeScript resources, making it easier for developers to find learning materials, tools, and libraries. While TypeScript provides the core language implementation, Awesome TypeScript complements it by offering a collection of community-driven resources for TypeScript developers.
:books: The definitive guide to TypeScript and possibly the best TypeScript book :book:. Free and Open Source 🌹
Pros of typescript-book
- Comprehensive, structured learning resource with in-depth explanations
- Regularly updated with new TypeScript features and best practices
- Includes practical examples and real-world use cases
Cons of typescript-book
- Less diverse range of resources compared to awesome-typescript
- May be overwhelming for beginners due to its depth and breadth
- Focuses primarily on TypeScript itself, with less coverage of related tools and libraries
Code Comparison
typescript-book:
type Point = {
x: number;
y: number;
};
function printPoint(p: Point) {
console.log(`${p.x}, ${p.y}`);
}
awesome-typescript:
// No direct code examples provided in the repository
// It's a curated list of resources, not a tutorial or guide
Summary
typescript-book is a comprehensive guide to TypeScript, offering in-depth explanations and examples. It's well-structured and regularly updated, making it an excellent resource for those looking to dive deep into TypeScript.
awesome-typescript, on the other hand, is a curated list of TypeScript resources, tools, and libraries. It provides a broader overview of the TypeScript ecosystem but doesn't offer direct tutorials or explanations.
Choose typescript-book for structured learning and in-depth understanding of TypeScript. Opt for awesome-typescript if you're looking for a diverse collection of TypeScript-related resources and tools.
Collection of TypeScript type challenges with online judge
Pros of type-challenges
- Provides hands-on practice with TypeScript's type system through interactive challenges
- Offers a wide range of difficulty levels, from beginner to extreme
- Encourages community participation and contributions
Cons of type-challenges
- Focuses solely on type-level programming, lacking broader TypeScript resources
- May be overwhelming for beginners due to its emphasis on advanced type manipulations
- Doesn't provide curated lists of external resources or tools
Code Comparison
type-challenges example:
type HelloWorld = string
awesome-typescript example:
// No direct code examples provided, as it's a curated list of resources
Summary
type-challenges is an interactive platform for practicing TypeScript's type system, offering a variety of challenges across difficulty levels. It excels in providing hands-on experience but focuses narrowly on type-level programming.
awesome-typescript, on the other hand, is a comprehensive curated list of TypeScript resources, tools, and learning materials. It covers a broader range of TypeScript-related topics but doesn't offer interactive challenges or direct coding practice.
While type-challenges is ideal for developers looking to deepen their understanding of TypeScript's type system through practice, awesome-typescript serves as a valuable reference for discovering a wide array of TypeScript resources and tools.
Cheatsheets for experienced React developers getting started with TypeScript
Pros of react
- Focused specifically on TypeScript with React, providing targeted guidance
- Includes practical examples and best practices for React component typing
- Regularly updated with community contributions and latest React/TypeScript features
Cons of react
- Limited scope compared to awesome-typescript's broader TypeScript resources
- May not cover advanced TypeScript topics outside of React context
- Less comprehensive list of external tools and libraries
Code Comparison
react:
type Props = {
name: string;
age: number;
};
const MyComponent: React.FC<Props> = ({ name, age }) => {
return <div>{name} is {age} years old</div>;
};
awesome-typescript:
interface User {
name: string;
age: number;
}
function greet(user: User): string {
return `Hello, ${user.name}! You are ${user.age} years old.`;
}
The react example demonstrates TypeScript usage in a React component context, while awesome-typescript shows a more general TypeScript usage. Both repositories provide valuable resources for TypeScript developers, with react focusing on React-specific implementations and awesome-typescript offering a broader collection of TypeScript-related content.
TypeScript execution and REPL for node.js
Pros of ts-node
- Provides a runtime environment for executing TypeScript directly
- Offers seamless integration with Node.js ecosystem
- Supports REPL for interactive TypeScript development
Cons of ts-node
- Limited to Node.js environment, not suitable for browser-based TypeScript
- May have performance overhead compared to compiled TypeScript
- Requires additional setup for certain advanced TypeScript configurations
Code Comparison
ts-node usage:
// Execute TypeScript directly
ts-node script.ts
// Use in REPL
ts-node
> const greeting: string = "Hello, TypeScript!"
> console.log(greeting)
awesome-typescript doesn't provide code examples as it's a curated list of TypeScript resources.
Key Differences
ts-node is a runtime tool for executing TypeScript in Node.js, while awesome-typescript is a curated list of TypeScript resources, tools, and learning materials.
ts-node focuses on providing a development environment for TypeScript in Node.js, whereas awesome-typescript offers a comprehensive collection of TypeScript-related information and tools across various platforms and use cases.
ts-node is more suitable for developers looking to run TypeScript directly in a Node.js environment, while awesome-typescript serves as a valuable reference for TypeScript developers seeking resources, libraries, and best practices.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
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.
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:
- Make sure you have
npx
(shipped withnpm >= 5.2
) andtypescript
package is installed - Add this shebang as first line to your script:
#!npx ts-node
- Make script executable:
chmod +x script.ts
- Run directly:
./script.ts
:)
- Make sure you have
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
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
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
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.
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.
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 offetch
functions with type definitions) and Mockup Simulator (backend server simulator embedded in SDK) generation, and even possible to migrate NestJS project only byswagger.json
file. ð (see also: https://nestia.io/docs)
- :octocat: nestia - 20,000x faster validation and 200x faster JSON serialization decorators using
- :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)
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
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
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: Safe-TypeORM - Enhances
- :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
orEither
) 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.
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
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
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.
Top Related Projects
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
:books: The definitive guide to TypeScript and possibly the best TypeScript book :book:. Free and Open Source 🌹
Collection of TypeScript type challenges with online judge
Cheatsheets for experienced React developers getting started with TypeScript
TypeScript execution and REPL for node.js
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot