TypeScript を Gradle からコンパイルする
サーバサイドは Java、クライアントサイドは TypeScript で書いてて、TypeScript のコンパイルも Gradle でやってました。 (こういうパターンは他の人はどうビルドしてるんでしょう?ちなみにJS系のビルドツールは使ったことがありません)
で以前以下のエントリで TypeScript の Gradle Plugin について書いたんですが、新しい TypeScript に対応してなかったり、ちょっと挙動が微妙だったので使うのをやめました。
TypeScript の バージョン 1.5 から tsconfig.json というファイルでコンパイルの設定ができるようになったので、もう Gradle から直接 tsc コマンド叩いちゃえば良いかと思いました。
まずは、プロジェクトルートの build.gradle
task compileTypeScript(type:Exec) { ant.condition(property: "isWindows", value: true) { os(family: "windows") } commandLine(ant.properties.isWindows ? ['cmd', '/c', 'tsc'] : ['tsc']) } jar.dependsOn compileTypeScript
次に プロジェクトルートの tsconfig.json
{ "compilerOptions": { "target": "es3", "noImplicitAny": true, "removeComments": true, "preserveConstEnums": true, "inlineSourceMap": true, "inlineSources": true, "rootDir": "src/main/ts", "outDir": "build/resources/main/static/ts", "jsx": "react" } }
rootDir
でソースディレクトリ、outDir
でコンパイルされたJSの出力ディレクトリを指定してる感じです。
とりあえずこんな感じでいいのかなー。
そして、eclipse の TypeScript Plugin も tsconfig.json も使ってくれるようにならないかなと思ってるところです。
以上