Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/unional/typescript-blackbook

The TypeScript Blackbook
https://github.com/unional/typescript-blackbook

lint linting style-guide styleguide typescript typescript-guidelines

Last synced: about 2 months ago
JSON representation

The TypeScript Blackbook

Awesome Lists containing this project

README

        

# Typescript Guidebook

[![NPM version][npm-image]][npm-url]
[![GitHub NodeJS][github-nodejs]][github-action-url]

Welcome to the TypeScript Guidebook.

This guidebook supplements the official [TypeScript Handbook] while focusing on *how to get the most out of TypeScript with minimal effort*.

I will cover anything and everything you need when writing TypeScript.
From how to use the language, to coding style and any tool that may be useful.

## Highlights

- Stay true to JavaScript
- Focus on code efficiency
- Focus on tool compatibility
- IDE / Editors
- [Visual Studio Code](https://github.com/Microsoft/vscode)
- [Atom](https://atom.io/)
- [WebStorm](https://www.jetbrains.com/webstorm/)
- Formatter
- [prettier](https://prettier.io/)
- Linter
- [ESLint](https://eslint.org/)

## Watch this repo

I'll periodically update this repo.
You can click the watch button if you want to be notified.

## Disclaimer

Recently I do most of my work in VS Code.
So if you find that some guidelines doesn't work well in your IDE,
let me know, and we can see how to get it working on your IDE.

## Table of Contents

- [What's new](/docs/pages/00-updates/README.md)
- [Introduction](/docs/pages/01-introduction/README.md)
- [What is TypeScript](/docs/pages/01-introduction/what-is-typescript.md)
- [JavaScript Syntax](/docs/pages/02-javascript-syntax/README.md)
- [Array](/docs/pages/02-javascript-syntax/array.md)
- [Arrow Function](/docs/pages/02-javascript-syntax/arrow-function.md)
- [Assignment](/docs/pages/02-javascript-syntax/assignment.md)
- [Async Await](/docs/pages/02-javascript-syntax/async-await.md)
- [Boolean](/docs/pages/02-javascript-syntax/boolean.md)
- [Class](/docs/pages/02-javascript-syntax/class.md)
- [Declaration Statements](/docs/pages/02-javascript-syntax/declaration-statements.md)
- [Decorator](/docs/pages/02-javascript-syntax/decorator.md)
- [Default Parameters](/docs/pages/02-javascript-syntax/default-parameters.md)
- [Error](/docs/pages/02-javascript-syntax/error.md)
- [Function](/docs/pages/02-javascript-syntax/function.md)
- [Module](/docs/pages/02-javascript-syntax/module.md)
- [Object Destructuring](/docs/pages/02-javascript-syntax/object-destructuring.md)
- [Object Literal](/docs/pages/02-javascript-syntax/object-literal.md)
- [Property Accessor](/docs/pages/02-javascript-syntax/property-accessor.md)
- [String](/docs/pages/02-javascript-syntax/string.md)
- [this](/docs/pages/02-javascript-syntax/this.md)
- [TypeScript Syntax](/docs/pages/04-typescript-syntax/README.md)
- [Type Declaration](/docs/pages/04-typescript-syntax/type-declaration.md)
- [Basic Types](/docs/pages/04-typescript-syntax/basic-types.md)
- [Interfaces](/docs/pages/04-typescript-syntax/interfaces.md)
- [Modules](/docs/pages/04-typescript-syntax/modules.md)
- [Tuple Type](/docs/pages/04-typescript-syntax/tuple-type.md)
- [Files and Projects](/docs/pages/07-files-and-projects/README.md)
- [Compiler Options](/docs/pages/07-files-and-projects/compiler-options.md)
- [Files](/docs/pages/07-files-and-projects/file-types.md)
- [Code Organization](/docs/pages/07-files-and-projects/code-organization.md)
- [tsconfig.json](/docs/pages/07-files-and-projects/tsconfig.md)
- [package.json](/docs/pages/07-files-and-projects/package.json.md)
- [Converting from JavaScript](/docs/pages/07-files-and-projects/converting-from-javascript.md)
- Coding Practice
- [Testing](/docs/pages/08-testing/testing.md)
- [Typings](/docs/pages/typings/README.md)
- [Functions](/docs/pages/typings/functions.md)
- [Overloading](/docs/pages/typings/overloading.md)
- [Namespaces and Modules](/docs/pages/typings/namespaces-and-modules.md)
- [Shape of typings](/docs/pages/typings/shape-of-typings.md)
- [TSLint configuration](/docs/pages/typings/tslint.md)

## Other Resources

With the rapid advancement of JavaScript and TypeScript,
I may not able to keep this guidebook updated with the latest information.

Here are some additional resources in JavaScript and TypeScript:

- [Official TypeScript Tutorial](http://www.typescriptlang.org/docs/tutorial.html)
- [Official TypeScript Handbook](http://www.typescriptlang.org/docs/handbook/basic-types.html)
- [TypeScript Playground](https://www.typescriptlang.org/play/index.html) is a great way if you want to quickly test out TypeScript syntax.
- [TypeScript Deep Dive](https://basarat.gitbooks.io/typescript/) by [That TypeScript Guy](https://twitter.com/basarat)
- [StackOverflow](https://stackoverflow.com/questions/tagged/typescript) always a great place to ask questions
- [TypeScript Gitter Channel](https://gitter.im/Microsoft/TypeScript) the official Gitter channel for the TypeScript repository.\\
You can get help from the TypeScript team directly here.
- [Airbnb JavaScript](https://github.com/airbnb/javascript)
- [@dzharii Awesome TypeScript](https://github.com/dzharii/awesome-typescript)
- [@semlinker Awesome TypeScript](https://github.com/semlinker/awesome-typescript)

## Contributing

Interested in helping to make this guideline more useful to everyone? Great 🌷.

You can check out this [contributing guide](/CONTRIBUTING.md) to get you get familiar with the convention we use here.

[npm-image]: https://img.shields.io/npm/v/typescript-style.svg?style=flat
[npm-url]: https://npmjs.org/package/typescript-style
[github-nodejs]: https://github.com/unional/typescript-guidebook/workflows/ci/badge.svg
[github-action-url]: https://github.com/unional/typescript-guidebook/actions
[TypeScript Handbook]: http://www.typescriptlang.org/docs/handbook/basic-types.html