This plugin makes it easy to build TypeScript projects using Gradle. Among other things, the plugin provides a task to run the TypeScript compiler.
Several example projects can be found in /examples.
You need to have installed node.js and installed the typescript node module:
npm install -g typescript
Alternatively on windows you can install the Typescript SDK and configure the compilerExecutable
config option to tsc
- see Available configuration options.
This will guide you through the steps needed to set up typescript-gradle-plugin for a TypeScript application project using Maven/Gradle standard layout.
As this is not a core Gradle plugin, you have to ensure, that Gradle knows how to get the plugin. Do do this, add the following lines to your build.gradle:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'de.richsource.gradle.plugins:typescript-gradle-plugin:1.1'
}
}
Next, apply the plugin.
apply plugin: "typescript"
You can configure the TypeScript compile task as shown below:
compileTypeScript {
sourcemap = true
// additional configuration options
}
gradle compileTypeScript
Here is a list of the available configuration options of the compileTypeScript task:
- source - (File) directories to compile, defaults to src/main/ts
- outputDir - (File) the output directory, defaults to buildDir/ts
- out - (File) Concatenate and emit output to single file, e.g.
file("${buildDir}/js/out.js")
- module - (de.richsource.gradle.plugins.typescript.Module) Specify module code generation (AMD or COMMONJS)
- target - (de.richsource.gradle.plugins.typescript.Target) Specify ECMAScript target version (ES3, ES5 or ES6)
- declaration - (boolean) Generates corresponding .d.ts file
- noImplicitAny - (boolean) Warn on expressions and declarations with an implied 'any' type
- noResolve - (boolean) Skip resolution and preprocessing
- removeComments - (boolean) Do not emit comments to output
- sourcemap - (boolean) Generates corresponding .map file
- sourceRoot - (File) Specifies the location where debugger should locate TypeScript files instead of source locations
- codepage - (Integer) Specify the codepage to use when opening source files
- mapRoot - (File) Specifies the location where debugger should locate map files instead of generated locations
- compilerExecutable - (String) The tsc compiler executable to use. Defaults to "cmd /c tsc.cmd" on windows and "tsc" on other systems.
- noEmitOnError - (boolean) Do not emit outputs if any type checking errors were reported
If you are integrating TypeScript into a Java web application, you can easily integrate the compiled files into the WAR file. All you have to do is to configure the war task to pick up the compiled files. Whenever you call the war task, the TypeScript compiler will compile your TypeScript files first. In the example below, the compiled files will be put into the js directory in the WAR file.
apply plugin: "war"
war {
into("js") {
from compileTypeScript.outputs
}
}
You can configure the TypeScript compile task to use multiple source directories as shown below:
compileTypeScript {
source = [file("src/main/ts"), file("src/main/additionalts")]
}