tsconfig.tpl.json

In der tsconfig.json werden alle Optionen des TypeScript-Kompilers eingestellt. Dieser prüft beispielsweise ob API-Aufrufe korrekt benutzt werden.

Dafür werden zur Analyse des Quelltextes sogenannte Typdefinitionen von jQuery, dem Framework und den Controls benötigt. Diese werden über die NuGet-Pakete mitgeliefert. Da diese Pfade nicht immer am gleichen Ort liegen, bearbeitet der Anwender nur diese template-Datei. Aus dieser wird von Visual Studio die richtige tsconfig.json erstellt.

compilerOptions

Voreingestellt ist ein Standard-Satz von Optionen im Bereich compilerOptions. Diese können verändert werden. Jedoch ist es möglich, dass anschließend ein Projekt nicht mehr gebaut werden kann oder nicht mehr in allen gewünschten Browsern funktioniert.

Siehe hierzu die offizielle Dokumentation: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html

include

Im Bereich include werden Typ-Definitionen eingebunden für APIs, die nicht vom Browser selbst kommen. Zwingend nötig ist der Eintrag

"$(Beckhoff.TwinCAT.HMI.Framework).InstallPath/TcHmi.d.ts"

welcher auf jQuery, Framework und die System-Controls referenziert. Soll beispielsweise in einer Control-Factory ein TcHmiButton erstellt werden, so muss das NuGet-Paket Beckhoff.TwinCAT.HMI.Controls eingebunden werden und diese Zeile ergänzt werden:

"$(Beckhoff.TwinCAT.HMI.Controls).InstallPath/TcHmiButton/TcHmiButton.d.ts"

files

Unterhalb von Files müssen alle TypeScript-Dateien einzeln in der richtigen Reihenfolge eingebunden werden, welche vom TypeScript-Kompilers übersetzt werden sollen. Neue Dateien für Funktionen oder Controls werden hier automatisch ergänzt, jedoch kann auch ein manueller Eingriff erforderlich sein.

Der TypeScript-Kompilers erstellt daraufhin JavaScript-Dateien mit dem gleichen Basisnamen nur mit der Endung .js statt .ts. Diese ist beispielsweise bei Controls in der description.json einzutragen.