Giter VIP home page Giter VIP logo

awesome-typescript's Introduction

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

Getting Started with (Awesome) TypeScript

Awesome TypeScript Essential Resources

Typescript Project Starters

  • typescript-starter – A CLI to quickly generate and configure new libraries and Node.js projects
  • next-smrt – A Typescript/NextJs boilerplate with Redux/Styled Components/Material UI and TypeSafe Actions.
  • :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.
  • πŸ™†β€β™‚οΈ 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.

Books

Reference Lists

Blogs

CLI and REPL

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

IDE

Offline

Visual Studio
Other (Plugins || Cross-platform || OSS || Free)

Online

Playground

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.

Cloud Data Warehousing

  • ✨ Crisp BigQuery Starter project that delivers Google BigQuery data to end user browsers with cost control. Allows to implement rich data presentation options.
  • DDB-Table Strongly typed querys and tables for AWS DynamoDB

Module Bundlers

CMS

  • Factor - The Javascript CMS (TypeScript supported natively)

Tools

  • deno - A secure runtime for JavaScript and TypeScript
  • SweetIQ/schemats Generate typescript interface definitions from SQL database schema
  • TypeDoc - A documentation generator for TypeScript projects
  • TypeScript Standard - Zero-configuration TypeScript 2 Standard Validation
  • typed-install - Easily install new dependencies and their typings, no matter where they may be
  • Interactive TypeScript AST Viewer - Write TypeScript snippets and explore its AST.
  • type-config - A generator for tsconfig.
  • Zapatos - Zero-Abstraction Postgres for TypeScript
  • dep-tree - Render your project's file dependency tree and/or validate it against your own rules.

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

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.

Validation

  • io-ts - Runtime type system for IO decoding/encoding
  • zod - TypeScript-first schema validation with static type inference
  • runtypes - Runtime validation for static types
  • ts-codec - TypeScript Codecs for encoding, decoding and validating data
  • ow - Function argument validation for humans
  • superstruct - A simple and composable way to validate data
  • computed-types - 🦩 Joi like validations for TypeScript
  • json-schema-to-ts - Dynamic type inference from JSON schemas
  • Yunomix - A form validation toolkit which is designed in AOP form.
  • typia - Superfast runtime validator 15,000x faster than class-validator. Also, supports faster JSON and Protocol Buffer functions even type safe. Those features can be performed by only one line.
  • 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: 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: 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: 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

Back-end API

  • :octocat: Actio - The Node.js framework for monoliths and microservices.
  • :octocat: design-first - A REST Api templating engine for Typescript
  • :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 - 15,000x faster validation decorators than class-validator and Swagger/SDK generators.
  • :octocat: LoopBack 4 - A highly extensible Node.js and TypeScript framework for building APIs and microservices. πŸš€ (see also: https://loopback.io/)
  • :octocat: FoalTS - A simple, intuitive and complete framework for building enterprise-grade Node.JS applications πŸ’₯ πŸš€ (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 (see also: https://zents.dev)
  • :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
Chrome Extensions

Design patterns

Libraries

  • :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: substitute.js - A fluent mocking library for TypeScript ported from NSubstitute.
  • :octocat: TypeMoq - A simple mocking library for TypeScript.
  • :octocat: fast-check - Property based testing framework for TypeScript.
  • :octocat: InversifyJS - powerful and lightweight inversion of control container for JavaScript & Node.js apps powered by TypeScript.
  • :octocat: TypeORM - ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms.
    • :octocat: Safe-TypeORM - Enhances TypeORM in the compilation level and supports automated performance tuning tools through the application level joining. Furthermore, your raw SQL queries would be ensured safety by type meta programming.
  • :octocat: MikroORM - TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, PostgreSQL, MySQL and SQLite.
  • :octocat: Prisma - Modern database access (ORM alternative) for Node.js & TypeScript | PostgreSQL, MySQL & SQLite
  • :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

Video Courses

πŸ†“ Free Courses

πŸ’΅ Paid Courses

Tutorials

Roadmap

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

awesome-typescript's People

Contributors

0xflotus avatar adam-hanna avatar aloisdg avatar benogle avatar bitjson avatar captain-yossarian avatar chimon2000 avatar dubzzz avatar dzharii avatar e2tox avatar ellerbrock avatar goldziher avatar jamesxv7 avatar janriemer avatar jsynowiec avatar juplutonic avatar kamranayub avatar lancercomet avatar moshest avatar pie6k avatar reaperdragon avatar remojansen avatar samchon avatar sergiofilhowz avatar stereobooster avatar stjepanjurekovic avatar taramk avatar venil7 avatar vitaly-t avatar winwiz1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.