TSConfig Handling

Note : you need knowledge of the different process boundaries in the code base.

We have activeProjectConfig.ts and activeProject.ts.

ActiveProjectConfig

  • This is used in the main web process. It makes sure the tsconfig.json is valid and if so sets is as the active config.
  • If invalid it reports the errors.
  • Watches tsconfig.json. If changed checks if valid / invalid. If valid sets active config again.

The main web process uses projectDataLoader to load the information based on the active config event and sends it down to the project service worker

ActiveProject

This is used in the project service worker. It gets data passed down from the main process worker and creates a project. This project is what is used as our main handle to the TypeScript langauge service.

Other files

tsconfig.ts : Contains the main entry point for parsing / validation of tsconfig.json. Called from activeProjectConfig.ts.

There are other files in the area that tsconfig.ts uses (e.g. compilationContextExpander.ts to load node_modules / do <reference> tag expansions) to create a proper compilation context.

results matching ""

    No results matching ""