|
21 | 21 | *
|
22 | 22 | */
|
23 | 23 |
|
24 |
| -import org.gradle.api.Project |
| 24 | +import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsNodeDsl |
25 | 25 | import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
|
26 | 26 | import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinWasmJsTargetDsl
|
27 | 27 |
|
28 | 28 |
|
29 | 29 | inline fun KotlinJsTargetDsl.configJs(
|
30 |
| - nodeJs: Boolean = true, |
31 |
| - browser: Boolean = true, |
| 30 | + crossinline nodejs: KotlinJsNodeDsl.() -> Unit = {}, |
32 | 31 | block: () -> Unit = {}
|
33 | 32 | ) {
|
34 |
| - if (nodeJs) { |
35 |
| - nodejs { |
36 |
| - testTask { |
37 |
| - useMocha { |
38 |
| - timeout = "50000" |
39 |
| - } |
40 |
| - } |
41 |
| - } |
42 |
| - } |
43 |
| - |
44 |
| - if (browser) { |
45 |
| - browser { |
46 |
| - testTask { |
47 |
| - useKarma { |
48 |
| - useChromeHeadless() |
49 |
| - } |
| 33 | + nodejs { |
| 34 | + testTask { |
| 35 | + useMocha { |
| 36 | + timeout = "30s" |
50 | 37 | }
|
51 | 38 | }
|
| 39 | + nodejs() |
52 | 40 | }
|
53 | 41 |
|
54 | 42 | binaries.library()
|
55 | 43 | block()
|
56 | 44 | }
|
57 | 45 |
|
58 |
| - |
59 |
| -fun Project.configJsTestTasks() { |
60 |
| - // val shouldRunJsBrowserTest = !hasProperty("teamcity") || hasProperty("enable-js-tests") |
61 |
| - // if (shouldRunJsBrowserTest) return |
62 |
| - tasks.findByName("cleanJsBrowserTest")?.apply { |
63 |
| - onlyIf { false } |
64 |
| - } |
65 |
| - tasks.findByName("jsBrowserTest")?.apply { |
66 |
| - onlyIf { false } |
67 |
| - } |
68 |
| -} |
69 |
| - |
70 | 46 | inline fun KotlinWasmJsTargetDsl.configWasmJs(
|
71 |
| - nodeJs: Boolean = true, |
72 |
| - browser: Boolean = true, |
| 47 | + crossinline nodejs: KotlinJsNodeDsl.() -> Unit = {}, |
73 | 48 | block: () -> Unit = {}
|
74 | 49 | ) {
|
75 |
| - if (nodeJs) { |
76 |
| - nodejs { |
77 |
| - testTask { |
78 |
| - useMocha { |
79 |
| - timeout = "50000" |
80 |
| - } |
81 |
| - } |
82 |
| - } |
83 |
| - } |
84 |
| - // if (nodeJs && isLinux) { |
85 |
| - // // win in candy node `21.0.0-v8-canary202309143a48826a08` is not supported |
86 |
| - // nodejs() |
87 |
| - // } |
88 |
| - |
89 |
| - if (browser) { |
90 |
| - browser { |
91 |
| - testTask { |
92 |
| - useKarma { |
93 |
| - useChromeHeadless() |
94 |
| - } |
| 50 | + nodejs { |
| 51 | + testTask { |
| 52 | + useMocha { |
| 53 | + timeout = "30s" |
95 | 54 | }
|
96 | 55 | }
|
| 56 | + nodejs() |
97 | 57 | }
|
98 | 58 |
|
99 | 59 | binaries.library()
|
100 | 60 | block()
|
101 | 61 | }
|
102 |
| - |
103 |
| -inline fun Project.configWasmJsTest(block: () -> Unit = {}) { |
104 |
| - // if (false) { |
105 |
| - // // see https://youtrack.jetbrains.com/issue/KT-63014/Running-tests-with-wasmJs-in-1.9.20-requires-Chrome-Canary#focus=Comments-27-8321383.0-0 |
106 |
| - // rootProject.the<NodeJsRootExtension>().apply { |
107 |
| - // // nodeVersion = "21.0.0-v8-canary202309143a48826a08" |
108 |
| - // version = "21.0.0-v8-canary202309143a48826a08" |
109 |
| - // downloadBaseUrl = "https://nodejs.org/download/v8-canary" |
110 |
| - // } |
111 |
| - // |
112 |
| - // tasks.withType<org.jetbrains.kotlin.gradle.targets.js.npm.tasks.KotlinNpmInstallTask>().configureEach { |
113 |
| - // args.add("--ignore-engines") |
114 |
| - // } |
115 |
| - // } |
116 |
| - |
117 |
| - block() |
118 |
| -} |
0 commit comments