1120 lines
53 KiB
HTML
1120 lines
53 KiB
HTML
<h1 id="awesome-typescript">Awesome TypeScript</h1>
|
||
<h4 id="awesome-typescript---awesome-elasticsearch">-= Awesome
|
||
TypeScript =- <a
|
||
href="https://github.com/dzharii/awesome-elasticsearch">Awesome
|
||
Elasticsearch</a> →</h4>
|
||
<blockquote>
|
||
<p>A collection of awesome TypeScript resources for client-side and
|
||
server-side development. Write your awesome JavaScript in TypeScript.
|
||
Inspired by the <a
|
||
href="https://github.com/sindresorhus/awesome">awesome</a> lists.</p>
|
||
</blockquote>
|
||
<h2 id="more-awesome-resources">More awesome resources</h2>
|
||
<blockquote>
|
||
<p><a
|
||
href="https://github.com/semlinker/awesome-typescript">semlinker/awesome-typescript</a>
|
||
thank you <span class="citation"
|
||
data-cites="semlinker">@semlinker</span> for curating the list!</p>
|
||
</blockquote>
|
||
<h2 id="contributing">Contributing</h2>
|
||
<p>Please take a quick look at the <a
|
||
href="/contributing.md">contribution guidelines</a> 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.</p>
|
||
<h2 id="contents">Contents</h2>
|
||
<ul>
|
||
<li><a href="#awesome-typescript-essential-resources">Awesome TypeScript
|
||
Essential Resources</a></li>
|
||
<li><a href="#typescript-project-starters">Typescript Project
|
||
Starters</a></li>
|
||
<li><a href="#books">Books</a></li>
|
||
<li><a href="#reference-lists">Reference lists</a></li>
|
||
<li><a href="#blogs">Blogs</a></li>
|
||
<li><a href="#cli-and-repl">CLI and REPL</a></li>
|
||
<li><a href="#ide">IDE</a></li>
|
||
<li><a href="#build-systems">Build Systems</a></li>
|
||
<li><a href="#cloud-data-warehousing">Cloud Data Warehousing</a></li>
|
||
<li><a href="#module-bundlers">Module Bundlers</a></li>
|
||
<li><a href="#cms">CMS</a></li>
|
||
<li><a href="#tools">Tools</a></li>
|
||
<li><a href="#css-in-js-with-types">CSS In JS With Types</a></li>
|
||
<li><a href="#types">Types</a></li>
|
||
<li><a href="#runtime">Runtime</a></li>
|
||
<li><a href="#built-with-typescript">Built with TypeScript: Mobile, Web,
|
||
Back-end API, Standalone apps, Libraries</a></li>
|
||
<li><a href="#llm">LLM</a></li>
|
||
<li><a href="#video-courses">Video Courses</a></li>
|
||
<li><a href="#tutorials">Tutorials</a></li>
|
||
<li><a href="#roadmap">Roadmap</a></li>
|
||
<li><a href="#acknowledgements">Acknowledgements</a></li>
|
||
</ul>
|
||
<h2 id="getting-started-with-awesome-typescript">Getting Started with
|
||
(Awesome) TypeScript</h2>
|
||
<h3 id="awesome-typescript-essential-resources">Awesome TypeScript
|
||
Essential Resources</h3>
|
||
<ul>
|
||
<li>:books: <a href="http://www.typescriptlang.org/Handbook">Handbook -
|
||
Welcome to TypeScript</a> the official resource for learning
|
||
TypeScript</li>
|
||
<li>:books: <a href="https://basarat.gitbooks.io/typescript/">TypeScript
|
||
Deep Dive</a> by <a href="https://twitter.com/basarat">Basarat Ali
|
||
Syed</a></li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/Microsoft/TypeScript">Microsoft/TypeScript on
|
||
Github</a> fork TypeScript on Github! Or… just read the code</li>
|
||
<li>:octocat:<a
|
||
href="https://github.com/Microsoft/TypeScript/wiki/Roadmap">The official
|
||
TypeScript Roadmap</a></li>
|
||
<li>:books: <a href="http://blogs.msdn.com/b/typescript/">TypeScript
|
||
Team Blog</a> with announcements and recent updates</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/DefinitelyTyped/DefinitelyTyped">DefinitelyTyped/DefinitelyTyped</a>
|
||
the repository for high quality TypeScript type definitions maintained
|
||
by Boris Yankov and thousands of contributors</li>
|
||
<li>:octocat: <a href="https://aka.ms/typings">Type search</a>, search
|
||
for typings on npm</li>
|
||
<li>:books: <a
|
||
href="https://hackr.io/tutorials/learn-typescript">Community Curated
|
||
Resources</a></li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/labs42io/clean-code-typescript">Clean Code
|
||
concepts adapted for TypeScript</a></li>
|
||
<li>:computer: <a
|
||
href="https://snipcart.com/blog/learn-typescript-why-use-ts">Should You
|
||
Learn TypeScript? (Benefits & Resources)</a></li>
|
||
<li>:computer: <a href="https://type-level-typescript.com">Learn how to
|
||
unleash the full potential of the Turing Complete type system of
|
||
TypeScript!</a>, 💵 online course with free first 5 chapters by <a
|
||
href="https://twitter.com/GabrielVergnaud">Gabriel Vergnaud</a></li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/gvanastasov/codebook-typescript">Codebook</a>
|
||
read and run small code snippets to progressively learn TypeScript from
|
||
the basic to advanced concepts.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/type-challenges/type-challenges">Type
|
||
Challenges</a> Collection of TypeScript type challenges with online
|
||
judge.</li>
|
||
<li>:books: <a
|
||
href="https://mkosir.github.io/typescript-style-guide">TypeScript Style
|
||
Guide</a> A concise set of conventions and best practices for creating
|
||
consistent, maintainable code.</li>
|
||
</ul>
|
||
<h3 id="typescript-project-starters">Typescript Project Starters</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/bitjson/typescript-starter">typescript-starter</a>
|
||
– A CLI to quickly generate and configure new libraries and Node.js
|
||
projects</li>
|
||
<li><a href="https://github.com/csprance/next-smrt">next-smrt</a> – A
|
||
Typescript/NextJs boilerplate with Redux/Styled Components/Material UI
|
||
and TypeSafe Actions.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/brandontle/next-postgres-with-typescript">Next-Postgres-With-Typescript</a>
|
||
- Forum-like fullstack web app boilerplate with Next.js 7.0.2 +
|
||
Sequelize 4/Postgres + Typescript + Redux + Passport Local Auth +
|
||
Emotion</li>
|
||
<li><a href="https://www.npmjs.com/package/microts">MicroTS</a>
|
||
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.</li>
|
||
<li><a
|
||
href="https://github.com/pankod/next-boilerplate">pankod/next-boilerplate</a>
|
||
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</li>
|
||
<li><a
|
||
href="https://github.com/jsynowiec/node-typescript-boilerplate">jsynowiec/node-typescript-boilerplate</a>
|
||
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.</li>
|
||
<li><a
|
||
href="https://github.com/ljlm0402/typescript-express-starter">typescript-express-starter</a>
|
||
- Quick and Easy TypeScript Express Starter.</li>
|
||
<li><a href="https://github.com/tudorconstantin/knests/">The Knests
|
||
Stack</a> - 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.</li>
|
||
<li><a href="https://trpc.io/docs/nextjs/introduction">tRPC +
|
||
Next.js</a> - Full-stack starter projects for end-to-end type safe
|
||
development with React</li>
|
||
<li><a href="https://github.com/heyayushh/nd.ts/">nd.ts</a> - setup bare
|
||
minimum Node.ts project asap</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/samchon/backend">samchon/backend</a> -
|
||
TypeScript backend template project using the <a
|
||
href="https://nestjs.com">NestJS</a> (<a
|
||
href="https://github.com/samchon/nestia">nestia</a>) and <a
|
||
href="https://typeorm.io">TypeORM</a> (<a
|
||
href="https://github.com/samchon/safe-typeorm">safe-typeorm</a>). 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 <a href="https://pm2.keymetrics.io/">pm2</a>.</li>
|
||
<li>:ok_man: <a
|
||
href="https://github.com/d4rkstar/ts-express-boilerplate">ts-express-boilerplate</a>
|
||
- 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.</li>
|
||
<li><a
|
||
href="https://github.com/hein-htut-aung/create-typescript-app">create-typescript-app</a>
|
||
- provides a starting point for TypeScript web applications. pnpm,
|
||
Rollup, Jest, and CSS Modules with SCSS.</li>
|
||
<li><a
|
||
href="https://github.com/kaandesu/ts-vite-npm-template">ts-vite-npm-template</a>
|
||
- 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.</li>
|
||
</ul>
|
||
<h3 id="books">Books</h3>
|
||
<ul>
|
||
<li>:books: <a href="https://typescript-book.com/">TypeScript in 50
|
||
Lessons</a> by Stefan Baumgartner</li>
|
||
<li>:books: :fire: <a
|
||
href="https://www.manning.com/books/typescript-quickly">TypeScript
|
||
Quickly</a> Learn modern TypeScript and build your own blockchain;
|
||
Supporting code samples :octocat:<a
|
||
href="https://github.com/yfain/getts">yfain/getts</a></li>
|
||
<li>:books: <a
|
||
href="https://www.manning.com/books/angular-development-with-typescript-second-edition">Angular
|
||
Development with Typescript, Second Edition (MEAP October 2017)</a>
|
||
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)</li>
|
||
<li>:books: <a
|
||
href="https://www.manning.com/books/angular-2-development-with-typescript">Angular
|
||
2 Development with TypeScript (2016)</a> by Yakov Fain and Anton
|
||
Moiseev; Manning</li>
|
||
<li>:books: <a href="https://www.learningtypescript.com">Learning
|
||
TypeScript 2.x 2nd Ed.</a> by Remo H. Jansen</li>
|
||
<li>:books: <a
|
||
href="https://www.packtpub.com/application-development/mastering-typescript-second-edition">Mastering
|
||
TypeScript 2nd Ed.</a> by Nathan Rozentals</li>
|
||
<li>:books: <a
|
||
href="https://www.amazon.com/Beginning-Angular-Typescript-Greg-Lim/dp/1542916674">Beginning
|
||
Angular 4 with TypeScript</a> by Greg Lim</li>
|
||
<li>:books: <a
|
||
href="https://www.manning.com/books/programming-with-types">Programming
|
||
with Types</a> - 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)</li>
|
||
<li>:books: <a
|
||
href="https://www.manning.com/books/essential-typescript-5">Essential
|
||
TypeScript 5</a> - Third edition of the bestselling guide to TypeScript.
|
||
(by Adam Freeman)</li>
|
||
<li>:books: <a
|
||
href="https://www.oreilly.com/library/view/effective-typescript/9781492053736/">Effective
|
||
TypeScript</a> by Dan Vanderkam</li>
|
||
<li>:books: <a
|
||
href="https://www.packtpub.com/product/advanced-typescript-3-programming-projects/9781789133042">Advanced
|
||
TypeScript 3 Programming Projects</a> by Peter O’Hanlon</li>
|
||
<li>:books: <a href="https://github.com/gibbok/typescript-book">The
|
||
Concise TypeScript Book (Free and Open Source)</a> by Simone
|
||
Poggiali</li>
|
||
</ul>
|
||
<h3 id="reference-lists">Reference Lists</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://welldan97.github.io/typescript-reference/">TypeScript
|
||
Reference for JS developers</a> - Glossary of keywords, operators,
|
||
statements and directives</li>
|
||
</ul>
|
||
<h3 id="blogs">Blogs</h3>
|
||
<ul>
|
||
<li><a href="https://catchts.com/"><span class="citation"
|
||
data-cites="captain-yossarian">@captain-yossarian</span>’s blog</a> -
|
||
fully dedicated to static typings in TypeScript</li>
|
||
</ul>
|
||
<h3 id="cli-and-repl">CLI and REPL</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/antfu/taze">Taze</a> A modern cli tool
|
||
that keeps your dependencies fresh</li>
|
||
<li>Use <a href="https://github.com/TypeStrong/ts-node">ts-node</a> to
|
||
run scripts or REPL</li>
|
||
<li>How to make executable typescript scripts:
|
||
<ol type="1">
|
||
<li>Make sure you have <code>npx</code> (shipped with
|
||
<code>npm >= 5.2</code>) and <code>typescript</code> package is
|
||
installed</li>
|
||
<li>Add this <a
|
||
href="https://en.wikipedia.org/wiki/Shebang_(Unix)">shebang</a> as first
|
||
line to your script: <code>#!npx ts-node</code></li>
|
||
<li>Make script executable: <code>chmod +x script.ts</code></li>
|
||
<li>Run directly: <code>./script.ts</code> :)</li>
|
||
</ol></li>
|
||
</ul>
|
||
<h3 id="ide">IDE</h3>
|
||
<h4 id="offline">Offline</h4>
|
||
<h5 id="visual-studio">Visual Studio</h5>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.visualstudio.com/products/visual-studio-community-vs">Visual
|
||
Studio Community Edition 2015</a> - free (conditionally) IDE with
|
||
integrated TypeScript support
|
||
<ul>
|
||
<li><a
|
||
href="https://visualstudiogallery.msdn.microsoft.com/eb0887f8-3ac1-434a-b50b-f0112f1572f7">VS
|
||
Addon - TypescriptSyntaxPaste</a> - Allow you to copy C# source code,
|
||
then paste as Typescript syntax which help you with converting DTO or
|
||
interface</li>
|
||
</ul></li>
|
||
<li><a href="https://github.com/Microsoft/nodejstools">NodeJS Tools for
|
||
Visual Studio</a></li>
|
||
</ul>
|
||
<h5 id="other-plugins-cross-platform-oss-free">Other (Plugins ||
|
||
Cross-platform || OSS || Free)</h5>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.visualstudio.com/en-us/products/code-vs.aspx">Visual
|
||
Studio Code</a></li>
|
||
<li><a
|
||
href="https://www.jetbrains.com/phpstorm/download/">PhpStorm</a></li>
|
||
<li><a
|
||
href="https://www.jetbrains.com/webstorm/download/">WebStorm</a></li>
|
||
<li><a href="http://jbaron.github.io/cats/">CATS</a> is an IDE for
|
||
TypeScript and Web developers by <span class="citation"
|
||
data-cites="jbaron">@jbaron</span></li>
|
||
<li><a
|
||
href="https://github.com/Microsoft/TypeScript-Sublime-Plugin">TypeScript
|
||
Sublime Plugin</a> by <span class="citation"
|
||
data-cites="Microsoft">@Microsoft</span></li>
|
||
<li><a href="https://github.com/TypeStrong/atom-typescript">Atom
|
||
TypeScript</a> by <span class="citation"
|
||
data-cites="TypeStrong">@TypeStrong</span></li>
|
||
<li><a href="https://github.com/ananthakumaran/tide">TypeScript
|
||
Interactive Development Environment for Emacs</a> by <span
|
||
class="citation" data-cites="ananthakumaran">@ananthakumaran</span></li>
|
||
<li><a href="https://github.com/leafgarland/typescript-vim">TypeScript
|
||
Syntax for VIM</a></li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/mrward/typescript-addin">Typescript addin
|
||
for</a> MonoDevelop, SharpDevelop and Xamarin Studio; a short <a
|
||
href="http://lastexitcode.com/blog/2015/04/01/TypeScriptSupportInXamarinStudio/">review
|
||
article</a></li>
|
||
<li><a href="https://github.com/mhartington/nvim-typescript">Typescript
|
||
tooling for Neovim</a> is a language service plugin for typescript for
|
||
Neovim.</li>
|
||
<li><a href="https://github.com/neoclide/coc.nvim">Coc</a> Make your
|
||
Vim/Neovim as smart as VSCode.</li>
|
||
</ul>
|
||
<h4 id="online">Online</h4>
|
||
<h5 id="playground">Playground</h5>
|
||
<ul>
|
||
<li><a href="https://agentcooper.github.io/typescript-play/">TypeScript
|
||
playground</a> by <span class="citation"
|
||
data-cites="agentcooper">@agentcooper</span>, supports multiple TS
|
||
versions and compiler targets</li>
|
||
<li><a
|
||
href="https://github.com/hi104/typescript-playground-on-ace">TypeScript
|
||
playground-on-ace</a> by <span class="citation"
|
||
data-cites="hi104">@hi104</span> <a
|
||
href="https://github.com/basarat/TypeScriptEditor">updated to TypeScript
|
||
1.5</a></li>
|
||
<li><a href="http://www.typescriptlang.org/Playground/">TypeScript
|
||
official Playground</a></li>
|
||
<li><a href="http://jsbin.com/?js">JS Bin</a> (Select TypeScript)</li>
|
||
<li><a href="http://codepen.io/">Codepen</a> (Select TypeScript)</li>
|
||
<li><a href="http://niutech.github.io/typescript-interpret/">TypeScript
|
||
Interpret - Terminal Emulator</a> by <span class="citation"
|
||
data-cites="niutech">@niutech</span></li>
|
||
<li><a href="http://drake7707.github.io/Typescript-Editor/">TypeScript
|
||
Editor</a> by <span class="citation"
|
||
data-cites="drake7707">@drake7707</span></li>
|
||
</ul>
|
||
<h2 id="build-systems">Build Systems</h2>
|
||
<ul>
|
||
<li><a href="http://gruntjs.com/">Grunt</a> tasks:
|
||
<ul>
|
||
<li><a href="https://www.npmjs.com/package/grunt-ts">grunt-ts</a> -
|
||
Grunt-ts is an npm package that handles TypeScript compilation work in
|
||
GruntJS build scripts</li>
|
||
</ul></li>
|
||
<li><a href="https://github.com/lastmjs/zwitterion">Zwitterion</a> -
|
||
Super simple development server with built-in support for TypeScript
|
||
files.</li>
|
||
<li><a href="https://github.com/nrwl/nx">Nx</a> - Smart, Fast and
|
||
Extensible Build System</li>
|
||
</ul>
|
||
<h2 id="cloud-data-warehousing">Cloud Data Warehousing</h2>
|
||
<ul>
|
||
<li>:sparkles: <a href="https://github.com/winwiz1/crisp-bigquery">Crisp
|
||
BigQuery</a> Starter project that delivers Google BigQuery data to end
|
||
user browsers with cost control. Allows to implement rich data
|
||
presentation options.</li>
|
||
<li><a href="https://github.com/neuledge/ddb-table">DDB-Table</a>
|
||
Strongly typed querys and tables for AWS DynamoDB</li>
|
||
<li><a
|
||
href="https://github.com/dynamodb-toolbox/dynamodb-toolbox">DynamoDB-Toolbox</a>
|
||
Light-weight and type-safe query builder for AWS DynamoDB</li>
|
||
</ul>
|
||
<h2 id="module-bundlers">Module Bundlers</h2>
|
||
<ul>
|
||
<li><a href="https://farm-fe.github.io/">Farm</a> - Extremely fast
|
||
Vite-compatible web build tool written in Rust</li>
|
||
<li><a href="https://www.rspack.dev/">Rspack</a> - A fast Rust-based web
|
||
bundler 🦀️</li>
|
||
<li><a href="https://vitejs.dev/">Vite</a> - Next Generation Frontend
|
||
Tooling</li>
|
||
<li><a href="http://webpack.github.io/">Webpack</a> - supports CommonJS
|
||
and AMD module bundling</li>
|
||
<li><a href="http://browserify.org/">Browserify</a> - CommonJS module
|
||
bundler. Does not support TypeScript “out of the box”, but can be
|
||
applied with * <a href="http://gruntjs.com/">Grunt</a> tasks: <a
|
||
href="https://www.npmjs.com/package/grunt-ts">grunt-ts</a>, <a
|
||
href="https://www.npmjs.com/package/grunt-browserify">grunt-browserify</a>,
|
||
<a
|
||
href="https://www.npmjs.com/package/grunt-contrib-uglify">grunt-contrib-uglify</a></li>
|
||
<li><a href="https://github.com/fuse-box/fuse-box">fuse-box</a> | <a
|
||
href="http://fuse-box.org/">http://fuse-box.org/</a> - typescript
|
||
sample: <a
|
||
href="https://github.com/fuse-box/fuse-box-ts-react-reflux-seed">fuse-box-ts-react-reflux-seed</a></li>
|
||
</ul>
|
||
<h2 id="cms">CMS</h2>
|
||
<ul>
|
||
<li><a href="https://factor.dev">Factor</a> - The Javascript CMS
|
||
(TypeScript supported natively)</li>
|
||
<li><a
|
||
href="https://github.com/exogee-technology/graphweaver">Graphweaver</a>
|
||
- Turn multiple data sources into a single GraphQL Headless CMS.</li>
|
||
</ul>
|
||
<h2 id="tools">Tools</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/JasonShin/sqlx-ts">sqlx-ts</a> - 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</li>
|
||
<li><a href="https://bun.sh/">bun</a> - Bun is a fast JavaScript
|
||
runtime, package manager, bundler, test runner</li>
|
||
<li><a href="https://deno.land/">deno</a> - A secure runtime for
|
||
JavaScript and TypeScript</li>
|
||
<li><a href="https://github.com/web-infra-dev/oxc">OXC</a> - A suite of
|
||
high-performance tools for JavaScript and TypeScript written in
|
||
Rust</li>
|
||
<li><a href="https://github.com/biomejs/biome">biome</a> - Biome formats
|
||
and lints your code in a fraction of a second</li>
|
||
<li><a href="https://github.com/SweetIQ/schemats">SweetIQ/schemats</a>
|
||
Generate typescript interface definitions from SQL database schema</li>
|
||
<li><a href="http://typedoc.org/">TypeDoc</a> - A documentation
|
||
generator for TypeScript projects</li>
|
||
<li><a href="https://github.com/e2tox/typescript-standard">TypeScript
|
||
Standard</a> - Zero-configuration TypeScript 2 Standard Validation</li>
|
||
<li><a href="https://github.com/xavdid/typed-install">typed-install</a>
|
||
- Easily install new dependencies and their typings, no matter where
|
||
they may be</li>
|
||
<li><a href="https://github.com/Saul-Mirone/type-config">type-config</a>
|
||
- A generator for tsconfig.</li>
|
||
<li><a href="https://jawj.github.io/zapatos/">Zapatos</a> -
|
||
Zero-Abstraction Postgres for TypeScript</li>
|
||
<li><a href="https://github.com/gabotechs/dep-tree">dep-tree</a> -
|
||
Render your project’s file dependency tree and/or validate it against
|
||
your own rules.</li>
|
||
<li><a href="https://github.com/Smoren/itertools-ts">itertools-ts</a> -
|
||
Extended itertools port for TypeScript and JavaScript. Provides a huge
|
||
set of functions for working with iterable collections (including async
|
||
ones).</li>
|
||
<li><a
|
||
href="https://inlang.com/m/gerre34r/library-inlang-paraglideJs">ParaglideJS</a>
|
||
- An i18n compiler that generates fully typesafe translations</li>
|
||
<li><a href="https://github.com/datawan-labs/pg">pg</a> - Browser
|
||
PostgreSQL Playground, no server, just client and pglite (postgresql
|
||
wasm)</li>
|
||
<li><a href="https://github.com/nocodb/nocodb">nocodb</a> - 🔥 🔥 🔥
|
||
Open Source Airtable Alternative</li>
|
||
<li><a href="https://github.com/Jay-Karia/jqlite">jqlite</a> - ⚡ The
|
||
query language for JSON</li>
|
||
</ul>
|
||
<h2 id="types">Types</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/tani/jsonup">jsonup</a> - Compile-time
|
||
JSON parser</li>
|
||
<li><a
|
||
href="https://github.com/stereobooster/type-o-rama">type-o-rama</a> - JS
|
||
type systems interoperability</li>
|
||
<li><a
|
||
href="https://github.com/piotrwitek/utility-types">utility-types</a> -
|
||
Utility Types for TypeScript (provide compatibility with Flow’s Utility
|
||
Types)</li>
|
||
<li><a href="https://github.com/gcanti/elm-ts">elm-ts</a> - Port of Elm
|
||
architecture to TypeScript featuring fp-ts, io-ts, rxjs5 and React</li>
|
||
<li><a
|
||
href="https://github.com/krzkaczor/ts-essentials">ts-essentials</a> -
|
||
All essential TypeScript types in one place</li>
|
||
<li><a
|
||
href="https://github.com/LeDDGroup/typescript-conditional-types">typescript-conditional-types</a>
|
||
- Helpers for typescript generic types</li>
|
||
<li><a
|
||
href="https://github.com/LeDDGroup/ts-types-utils">ts-types-utils</a> -
|
||
Type utilities for typescript</li>
|
||
<li><a href="https://github.com/jeffijoe/typesync">typesync</a> -
|
||
Install missing TypeScript typings for dependencies in your
|
||
package.json.</li>
|
||
<li><a href="https://github.com/sindresorhus/type-fest">type-fest</a> -
|
||
A collection of essential TypeScript types</li>
|
||
<li><a href="https://github.com/mistlog/typetype">typetype</a> - A
|
||
programming language designed for typescript type generation</li>
|
||
<li><a href="https://github.com/Coder-Spirit/nominal">nominal</a> -
|
||
nominal types & dependent types for Typescript.</li>
|
||
<li><a href="https://github.com/tool-belt/type-predicates"><span
|
||
class="citation"
|
||
data-cites="tool-belt/type-predicates">@tool-belt/type-predicates</span></a>
|
||
- Type Predicates, Assertion Functions and Utilities.</li>
|
||
<li><a href="https://github.com/halchester/getmytypes">getmytypes</a> -
|
||
Install <span class="citation" data-cites="types">@types</span> files
|
||
into your devDependencies.</li>
|
||
<li><a href="https://github.com/millsp/ts-toolbelt">ts-toolbelt</a> -
|
||
Large collection of type utilities for TypeScript</li>
|
||
<li><a href="https://github.com/gustavoguichard/string-ts">string-ts</a>
|
||
- Strongly-typed string functions for all</li>
|
||
<li><a href="https://github.com/AhmedOsman101/lib-result">lib-result</a>
|
||
- A lightweight, Rust-inspired <code>Result</code> type for type-safe
|
||
error handling in TypeScript and JavaScript.</li>
|
||
<li><a href="https://github.com/reacture-io/iso-locale">iso-locale</a> -
|
||
A comprehensive TypeScript library providing ISO standards for handling
|
||
countries, languages, dialects, and currencies.</li>
|
||
</ul>
|
||
<h2 id="css-in-js-with-types">CSS In JS With Types</h2>
|
||
<ul>
|
||
<li><a href="https://panda-css.com/">PandaCSS</a> - CSS-in-JS with build
|
||
time generated styles, RSC compatible, multi-variant support, and
|
||
best-in-class developer experience</li>
|
||
<li><a href="https://vanilla-extract.style/">Vanilla-Extract</a> - Use
|
||
TypeScript as your preprocessor. Write type‑safe, locally scoped
|
||
classes, variables and themes, then generate static CSS files at build
|
||
time</li>
|
||
<li><a href="https://stylexjs.com/">StyleX</a> - StyleX is a JavaScript
|
||
library for defining styles for optimized user interfaces</li>
|
||
</ul>
|
||
<h3 id="runtime">Runtime</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/venil7/json-decoder">json-decoder</a> -
|
||
Typesafe JSON decoder and runtime checker</li>
|
||
<li><a
|
||
href="https://github.com/woutervh-/typescript-is">typescript-is</a> -
|
||
TypeScript transformer that generates run-time type-checks.</li>
|
||
<li><a href="https://github.com/unional/type-plus">type-plus</a> -
|
||
Additional types and type adjusted utilities</li>
|
||
<li><a href="https://github.com/agentframework/agentframework">Agent
|
||
Framework</a> Create interceptor for your class and method using
|
||
decorators</li>
|
||
<li><a href="https://github.com/LancerComet/SunTori">SunTori</a> - A
|
||
JSON de/serializer to ensure everything is safe at runtime.</li>
|
||
<li><a href="https://github.com/mrspartak/config">config</a> - Runtime
|
||
configuration resolver</li>
|
||
</ul>
|
||
<h2 id="validation">Validation</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/tani/ts-match"><span class="citation"
|
||
data-cites="core/match">@core/match</span></a> - Type-safe destructuring
|
||
assignment with pattern-match validation</li>
|
||
<li><a href="https://github.com/gcanti/io-ts">io-ts</a> - Runtime type
|
||
system for IO decoding/encoding</li>
|
||
<li><a href="https://github.com/vriad/zod">zod</a> - TypeScript-first
|
||
schema validation with static type inference</li>
|
||
<li><a href="https://github.com/fabian-hiller/valibot">valibot</a> -
|
||
Valibot is a Typescript schema library with static type inference, and
|
||
it’s exceptionally lightweight compared to Zod, with no
|
||
dependencies.</li>
|
||
<li><a href="https://github.com/pelotom/runtypes">runtypes</a> - Runtime
|
||
validation for static types</li>
|
||
<li><a href="https://github.com/julienvincent/ts-codec">ts-codec</a> -
|
||
TypeScript Codecs for encoding, decoding and validating data</li>
|
||
<li><a href="https://github.com/sindresorhus/ow">ow</a> - Function
|
||
argument validation for humans</li>
|
||
<li><a
|
||
href="https://github.com/ianstormtaylor/superstruct">superstruct</a> - A
|
||
simple and composable way to validate data</li>
|
||
<li><a
|
||
href="https://github.com/neuledge/computed-types">computed-types</a> -
|
||
🦩 Joi like validations for TypeScript</li>
|
||
<li><a
|
||
href="https://github.com/thomasaribart/json-schema-to-ts">json-schema-to-ts</a>
|
||
- Dynamic type inference from JSON schemas</li>
|
||
<li><a
|
||
href="https://github.com/LancerComet/MyWebLibs/tree/master/Yunomix">Yunomix</a>
|
||
- A form validation toolkit which is designed in AOP form.</li>
|
||
<li><a href="https://github.com/samchon/typia">typia</a> - 20,000x times
|
||
faster runtime validator using pure TypeScript type. Only one line
|
||
required like <code>typia.assert<T>(input)</code>. Also, supports
|
||
200x faster JSON serialization, and Protocol Buffer features. 🚀 (see
|
||
also https://typia.io/docs)</li>
|
||
<li><a href="https://github.com/sgb-io/fta">fta</a> - Rust-based static
|
||
analysis to monitor code quality</li>
|
||
<li><a href="https://github.com/rsinger86/dto-classes">dto-classes</a> -
|
||
Developer-friendly parsing, validation & serialization. Static types
|
||
by default. Uses properties for field schemas, not decorators.</li>
|
||
<li><a href="https://github.com/reacture-io/iso-locale">iso-locale</a> -
|
||
A comprehensive TypeScript library providing ISO standards for handling
|
||
countries, languages, dialects, and currencies. ## Built with TypeScript
|
||
### Mobile</li>
|
||
<li>:octocat: <a href="https://reactnative.dev/">ReactNative</a> -
|
||
Create native apps for Android, iOS, and more using React</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/NativeScript/NativeScript">NativeScript</a> -
|
||
Open Source framework for building cross-platform truly native iOS,
|
||
Android and Windows mobile apps using JavaScript</li>
|
||
<li><a href="https://microsoft.github.io/monaco-editor/">Monaco
|
||
Editor</a></li>
|
||
</ul>
|
||
<h3 id="web">Web</h3>
|
||
<ul>
|
||
<li>:octocat: <a href="https://github.com/angular/angular">Angular</a> -
|
||
Angular is a development platform for building mobile and desktop web
|
||
applications</li>
|
||
<li>:octocat: <a href="https://it-tools.tech/">It-Tools</a> - Collection
|
||
of handy online tools for developers, with great UX</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/feednext/feednext">feednext.io</a> - An
|
||
open-source social media application built with Typescript on both
|
||
client-server side.</li>
|
||
<li>:octocat: <a href="https://github.com/ionic-team/ionic">ionic</a> -
|
||
An open-source mobile app development framework build in TypeScript</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/myxvisual/react-uwp">React-UWP</a> - React
|
||
Components that Implement Microsoft’s UWP Design & Fluent
|
||
Design.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/palantir/plottable">palantir/plottable</a> - A
|
||
library of modular chart components, built on <code>D3</code> (see also:
|
||
http://plottablejs.org)</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/APIs-guru/graphql-voyager">APIs-guru/graphql-voyager</a>
|
||
- Represent any GraphQL API as an interactive graph 🛰️</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/Rebilly/Redoc">Rebilly/ReDoc</a> -
|
||
OpenAPI/Swagger-generated API Reference Documentation</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/excaliburjs/Excalibur">excaliburjs/Excalibur</a>
|
||
- Free open source JavaScript game engine</li>
|
||
<li>:octocat: <a href="https://github.com/Bobris/Bobril">Bobril</a> -
|
||
Component oriented framework inspired by Mithril and ReactJs. (see also:
|
||
http://bobril.com/)</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/ionic-team/stencil">Stencil</a> - a tool for
|
||
building modern Web Components</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/langfuse/langfuse">Langfuse</a> - Open source
|
||
LLM engineering platform 🪢 - Tracing, Prompt Mgmt, Evaluations,
|
||
Analytics</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/concretesolutions/redux-zero">redux-zero</a> -
|
||
A lightweight state container based on Redux</li>
|
||
<li>:octocat: <a href="https://github.com/elbywan/wretch">wretch</a> - A
|
||
tiny (< 2.2Kb g-zipped) wrapper built around fetch with an intuitive
|
||
syntax.</li>
|
||
<li>:octocat: <a href="https://github.com/cyclejs/cyclejs">Cycle.js</a>
|
||
- A functional and reactive JavaScript framework for predictable
|
||
code.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/tridactyl/tridactyl">Tridactyl</a> - A Firefox
|
||
browser addon that replaces browser’s control mechanism with one
|
||
modelled on the one true editor, Vim.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/Armour/vue-typescript-admin-template">armour/vue-typescript-admin-template</a>
|
||
- A vue-cli 3.0 & typescript minimal admin template + a
|
||
production-ready front-end solution for admin interfaces (<a
|
||
href="https://armour.github.io/vue-typescript-admin-template/#/dashboard">demo</a>)</li>
|
||
<li>:octocat: <a href="https://github.com/n8n-io/n8n">n8n.io</a> - Open
|
||
Source Workflow Automation Tool</li>
|
||
<li>:octocat: <a href="https://github.com/dnote/dnote">Dnote</a> - A
|
||
command line notebook with a multi-device sync and a web interface.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/digitallyinduced/thin-backend">Thin Backend</a>
|
||
- Realtime Backend for your Single Page Apps, with End-to-End Type
|
||
Safety thanks to types being derived from the Postgres Schema</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/themesberg/flowbite">Flowbite</a> - Open-source
|
||
component library built on top of Tailwind CSS featuring interactive UI
|
||
components built with TypeScript</li>
|
||
<li>:octocat: <a href="https://www.illacloud.com/">ILLA Cloud</a> - Open
|
||
source low-code platform alternative to Retool and Appsmith for
|
||
developers to build internal tools in minutes.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/treehousedev/treehouse">Treehouse</a> - Open
|
||
source lightweight library to build your own note-taking tool.</li>
|
||
<li>:octocat: <a href="https://github.com/intermesh/goui">GOUI</a> -
|
||
Open source User Interface library with lots of components for building
|
||
web applications</li>
|
||
</ul>
|
||
<h3 id="webreactjs">Web/ReactJS</h3>
|
||
<ul>
|
||
<li>:octocat: <a
|
||
href="https://facebook.github.io/create-react-app/docs/adding-typescript">facebook/create-react-app</a>
|
||
Create React apps using typescript with no build configuration</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/Microsoft/TypeScript-React-Starter">Microsoft/TypeScript-React-Starter</a>
|
||
A starter template for TypeScript and React with a detailed README
|
||
describing how to use the two together; based on
|
||
<code>create-react-app</code></li>
|
||
<li>:scroll: <a
|
||
href="https://github.com/typescript-cheatsheets/react-typescript-cheatsheet">typescript-cheatsheets/react-typescript-cheatsheet</a>
|
||
Cheatsheets for experienced React developers getting started with
|
||
TypeScript</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/fuselabs/jsxtyper">jsxtyper</a> Generates
|
||
TypeScript interfaces from .jsx files</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/tastejs/todomvc/tree/gh-pages/examples/typescript-react">TodoMVC
|
||
• TypeScript + React Example</a></li>
|
||
<li>:scroll: <a
|
||
href="http://blog.wolksoftware.com/working-with-react-and-typescript">Working
|
||
with React and TypeScript</a></li>
|
||
<li>:guardsman: <a
|
||
href="https://github.com/barbar/vortigern"><strong>vortigern</strong> -
|
||
A universal boilerplate for building web applications w/ TypeScript,
|
||
React, Redux and more.</a></li>
|
||
<li>:robot: <a
|
||
href="https://github.com/lyft/react-javascript-to-typescript-transform">Convert
|
||
React code to TypeScript automatically</a></li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/styfle/react-server-example-tsx">React Server
|
||
Example TSX</a> Boilerplate for isomorphic web app with React
|
||
server-side rendering in TypeScript</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/piotrwitek/react-redux-typescript-guide">React
|
||
& Redux in TypeScript - Static Typing Guide</a> The complete guide
|
||
to static typing in “React & Redux” using TypeScript</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/deptno/typescript-monorepo-cra-example">Typescript
|
||
Monorepo CRA Example</a> - A minimalistic CRA + typescript
|
||
monorepo.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/deptno/typescript-monorepo-next-example">Typescript
|
||
Monorepo Next Example</a> - A minimalistic next.js + typescript
|
||
monorepo.</li>
|
||
<li>:stars: <a href="https://github.com/winwiz1/crisp-react">Crisp
|
||
React</a> Boilerplate with React client and Express backend. Offers
|
||
performance and extended functionality. Helps to avoid frequent
|
||
React-Express pitfalls.</li>
|
||
<li>:book: <a href="https://reactbyexample.github.io/">React by
|
||
Example</a> Code-oriented React tutorial for programmers</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/themeselection/materio-mui-react-nextjs-admin-template-free">Materio
|
||
Free MUI React NextJS Typescript Admin Template</a> - Most Powerful
|
||
& Comprehensive Free MUI React NextJS Admin Dashboard Template built
|
||
for developers. Made With Typecript & JavaScript.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/themesberg/flowbite-react">Flowbite React</a> -
|
||
Open-source component library based on React, TypeScript, and Tailwind
|
||
CSS</li>
|
||
</ul>
|
||
<h3 id="back-end-api">Back-end API</h3>
|
||
<ul>
|
||
<li>:octocat: <a href="https://github.com/crufters/actio/">Actio</a> -
|
||
The Node.js framework for monoliths and microservices.</li>
|
||
<li>:octocat: <a
|
||
href="https://adam-hanna.github.io/design-first-docs/">design-first</a>
|
||
- A REST Api templating engine for Typescript</li>
|
||
<li>:octocat: <a href="https://github.com/fastify/fastify">Fastify</a> -
|
||
Fast and low overhead web framework, for Node.js</li>
|
||
<li>:octocat: <a href="https://hono.dev/">Hono</a> - Hono is a small,
|
||
simple, and ultrafast web framework for the Edges. It works on any
|
||
JavaScript runtime</li>
|
||
<li>:octocat: <a href="https://github.com/nestjs/nest">Nest</a> - A
|
||
progressive Node.js framework for building efficient, scalable, and
|
||
enterprise-grade server-side applications on top of TypeScript 🚀 (see
|
||
also: https://nestjs.com/)
|
||
<ul>
|
||
<li>:octocat: <a href="https://github.com/samchon/nestia">nestia</a> -
|
||
20,000x faster validation and 200x faster JSON serialization decorators
|
||
using <code>typia</code>. Enable to utilize pure TypeScript interface
|
||
type as DTO, and overall server performance improved by about 30x times.
|
||
Also, it supports SDK (collection of <code>fetch</code> functions with
|
||
type definitions) and Mockup Simulator (backend server simulator
|
||
embedded in SDK) generation, and even possible to migrate NestJS project
|
||
only by <code>swagger.json</code> file. 🚀 (see also:
|
||
https://nestia.io/docs)</li>
|
||
</ul></li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/strongloop/loopback-next">LoopBack 4</a> - A
|
||
highly extensible Node.js and TypeScript framework for building APIs and
|
||
microservices. :rocket: (see also: https://loopback.io/)</li>
|
||
<li>:octocat: <a href="https://github.com/FoalTS/foal">FoalTS</a> - A
|
||
simple, intuitive and complete framework for building enterprise-grade
|
||
Node.JS applications :boom: :rocket: (see also: https://foalts.org)</li>
|
||
<li>:octocat: <a href="http://ensojs.netlify.com">Enso</a> - Typescript
|
||
first Node.JS framework inspired by Domain Driven Design principles with
|
||
a focus on composition and Developer Experience</li>
|
||
<li>:octocat: <a href="https://libstack.io">Libstack</a> - A collection
|
||
of various modules to create Typescript server easily and ready to be
|
||
deployed on Docker.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/talentlessguy/tinyhttp">tinyhttp</a> - A modern
|
||
Express-like web framework for Node.js, written in TypeScript and
|
||
compiled to Native ESM.</li>
|
||
<li>:octocat: <a href="https://github.com/sahachide/ZenTS">ZenTS</a> - A
|
||
modern Node.js and TypeScript first framework for building rich web
|
||
applications</li>
|
||
<li>:octocat: <a href="https://github.com/boostercloud/booster">Booster
|
||
Framework</a> - 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)</li>
|
||
</ul>
|
||
<h3 id="ai">AI</h3>
|
||
<ul>
|
||
<li>:octocat: <a href="https://github.com/mastra-ai/mastra">MastraAI</a>
|
||
- Mastra is an opinionated TypeScript framework that helps you build AI
|
||
applications and features quickly.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/voltagent/voltagent">VoltAgent</a> - A
|
||
TypeScript framework for building and running AI agents with tools,
|
||
memory, and visibility.</li>
|
||
<li>:octocat: <a href="https://github.com/maximhq/maxim-js">Maxim AI</a>
|
||
- JS/TS SDK for enabling Maxim observability. Maxim is an enterprise
|
||
grade evaluation and observability platform. (see also:
|
||
https://getmaxim.ai)</li>
|
||
</ul>
|
||
<h3 id="standalone-apps">Standalone apps</h3>
|
||
<ul>
|
||
<li>:octocat: <a href="https://github.com/Microsoft/vscode">Visual
|
||
Studio Code</a> - Multiplatform IDE.</li>
|
||
<li>:octocat: <a href="https://github.com/alm-tools/alm">alm</a> - A
|
||
next generation IDE just for TypeScript written in TypeScript +
|
||
React</li>
|
||
<li>:octocat: <a href="https://github.com/app-outlet/app-outlet">App
|
||
Outlet</a> - An universal linux app store for AppImages/Flatpaks/Snaps
|
||
written in TypeScript + Angular</li>
|
||
<li>:octocat: <a href="https://github.com/snowtrack/snowfs">SnowFS</a> -
|
||
a fast, scalable version control file storage for graphic files</li>
|
||
<li>:octocat: <a href="https://github.com/memfreeme/memfree">MemFree</a>
|
||
- Open Source Hybrid AI Search Engine, Instantly Get Accurate Answers
|
||
from the Internet, Bookmarks, Notes, and Docs. Support One-Click
|
||
Deployment.</li>
|
||
<li>:octocat: <a href="https://github.com/cameri/nostream">Nostream</a>
|
||
- A Nostr Relay written in TypeScript</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/0xfurai/peekaping">Peekaping</a> - Uptime
|
||
monitoring solution - Monitor websites, APIs, and services with
|
||
real-time notifications, beautiful status pages, and comprehensive
|
||
analytics</li>
|
||
</ul>
|
||
<h5 id="chrome-extensions">Chrome Extensions</h5>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/OctoLinker/browser-extension">OctoLinker</a></li>
|
||
<li><a href="https://github.com/cglotr/lc-mate">lc-mate</a> - Extension
|
||
that adds contest rating to usernames in LC</li>
|
||
</ul>
|
||
<h3 id="design-patterns">Design patterns</h3>
|
||
<ul>
|
||
<li>:octocat: <a
|
||
href="https://github.com/torokmark/design_patterns_in_typescript">Design
|
||
Patterns implementation</a> - Implementation of the well-known 23
|
||
patterns of GoF</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/vahidvdn/realworld-design-patterns">Real World
|
||
Design Patterns</a> - Real World Design Patterns with Tests</li>
|
||
</ul>
|
||
<h3 id="decorators">Decorators</h3>
|
||
<ul>
|
||
<li>:octocat: <a
|
||
href="https://github.com/RyanMyrvold/Performance-Decorators">Performance
|
||
Decorators</a> - A collection of TypeScript decorators for performance
|
||
optimization, including execution time logging, memory usage monitoring,
|
||
and more.</li>
|
||
</ul>
|
||
<h3 id="libraries">Libraries</h3>
|
||
<ul>
|
||
<li>:octocat: <a
|
||
href="https://github.com/blitz-js/superjson">SuperJSON</a> - Safely
|
||
serialize JavaScript expressions to a superset of JSON, which includes
|
||
Dates, BigInts, and more</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/ImVexed/Procedurem">Procedurem</a> - A Small
|
||
(2kb) And Performant Bi-Directional RPC Library Using WebSockets.</li>
|
||
<li>:octocat: <a href="https://github.com/ReactiveX/RxJS">RxJS</a> - A
|
||
reactive programming library for JavaScript.</li>
|
||
<li>:octocat: <a href="https://github.com/staltz/xstream">xstream</a> -
|
||
An extremely intuitive, small, and fast functional reactive stream
|
||
library for JavaScript.</li>
|
||
<li>:octocat: <a href="https://github.com/nbottarini/mockt">mockt</a> -
|
||
Joyful mocking library for Typescript and Javascript</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/ffMathy/FluffySpoon.JavaScript.Testing">substitute.js</a>
|
||
- A fluent mocking library for TypeScript ported from NSubstitute.</li>
|
||
<li>:octocat: <a href="https://github.com/florinn/typemoq">TypeMoq</a> -
|
||
A simple mocking library for TypeScript.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/dubzzz/fast-check">fast-check</a> - Property
|
||
based testing framework for TypeScript.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/inversify/InversifyJS/">InversifyJS</a> -
|
||
powerful and lightweight inversion of control container for JavaScript
|
||
& Node.js apps powered by TypeScript.</li>
|
||
<li>:octocat: <a href="https://github.com/typeorm/typeorm">TypeORM</a> -
|
||
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.
|
||
<ul>
|
||
<li>:octocat: <a
|
||
href="https://github.com/samchon/safe-typeorm">Safe-TypeORM</a> -
|
||
Enhances <code>TypeORM</code> 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.</li>
|
||
</ul></li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/mikro-orm/mikro-orm">MikroORM</a> - TypeScript
|
||
ORM for Node.js based on Data Mapper, Unit of Work and Identity Map
|
||
patterns. Supports MongoDB, PostgreSQL, MySQL and SQLite.</li>
|
||
<li>:octocat: <a href="https://orm.drizzle.team/">DrizzleORM</a> -
|
||
Lightweight TypeScript ORM, SQL-like library for flexible data access,
|
||
serverless-ready, with zero dependencies.</li>
|
||
<li>:octocat: <a href="https://github.com/prisma/prisma">Prisma</a> -
|
||
Modern database access (ORM alternative) for Node.js & TypeScript |
|
||
PostgreSQL, MySQL & SQLite
|
||
<ul>
|
||
<li>:octocat: <a
|
||
href="https://github.com/samchon/prisma-markdown">prisma-markdown</a>:
|
||
Generates markdown document composed with ERD diagrams and their
|
||
descriptions.</li>
|
||
</ul></li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/neuledge/engine-js">Neuledge</a> - Neuledge is
|
||
a universal language for databases that provides state-of-the-art tools
|
||
for data modeling, business logic representation, and schema
|
||
validation.</li>
|
||
<li>:octocat: <a href="https://github.com/twinlogix/typetta">Typetta</a>
|
||
- Typescript ORM for Node.js that uses GraphQL as schema definition
|
||
language | Supports all main SQL databases and MongoDB.</li>
|
||
<li>:octocat: <a href="https://github.com/prismake/typegql">TypeGQL</a>
|
||
- Set of tools for creating GraphQL schema directly from typed
|
||
TypeScript class.</li>
|
||
<li>:octocat: <a href="https://github.com/samchon/tstl">TSTL</a> -
|
||
Implementation of C++ STL (Standard Template Library) in TypeScript.
|
||
Provided modules are containers, iterators, algorithms and functors.
|
||
<ul>
|
||
<li>:octocat: <a href="https://github.com/samchon/ecol">ECol</a> -
|
||
Extension of TSTL containers; collections dispatching Elements I/O
|
||
events.</li>
|
||
<li>:octocat: <a href="https://github.com/samchon/tgrid">TGrid</a> -
|
||
Grid Computing Framework, Network & Thread extension of TSTL,
|
||
supporting RFC (Remote Function Call).</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/samchon/mutex-server">Mutex-Server</a> -
|
||
Critical sections controller, like mutex and semaphore, in the network
|
||
level.</li>
|
||
</ul></li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/JasonShin/kalimdorjs">Kalimdor.js</a> - Machine
|
||
Learning library for the Web, Node and Developers!</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/emmanueltouzery/prelude.ts">prelude.ts</a> -
|
||
Functional programming: immutable persistent collections, constructs
|
||
such as Option and Either, and combinators.</li>
|
||
<li>:octocat: <a href="https://github.com/aleclarson/ee-ts">ee-ts</a> -
|
||
Typed event emitters</li>
|
||
<li>:octocat: <a href="https://github.com/gcanti/io-ts">io-ts</a> - Type
|
||
validation at runtime</li>
|
||
<li>:octocat: <a href="https://github.com/varHarrie/mokia">mokia</a> - A
|
||
mock server integrated data simulation and http service.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/vitaly-t/sub-events">sub-events</a> -
|
||
Strongly-typed events.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/EvandroLG/ts-audio">ts-audio</a> - an agnostic
|
||
and easy-to-use library to work with the <code>AudioContext</code>
|
||
API</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/fullstack-build/tslog">tslog</a> - A powerful
|
||
logging library with native TypeScript support: beautiful interpolation,
|
||
native V8 stack trace, secret masking, support for requestIds based on
|
||
AsyncLocalStorage</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/matteobruni/tsparticles">tsParticles</a> - A
|
||
lightweight library for easily creating particles animations for
|
||
websites (Supports also ReactJS, VueJS, Angular, Svelte and others)</li>
|
||
<li>:octocat: <a href="https://github.com/pie6k/statek">statek</a> -
|
||
Reactive state management library</li>
|
||
<li>:octocat: <a href="https://www.injex.dev/">Injex</a> - Simple,
|
||
Decorated, Pluggable dependency-injection framework for TypeScript
|
||
applications</li>
|
||
<li>:octocat: <a href="https://www.trpc.io/">tRPC</a> - TypeScript
|
||
toolkit for building end-to-end type-safe APIs</li>
|
||
<li>:octocat: <a
|
||
href="https://www.npmjs.com/package/interface-forge">interface-forge</a>
|
||
- Test data factories using TypeScript types and interfaces</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/vitaly-t/iter-ops">iter-ops</a> - Operations
|
||
with iterable objects</li>
|
||
<li>:octocat: <a href="https://github.com/remult/remult">Remult</a> -
|
||
End-to-end type-safe CRUD and frontend-backend model code sharing in
|
||
fullstack TypeScript applications.</li>
|
||
<li>:octocat: <a href="https://github.com/facebook/jest">Jest</a> - A
|
||
comprehensive JavaScript testing solution. Works out of the box for most
|
||
JavaScript projects.</li>
|
||
<li>:octocat: <a href="https://github.com/artberri/diod">diod</a> - A
|
||
very opinionated and lightweight inversion of control container and
|
||
dependency injector for Node.js or browser apps.</li>
|
||
<li>:octocat: <a href="https://github.com/deliberative/crypto"><span
|
||
class="citation"
|
||
data-cites="deliberative/crypto">@deliberative/crypto</span></a> - 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.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/castore-dev/castore">castore</a> - Typescript
|
||
library to easily implement Event Sourcing in your application</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/JSMonk/sweet-monads">sweet-monads</a> -
|
||
Typescript library for popular monads (such as <code>Maybe</code> or
|
||
<code>Either</code>) and performant iterators.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/codermarcos/simple-mask-money">simple-mask-money</a>
|
||
- 💰 Simple mask money is a light, safe and typed package to format
|
||
money!</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/iamlite/color-core">Color-Core</a> -
|
||
<code>color-core</code> 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.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/Jay-Karia/pigment-ts">PigmentTS</a> - A
|
||
lightweight utility for color manipulation and conversion.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/DIY0R/file-graph">file-graph</a> - Library for
|
||
storing graphs in files and making queries to them.</li>
|
||
<li>:octocat: <a href="https://github.com/DIY0R/nestjs-rabbitmq"><span
|
||
class="citation"
|
||
data-cites="diy0r/nestjs-rabbitmq">@diy0r/nestjs-rabbitmq</span></a> -
|
||
Library for building NestJS microservices with RabbitMQ.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/ThomasAribart/onion.js">Onion.JS</a> - Design
|
||
and apply wrappers (i.e. high-order functions) without breaking types!
|
||
Based on <a href="https://github.com/gvergnaud/hotscript">HotScript</a>
|
||
high-order types.</li>
|
||
<li>:octocat: <a
|
||
href="https://github.com/vaidehimani/text-smart-trimmer">text-smart-trimmer</a>
|
||
- A lightweight TypeScript utility for trimming text while choosing to
|
||
preserve word boundaries, punctuation, and custom suffixes.</li>
|
||
</ul>
|
||
<h1 id="llm">LLM</h1>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/mumu-lhl/duckduckgo-ai-chat">duckduckgo-ai-chat</a>
|
||
- Providing Duckduckgo AI Chat API, which can use gpt-4o-mini for
|
||
free.</li>
|
||
</ul>
|
||
<h1 id="video-courses">Video Courses</h1>
|
||
<h2 id="free-free-courses">:free: Free Courses</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://mva.microsoft.com/en-US/training-courses/angular-applications-with-typescript-14330">Angular
|
||
Applications with TypeScript</a> (Microsoft Virtual Academy)</li>
|
||
<li><a href="https://www.youtube.com/watch?v=OZxnFB0yQHs">AngularJS with
|
||
TypeScript made easy</a> (SSW TV)</li>
|
||
<li><a href="https://www.youtube.com/watch?v=I6ypD7qv3Z8">Full Stack
|
||
React GraphQL TypeScript Tutorial - 14 hour course</a> (YouTube)</li>
|
||
<li><a href="https://www.youtube.com/watch?v=Ut694dsIa8w">Evolving
|
||
JavaScript with TypeScript</a> a detailed introduction to
|
||
TypeScript</li>
|
||
<li><a href="https://www.youtube.com/watch?v=1TW9SdHIiXI">Why program in
|
||
TypeScript?</a> an overview of the main syntax constructs focusing on
|
||
the benefits of using TypeScript as opposed to coding in JavaScript</li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLuPevXgCPUIMbCxBEnc1dNwboH6e2ImQo">Functional
|
||
Programming with TypeScript</a> - Discover functional programming with
|
||
Typescript and create a library like fp-ts alongside Sahand Javid in
|
||
this beginner-friendly YouTube playlist.</li>
|
||
<li><a href="https://www.youtube.com/watch?v=l4QjeBEkNLc">Building CRM
|
||
from scratch with Typescript and Bun</a> - Building a real-world CRM
|
||
system from scratch, without big frameworks. Bun, Typescript and
|
||
Tailwind.</li>
|
||
</ul>
|
||
<h2 id="dollar-paid-courses">:dollar: Paid Courses</h2>
|
||
<ul>
|
||
<li><a href="https://www.pluralsight.com/courses/typescript">TypeScript
|
||
Fundamentals</a> (Pluralsight)</li>
|
||
<li><a
|
||
href="https://www.pluralsight.com/courses/typescript-practical-migration">Practical
|
||
TypeScript Migration</a> (Pluralsight)</li>
|
||
<li><a
|
||
href="http://www.pluralsight.com/courses/angular-typescript">Angular
|
||
with TypeScript</a> (Pluralsight)</li>
|
||
<li><a
|
||
href="https://www.pluralsight.com/courses/using-typescript-large-angularjs-apps">Using
|
||
TypeScript for Large AngularJS Applications</a> (Pluralsight)</li>
|
||
<li><a
|
||
href="https://www.packtpub.com/application-development/introduction-typescript-video">Introduction
|
||
to TypeScript</a> (Packt)</li>
|
||
<li><a
|
||
href="https://www.packtpub.com/web-development/mastering-typescript-video">Mastering
|
||
TypeScript</a> (Packt)</li>
|
||
<li><a
|
||
href="https://www.udemy.com/typescript-the-complete-developers-guide/">TypeScript:
|
||
The Complete Developer’s Guide</a> (Udemy)</li>
|
||
<li><a
|
||
href="https://www.manning.com/livevideo/angular-for-java-developers-typescript/">Angular
|
||
with TypeScript</a> (Manning)</li>
|
||
<li><a href="https://www.udemy.com/course/learn-typescript/">Mastering
|
||
TypeScript - 2022 Edition</a> (Udemy)</li>
|
||
</ul>
|
||
<h1 id="tutorials">Tutorials</h1>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.useanvil.com/blog/engineering/converting-vanilla-javascript-to-typescript">Converting
|
||
your vanilla JavaScript app to TypeScript</a></li>
|
||
<li><a
|
||
href="https://www.scaler.com/topics/typescript-vs-javascript/">Difference
|
||
Between TypeScript and JavaScript</a></li>
|
||
</ul>
|
||
<h1 id="roadmap">Roadmap</h1>
|
||
<ul>
|
||
<li><a href="https://roadmap.sh/typescript">TypeScript Roadmap</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=U6s2pdxebSo">TypeScript
|
||
Origins: The Documentary - YouTube</a> 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!</li>
|
||
</ul>
|
||
<h3 id="badges">Badges</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/ellerbrock/typescript-badges/">TypeScript
|
||
Badges</a> <a
|
||
href="https://github.com/ellerbrock/typescript-badges/"><img
|
||
src="https://raw.githubusercontent.com/ellerbrock/typescript-badges/master/badges/awesome/typescript125x28.png"
|
||
alt="TypeScript" /></a> <a
|
||
href="https://github.com/ellerbrock/typescript-badges/"><img
|
||
src="https://raw.githubusercontent.com/ellerbrock/typescript-badges/master/badges/code/typescript-125x28.png"
|
||
alt="TypeScript" /></a> <a
|
||
href="https://github.com/ellerbrock/typescript-badges/"><img
|
||
src="https://raw.githubusercontent.com/ellerbrock/typescript-badges/master/badges/love/typescript-125x28.png"
|
||
alt="TypeScript" /></a></li>
|
||
</ul>
|
||
<h3 id="social">Social</h3>
|
||
<ul>
|
||
<li><a href="https://twitter.com/typescriptlang"><span class="citation"
|
||
data-cites="typescriptlang">@typescriptlang</span></a> - Official
|
||
Typescript Twitter</li>
|
||
<li><a href="https://twitter.com/angularjs"><span class="citation"
|
||
data-cites="angularjs">@angularjs</span></a> - Official Angularjs
|
||
Twitter using Typescript Since 2.0</li>
|
||
<li><a href="https://twitter.com/jntrnr"><span class="citation"
|
||
data-cites="jntrnr">@jntrnr</span></a> - Typescript Program Manager at
|
||
Microsoft</li>
|
||
<li><a href="https://twitter.com/ahejlsberg"><span class="citation"
|
||
data-cites="ahejlsberg">@ahejlsberg</span></a> - Technical Fellow at
|
||
Microsoft involved with the Typescript project</li>
|
||
</ul>
|
||
<h3 id="acknowledgements">Acknowledgements</h3>
|
||
<blockquote>
|
||
<p>(added: 2023) A new section to say thank you for the
|
||
contributions.</p>
|
||
</blockquote>
|
||
<ul>
|
||
<li>2023 - ⚒ Thank you Hamza ( <span class="citation"
|
||
data-cites="Hamza12700">@Hamza12700</span> https://github.com/Hamza12700
|
||
) for <a
|
||
href="https://github.com/dzharii/awesome-typescript/pulls?q=is%3Apr+author%3AHamza12700+is%3Aclosed">more
|
||
than 15 merged pull requests</a>. Great contribution to keeping this
|
||
list up-to-date with modern TypeScript projects. <strong>Contributor of
|
||
the year 2023</strong>.</li>
|
||
</ul>
|
||
<p><a href="https://github.com/dzharii/awesome-typescript">typescript.md
|
||
Github</a></p>
|