├── contributing.md ├── LICENSE └── README.md /contributing.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Your contributions are always welcome! 4 | 5 | ## Guidelines 6 | 7 | * Create a file section if needed. 8 | * Add section description. 9 | * Add section title to Table of contents. 10 | * Search previous suggestions before making a new one, as yours may be a duplicate. 11 | * Add your links: `* [link-name](http://example.com/) - description` 12 | * If your link isn't in english, use (Lang) after the link. 13 | * Check your spelling and grammar. 14 | * Send a Pull Request. 15 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome TypeScript 2 | 3 | #### -= Awesome TypeScript =- [Awesome Elasticsearch](https://github.com/dzharii/awesome-elasticsearch) → 4 | 5 | > A collection of awesome TypeScript resources for client-side and server-side development. Write your awesome JavaScript in TypeScript. Inspired by the [awesome](https://github.com/sindresorhus/awesome) lists. 6 | 7 | ## Contributing 8 | 9 | Please take a quick look at the [contribution guidelines](/contributing.md) 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. 10 | 11 | ## Getting Started with (Awesome) TypeScript 12 | 13 | ### Awesome TypeScript Essential Resources 14 | * :books: [Handbook - Welcome to TypeScript](http://www.typescriptlang.org/Handbook) the official resource for learning TypeScript 15 | * :books: [TypeScript Deep Dive](https://basarat.gitbooks.io/typescript/) by [Basarat Ali Syed](https://twitter.com/basarat) 16 | * :octocat: [Microsoft/TypeScript on Github](https://github.com/Microsoft/TypeScript) fork TypeScript on Github! Or... just read the code 17 | * :octocat:[The official TypeScript Roadmap](https://github.com/Microsoft/TypeScript/wiki/Roadmap) 18 | * :books: [TypeScript Team Blog](http://blogs.msdn.com/b/typescript/) with announcements and recent updates 19 | * :octocat: [DefinitelyTyped](http://definitelytyped.org/), the repository for high quality TypeScript type definitions maintained by [Boris Yankov](https://github.com/DefinitelyTyped/DefinitelyTyped) 20 | * :octocat: [Type search](https://aka.ms/typings), search for typings on npm 21 | 22 | ### Typescript Starter Projects 23 | * [typescript-starter](https://github.com/bitjson/es7-typescript-starter) – A typescript starter for building javascript libraries and projects 24 | 25 | ### Books 26 | * :books: :fire: [Angular Development with Typescript, Second Edition (MEAP October 2017)](https://www.manning.com/books/angular-development-with-typescript-second-edition) 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) 27 | * :books: [Angular 2 Development with TypeScript (2016)](https://www.manning.com/books/angular-2-development-with-typescript) by Yakov Fain and Anton Moiseev; Manning 28 | * :books: [Mastering TypeScript 2nd Ed.](https://www.packtpub.com/application-development/mastering-typescript-second-edition) by Nathan Rozentals 29 | * :books: [Beginning Angular 4 with TypeScript](https://www.amazon.com/Beginning-Angular-Typescript-Greg-Lim/dp/1542916674) by Greg Lim 30 | 31 | ### CLI and REPL 32 | * Use [ts-node](https://github.com/TypeStrong/ts-node) to run scripts or REPL 33 | * How to make executable typescript scripts: 34 | 1. Make sure you have `npx` (shipped with `npm >= 5.2`) and `typescript` package is installed 35 | 1. Add this [shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)) as first line to your script: `#!npx ts-node` 36 | 1. Make script executable: `chmod +x script.ts` 37 | 1. Run directly: `./script.ts` :) 38 | 39 | ### IDE 40 | #### Offline 41 | ##### Visual Studio 42 | * [ Visual Studio Community Edition 2015](https://www.visualstudio.com/products/visual-studio-community-vs) - free (conditionally) IDE with integrated TypeScript support 43 | * [VS Addon - TypescriptSyntaxPaste](https://visualstudiogallery.msdn.microsoft.com/eb0887f8-3ac1-434a-b50b-f0112f1572f7) - Allow you to copy C# source code, then paste as Typescript syntax which help you with converting DTO or interface 44 | * [NodeJS Tools for Visual Studio](https://github.com/Microsoft/nodejstools) 45 | 46 | ##### Other (Plugins || Cross-platform || OSS || Free) 47 | * [Visual Studio Code](https://www.visualstudio.com/en-us/products/code-vs.aspx) 48 | * [PhpStorm](https://www.jetbrains.com/phpstorm/download/) 49 | * [CATS](http://jbaron.github.io/cats/) is an IDE for TypeScript and Web developers by @jbaron 50 | * [TypeScript Sublime Plugin](https://github.com/Microsoft/TypeScript-Sublime-Plugin) by @Microsoft 51 | * [Atom TypeScript](https://github.com/TypeStrong/atom-typescript) by @TypeStrong 52 | * [TypeScript Interactive Development Environment for Emacs](https://github.com/ananthakumaran/tide) by @ananthakumaran 53 | * [TypeScript IDE for Eclipse](http://typecsdev.com/) 54 | * [TypeScript Syntax for VIM](https://github.com/leafgarland/typescript-vim) 55 | * :octocat: [Typescript addin for](https://github.com/mrward/typescript-addin) MonoDevelop, SharpDevelop and Xamarin Studio; a short [review article](http://lastexitcode.com/blog/2015/04/01/TypeScriptSupportInXamarinStudio/) 56 | 57 | #### Online 58 | 59 | ##### Playground 60 | * [TypeScript playground-on-ace](https://github.com/hi104/typescript-playground-on-ace) by @hi104 [updated to TypeScript 1.5](https://github.com/basarat/TypeScriptEditor) 61 | * [TypeScript official Playground](http://www.typescriptlang.org/Playground/) 62 | * [JS Bin](http://jsbin.com/?js) (Select TypeScript) 63 | * [Codepen](http://codepen.io/) (Select TypeScript) 64 | * [TypeScript Interpret - Terminal Emulator](http://niutech.github.io/typescript-interpret/) by @niutech 65 | * [TypeScript Editor](http://drake7707.github.io/Typescript-Editor/) by @drake7707 66 | 67 | ##### Chrome Extension 68 | * [TypeScript Editey](https://chrome.google.com/webstore/detail/typescript-editey/liedfkjkedgcgpddoijfeeeeoikcbmaf) 69 | * [OctoLinker](https://github.com/OctoLinker/browser-extension) 70 | 71 | ### Awesome TypeScript Videos 72 | 73 | * :tv: [Evolving JavaScript with TypeScript](https://www.youtube.com/watch?v=Ut694dsIa8w) a detailed introduction to TypeScript 74 | 75 | ### TypeScript for... 76 | #### React 77 | * :octocat: [wmonk/create-react-app-typescript](https://github.com/wmonk/create-react-app-typescript) Create React apps using typescript with no build configuration; based on `create-react-app` 78 | * :octocat: [Microsoft/TypeScript-React-Starter](https://github.com/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` 79 | * :octocat: [jsxtyper](https://github.com/fuselabs/jsxtyper) Generates TypeScript interfaces from .jsx files 80 | * :scroll: [Building a simple react component with typescript](http://www.austentalbot.com/how-to-use-react-with-typescript/) 81 | * :octocat: [TodoMVC • TypeScript + React Example](https://github.com/tastejs/todomvc/tree/gh-pages/examples/typescript-react) 82 | * :scroll: [Working with React and TypeScript](http://blog.wolksoftware.com/working-with-react-and-typescript) 83 | * :guardsman: [**vortigern** - A universal boilerplate for building web applications w/ TypeScript, React, Redux and more.](https://github.com/barbar/vortigern) 84 | * :robot: [Convert React code to TypeScript automatically](https://github.com/lyft/react-javascript-to-typescript-transform) 85 | * :octocat: [React Server Example TSX](https://github.com/styfle/react-server-example-tsx) Boilerplate for isomorphic web app with React server-side rendering in TypeScript 86 | 87 | ## Aspect Oriented Programming 88 | * [Agent Framework](https://github.com/agentframework/agentframework) Create interceptor for your class and method using @decorators 89 | 90 | ## Build Systems 91 | * [Grunt](http://gruntjs.com/) tasks: 92 | - [grunt-ts](https://www.npmjs.com/package/grunt-ts) - Grunt-ts is an npm package that handles TypeScript compilation work in GruntJS build scripts 93 | * [Zwitterion](https://github.com/lastmjs/zwitterion) - Super simple development server with built-in support for TypeScript files. 94 | 95 | ## Module Bundlers 96 | * [Webpack](http://webpack.github.io/) - supports CommonJS and AMD module bundling 97 | - :scroll: [TypeScript and webpack](http://www.jbrantly.com/typescript-and-webpack/) - How to configure Webpack for TypeScript with source map support 98 | * [Browserify](http://browserify.org/) - CommonJS module bundler. Does not support TypeScript "out of the box", but can be applied with * [Grunt](http://gruntjs.com/) tasks: [grunt-ts](https://www.npmjs.com/package/grunt-ts), [grunt-browserify](https://www.npmjs.com/package/grunt-browserify), [grunt-contrib-uglify](https://www.npmjs.com/package/grunt-contrib-uglify) 99 | * [fuse-box](https://github.com/fuse-box/fuse-box) | [http://fuse-box.org/](http://fuse-box.org/) - typescript sample: [fuse-box-ts-react-reflux-seed](https://github.com/fuse-box/fuse-box-ts-react-reflux-seed) 100 | 101 | ## Tools 102 | * [TypeDoc](http://typedoc.org/) - A documentation generator for TypeScript projects 103 | * [TsLint](https://github.com/palantir/tslint) - TypeScript linter by @palantir 104 | * [TypeScript Standard](https://github.com/e2tox/typescript-standard) - Zero-configuration TypeScript 2 Standard Validation 105 | 106 | ## Built with TypeScript 107 | ### Mobile 108 | * :octocat: [NativeScript](https://github.com/NativeScript/NativeScript) - Open Source framework for building cross-platform truly native iOS, Android and Windows mobile apps using JavaScript 109 | * [Monaco Editor](https://microsoft.github.io/monaco-editor/index.html) 110 | 111 | ### Web 112 | * :octocat: [Angular](https://github.com/angular/angular) - Angular is a development platform for building mobile and desktop web applications 113 | * :octocat: [ionic](https://github.com/ionic-team/ionic) - An open-source mobile app development framework build in TypeScript 114 | * :octocat: [React-UWP](https://github.com/myxvisual/react-uwp) - React Components that Implement Microsoft's UWP Design & Fluent Design. 115 | * :octocat: [palantir/plottable](https://github.com/palantir/plottable) - A library of modular chart components, built on `D3` (see also: http://plottablejs.org) 116 | * :octocat: [APIs-guru/graphql-voyager](https://github.com/APIs-guru/graphql-voyager) - Represent any GraphQL API as an interactive graph 🛰️ 117 | * :octocat: [Rebilly/ReDoc](https://github.com/Rebilly/Redoc) - OpenAPI/Swagger-generated API Reference Documentation 118 | * :octocat: [excaliburjs/Excalibur](https://github.com/excaliburjs/Excalibur) - Free open source JavaScript game engine 119 | * :octocat: [Bobril](https://github.com/Bobris/Bobril) - Component oriented framework inspired by Mithril and ReactJs. (see also: http://bobril.com/) 120 | * :octocat: [Stencil](https://github.com/ionic-team/stencil) - a tool for building modern Web Components 121 | * :octocat: [redux-zero](https://github.com/concretesolutions/redux-zero) - A lightweight state container based on Redux 122 | * :octocat: [wretch](https://github.com/elbywan/wretch) - A tiny (< 2.2Kb g-zipped) wrapper built around fetch with an intuitive syntax. 123 | 124 | ### Standalone apps 125 | * :octocat: [Visual Studio Code](https://github.com/Microsoft/vscode) - Multiplatform IDE. 126 | * :octocat: [alm - A next generation IDE just for TypeScript written in TypeScript + React](https://github.com/alm-tools/alm) 127 | 128 | ### Design patterns 129 | * :octocat: [Design Patterns implementation](https://github.com/torokmark/design_patterns_in_typescript) - Implementation of the well-known 23 patterns of GoF 130 | 131 | # Video Courses 132 | 133 | ## :free: Free Courses 134 | * [Angular Applications with TypeScript](https://mva.microsoft.com/en-US/training-courses/angular-applications-with-typescript-14330) (Microsoft Virtual Academy) 135 | * [AngularJS with TypeScript made easy](https://www.youtube.com/watch?v=OZxnFB0yQHs) (SSW TV) 136 | 137 | ## :dollar: Paid Courses 138 | * [TypeScript Fundamentals](https://www.pluralsight.com/courses/typescript) (Pluralsight) 139 | * [Practical TypeScript Migration](https://www.pluralsight.com/courses/typescript-practical-migration) (Pluralsight) 140 | * [Angular with TypeScript](http://www.pluralsight.com/courses/angular-typescript) (Pluralsight) 141 | * [Using TypeScript for Large AngularJS Applications](https://www.pluralsight.com/courses/using-typescript-large-angularjs-apps) (Pluralsight) 142 | * [Introduction to TypeScript](https://www.packtpub.com/application-development/introduction-typescript-video) (Packt) 143 | * [Mastering TypeScript](https://www.packtpub.com/web-development/mastering-typescript-video) (Packt) 144 | 145 | ### Badges 146 | * [TypeScript Badges](https://github.com/ellerbrock/typescript-badges/) 147 | [![TypeScript](https://raw.githubusercontent.com/ellerbrock/typescript-badges/master/badges/awesome/typescript125x28.png)](https://github.com/ellerbrock/typescript-badges/) [![TypeScript](https://raw.githubusercontent.com/ellerbrock/typescript-badges/master/badges/code/typescript-125x28.png)](https://github.com/ellerbrock/typescript-badges/) [![TypeScript](https://raw.githubusercontent.com/ellerbrock/typescript-badges/master/badges/love/typescript-125x28.png)](https://github.com/ellerbrock/typescript-badges/) 148 | 149 | ### Social 150 | * [@typescriptlang](https://twitter.com/typescriptlang) - Official Typescript Twitter 151 | * [@angularjs](https://twitter.com/angularjs) - Official Angularjs Twitter using Typescript Since 2.0 152 | * [@jntrnr](https://twitter.com/jntrnr) - Typescript Program Manager at Microsoft 153 | * [@ahejlsberg](https://twitter.com/ahejlsberg) - Technical Fellow at Microsoft invovled with the Typescript project 154 | --------------------------------------------------------------------------------