Skip to content

TypeScript BuildPath

angelozerr edited this page Apr 29, 2016 · 13 revisions

TypeScript Build Path

TypeScript Nature

In a lot of Eclipse plugins (JDT, JSDT, other TypeScript plugins), they use Eclipse Nature which is used to for instance showing some menus according the nature of the Eclipse project.

TypeScript IDE doesn't use Eclipse Nature because a TypeScript project can be created with other IDE like VSCode, Atom, WebStorm, etc.

For TypeScript IDE, an Eclipse project is a TypeScript project if it contains one or more tsconfig.json files. The problem is that tsconfig.json files can be hosted in any folders of the project. To avoid scanning each time the whole of files of project each time, TypeScript IDE uses the following rules:

  • search tsconfig.json inside root project and /src folder. If a tsconfig.json file exists in this location, the project has TypeScript Nature.

  • if tsconfig.json is not found in the default location, you can add one or several folders of your project by using TypeScript Build Path.

When a project has TypeScript Nature:

  • it display TypeScript Resources in the root of project inside the Project Explorer:

TypeScript Nature Inside Project Explorer

  • the TypeScript menu item of the project properties is shown:

TypeScript Nature Inside Project Properties

Please note that TypeScript IDE doesn't need TypeScript Nature if you wish to use just completion, hover, search inside TypeScript Editor since it consummes tsserver.

What is Build Path?

When a project is loaded, TypeScript IDE searches tsconfig.json inside root project and /src folder. If a tsconfig.json file exists in this location, the project has TypeScript Nature but you could have not this rule in your Eclipse project.

If you are in this case, you must configure Build Path by setting where your(s) tsconfig.json are hosted. TypeScript Build Path is a list of folders which contains a tsconfig.json file in the root folder. Build Path is used for:

  • TypeScript Nature.
  • Compilation
  • Validation

Here a demo with add/remove Build Path:

![Demo With Build Path](images/DemoWithBuildPath.gif]

Add Build Path

To add Build Path, select your custom folder which contains your tsconfig.json, open contextual menu and select Add to TypeScript BuildPath...

Remove Build Path

To remove Build Path, select your custom folder which contains your tsconfig.json, open contextual menu and select Remove to TypeScript BuildPath...

Default Build Path

TODO : manage default build path with UI preferences to add other default folder (see issue 55).

Compilation

TODO: working on this issue.

Validation

Working but I think more and more to remove WTP Validator which is very slow because it loop for the whole files of the project when "Validation Builder" is activated.