plugins { id "org.implab.gradle-typescript" version "1.3.4" id "ivy-publish" } configurations { "default" { canBeConsumed = true canBeResolved = false } } typescript { compilerOptions { lib = ["es5", "dom", "scripthost", "es2015.promise", "es2015.symbol", "es2015.iterable"] // listFiles = true declaration = true strict = true types = [] module = "amd" it.target = "es5" experimentalDecorators = true noUnusedLocals = false jsx = "react" jsxFactory = "createElement" moduleResolution = "node" // dojo-typings are sick skipLibCheck = true // traceResolution = true // baseUrl = "./" // paths = [ "*": [ "$projectDir/src/typings/*" ] ] // baseUrl = "$projectDir/src/typings" // typeRoots = ["$projectDir/src/typings"] } tscCmd = "$projectDir/node_modules/.bin/tsc" tsLintCmd = "$projectDir/node_modules/.bin/tslint" esLintCmd = "$projectDir/node_modules/.bin/eslint" } configureTsMain { sourceFiles { from sources.main.typings } compilerOptions { // baseUrl = "$projectDir/src" /*paths = [ "dojo/*" : [ "typings/dojo/*" ], "dijit/*" : [ "typings/dijit/*" ] ]*/ types = ["requirejs", "@implab/dojo-typings", "@implab/dojo-typings/dojo/NodeList-fx"] } } configureTsTest { compilerOptions { typeRoots = [] types = ["requirejs", sources.main.output.typingsDir.get().toString() ] } } tasks.matching{ it.name =~ /^configureTs/ }.configureEach { compilerOptions { if (symbols != 'none') { sourceMap = true switch(symbols) { case "local": sourceRoot = ( isWindows ? "file:///" : "file://" ) + it.rootDir break; } } } } npmPackMeta { meta { name = "@$npmScope/$project.name" } } task npmPackTypings(type: Copy) { dependsOn typings npmPackContents.dependsOn it from typescript.typingsDir into npm.packageDir } task printVersion { doLast { println "packageName: ${npmPackMeta.metadata.get().name}"; println "version: $version"; println "target: $typescript.compilerOptions.target"; println "module: $typescript.compilerOptions.module"; println "symbols: $symbols"; } } artifacts { "default" (npm.packageDir) { builtBy npmAssemblePackage } }