The TypeScript architecture can be divided into five main components:
- Core TypeScript compiler: This is the base of the TypeScript language; it manages all the low-level tasks which allow TypeScript to expose its rich set of features and compile the code into JavaScript. The core compiler consists of modules such as type resolver, which is responsible for resolving types, checking semantic operations, and providing error or warning conditions where appropriate, and preprocessor, which manages references between files using import or /// <reference path=…/>.
- Language service: The language service is a layer on top of the core compiler which exposes features that are required by editors, such as IntelliSense, debugging, statement completion, refactoring using symbols, and formatting. The language service is also responsible for incremental build...