|
|
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"]
|
|
|
}
|
|
|
}
|
|
|
|
|
|
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
|
|
|
}
|
|
|
}
|