diff --git a/build.gradle b/build.gradle --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id "org.implab.gradle-typescript" version "1.0.1-rc2" + id "org.implab.gradle-typescript" version "1.0.1-rc3" } // если версия явно не заданы вычисляем ее из тэга ревизии v.{num}*** @@ -7,6 +7,10 @@ plugins { // текущей ревизии до ревизии с тэгом def tagDistance = 0; +ext { + packageName = "@$npmScope/$name" +} + if (!version) { def rev = ["hg", "log", "-r", ".", "--template", "{latesttag('re:^v') % '{tag}-{distance}'}"].execute().text.trim(); @@ -34,10 +38,6 @@ if (hasProperty('versionSuffix') && vers version += "-$versionSuffix" } -ext { - packageName = "@$npmScope/$npmName" -} - sources { amd { typings { @@ -110,6 +110,9 @@ npmPackMeta { configureTsCjs { dependsOn sources.main.output + compilerOptions { + types += [ "node" ] + } } configureTsAmd { @@ -124,9 +127,32 @@ test { commandLine "node", "tests/index.js" } +task assembleAmd { + dependsOn sources.amd.output + assemble.mustRunAfter it + + doLast { + assemble { + from(sources.amd.output.compiledDir) + } + } +} + +task assembleCjs { + dependsOn sources.cjs.output + assemble.mustRunAfter it + + doLast { + assemble { + from(sources.cjs.output.compiledDir) + } + } +} + task assembleTestAmd { dependsOn sources.amd.output dependsOn sources.testAmd.output + assembleTest.mustRunAfter it doLast { assembleTest { @@ -136,15 +162,22 @@ task assembleTestAmd { } } -assembleTest { - mustRunAfter assembleTestAmd - dependsOn sources.main.output - from(sources.main.output.compiledDir) +task assembleTestCjs { + dependsOn sources.cjs.output + dependsOn sources.testCjs.output + assembleTest.mustRunAfter it + + doLast { + assembleTest { + from(sources.cjs.output.compiledDir) + from(sources.testCjs.output.compiledDir) + } + } } - +task prepareTargetEs5 { + prepare.mustRunAfter it -task prepareTargetEs5 { doLast { typescript { compilerOptions { @@ -156,11 +189,13 @@ task prepareTargetEs5 { } task prepareTargetEsNext { + prepare.mustRunAfter it + doLast { typescript { compilerOptions { - target = "esnext" - lib = ["esnext", "dom", "scripthost"] + target = "es2017" + lib = ["es2017", "dom", "scripthost"] } } } @@ -168,10 +203,11 @@ task prepareTargetEsNext { task prepareNode { dependsOn prepareTargetEsNext + prepare.mustRunAfter it + doLast { typescript { compilerOptions { - target = "esnext" module = "commonjs" } } @@ -180,15 +216,31 @@ task prepareNode { task prepareBrowser { dependsOn prepareTargetEs5 + prepare.mustRunAfter it + doLast { + packageName = "@$npmScope/$project.name-amd" + typescript { compilerOptions { - module = "requirejs" + module = "amd" } } } } -prepare { - mustRunAfter prepareNode, prepareBrowser +task assembleBrowser { + dependsOn prepareBrowser, assembleAmd, assemble +} + +task assembleNode { + dependsOn prepareNode, assembleCjs, assemble +} + +task testBrowser { + dependsOn prepareBrowser, assembleTestAmd, test +} + +task testNode { + dependsOn prepareNode, assembleTestCjs, test } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties --- a/gradle.properties +++ b/gradle.properties @@ -3,5 +3,4 @@ author=Implab team description=Dependency injection, logging, simple and fast text template engine license=BSD-2-Clause repository=https://bitbucket.org/implab/implabjs-core -npmScope=implab -npmName=core-amd \ No newline at end of file +npmScope=implab \ No newline at end of file diff --git a/package.json b/package.json --- a/package.json +++ b/package.json @@ -30,6 +30,5 @@ "typescript": "~3.6.4", "eslint": "6.1.0", "tslint": "5.18.0" - }, - "types": "main.d.ts" + } } diff --git a/src/amd/tsconfig.json b/src/amd/tsconfig.json --- a/src/amd/tsconfig.json +++ b/src/amd/tsconfig.json @@ -2,15 +2,13 @@ "extends": "../tsconfig", "compilerOptions": { "types": [ - "requirejs" + "requirejs", + "dojo-typings" ], "rootDir": "ts", "rootDirs": [ "ts", - "../typings/main" + "../main/ts" ] - }, - "include": [ - "ts/**/*.ts" - ] + } } \ No newline at end of file diff --git a/src/testCjs/ts/plan.ts b/src/testCjs/ts/plan.ts deleted file mode 100644 --- a/src/testCjs/ts/plan.ts +++ /dev/null @@ -1,7 +0,0 @@ -import "./ActivatableTests"; -import "./TraceSourceTests"; -import "./CancellationTests"; -import "./ObservableTests"; -import "./ContainerTests"; -import "./SafeTests"; -import "./TextTests"; diff --git a/src/testCjs/ts/run-tests.ts b/src/testCjs/ts/run-tests.ts deleted file mode 100644 --- a/src/testCjs/ts/run-tests.ts +++ /dev/null @@ -1,1 +0,0 @@ -import "./plan"; diff --git a/src/testCjs/ts/tests/index.ts b/src/testCjs/ts/tests/index.ts new file mode 100644 --- /dev/null +++ b/src/testCjs/ts/tests/index.ts @@ -0,0 +1,1 @@ +import "./plan"; diff --git a/src/testCjs/ts/tests/plan.ts b/src/testCjs/ts/tests/plan.ts new file mode 100644 --- /dev/null +++ b/src/testCjs/ts/tests/plan.ts @@ -0,0 +1,7 @@ +import "./ActivatableTests"; +import "./TraceSourceTests"; +import "./CancellationTests"; +import "./ObservableTests"; +import "./ContainerTests"; +import "./SafeTests"; +import "./TextTests"; diff --git a/src/tsconfig.json b/src/tsconfig.json --- a/src/tsconfig.json +++ b/src/tsconfig.json @@ -4,6 +4,6 @@ "noEmitOnError": true, "listFiles": true, "types": [], - "lib": ["es5", "es2015.promise", "es2015.symbol", "dom", "scripthost"] + "lib": ["es5", "es2015.promise", "es2015.symbol", "es2015.iterable", "dom", "scripthost"] } } \ No newline at end of file