Book Image

Advanced TypeScript Programming Projects

By : Peter O'Hanlon
Book Image

Advanced TypeScript Programming Projects

By: Peter O'Hanlon

Overview of this book

With the demand for ever more complex websites, the need to write robust, standard-compliant JavaScript has never been greater. TypeScript is modern JavaScript with the support of a first-class type system, which makes it simpler to write complex web systems. With this book, you’ll explore core concepts and learn by building a series of websites and TypeScript apps. You’ll start with an introduction to TypeScript features that are often overlooked in other books, before moving on to creating a simple markdown parser. You’ll then explore React and get up to speed with creating a client-side contacts manager. Next, the book will help you discover the Angular framework and use the MEAN stack to create a photo gallery. Later sections will assist you in creating a GraphQL Angular Todo app and then writing a Socket.IO chatroom. The book will also lead you through developing your final Angular project which is a mapping app. As you progress, you’ll gain insights into React with Docker and microservices. You’ll even focus on how to build an image classification program with machine learning using TensorFlow. Finally, you’ll learn to combine TypeScript and C# to create an ASP.NET Core-based music library app. By the end of this book, you’ll be able to confidently use TypeScript 3.0 and different JavaScript frameworks to build high-quality apps.
Table of Contents (13 chapters)

Building future-proof TypeScript with tsconfig

As TypeScript has grown in popularity, it has benefited from a rapidly evolving open source architecture. The design goals behind the original implementation means that it has proven to be a popular choice for developers, from those who were new to JavaScript-based development to seasoned professionals. This popularity means that the language has quickly gained new features, some straightforward and others geared toward developers who are working on the cutting edge of the JavaScript ecosystem. This chapter aims to address the features that TypeScript has introduced to match either current or upcoming ECMAScript implementations that you might not have encountered previously.

As we progress through this chapter, I will occasionally call out features that require a newer ECMAScript standard. In some cases, TypeScript will already have provided a poly-filled implementation of a feature that works with earlier versions of ECMAScript. In other cases, the version we compile against will have a feature that could not be back-filled beyond a certain point so it will be worth using a more up-to-date setting.

While it's possible to compile TypeScript completely from the command line using nothing but parameters, I prefer to use tsconfig.json. You can either create this file manually or have TypeScript create it for you using the following command from the command line:

tsc --init

If you want to copy my settings, these are the ones I have set up by default. When we need to update references, I will point out the entries that need to be added:

{
"compilerOptions": {
"target": "ES2015",
"module": "commonjs",
"lib": [ "ES2015", "dom" ],
"sourceMap": true,
"outDir": "./script",
"strict": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"alwaysStrict": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"esModuleInterop": true,
"experimentalDecorators": true,
}
}