|
15 | 15 | * If not, see <https://www.gnu.org/licenses/>. |
16 | 16 | */ |
17 | 17 |
|
18 | | -import org.gradle.api.Project |
19 | | -import org.gradle.kotlin.dsl.the |
20 | | -import org.gradle.kotlin.dsl.withType |
21 | 18 | import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl |
22 | | -import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinWasmJsTargetDsl |
23 | | -import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension |
24 | 19 |
|
25 | 20 |
|
26 | | -inline fun KotlinJsTargetDsl.configJs( |
27 | | - nodeJs: Boolean = true, |
28 | | - browser: Boolean = true, |
29 | | - block: () -> Unit = {} |
30 | | -) { |
31 | | - if (nodeJs) { |
32 | | - nodejs() |
33 | | -// { |
34 | | -//// testTask { |
35 | | -//// useMocha { |
36 | | -//// timeout = "10000" |
37 | | -//// } |
38 | | -//// } |
39 | | -// } |
40 | | - } |
41 | | - |
42 | | - if (browser) { |
43 | | - browser() |
44 | | -// { |
45 | | -// testTask{ |
46 | | -// useKarma { |
47 | | -// useChromeHeadless() |
48 | | -// // useConfigDirectory(File(project.rootProject.projectDir, "karma")) |
49 | | -// } |
50 | | -// } |
51 | | -// } |
52 | | - } |
53 | | - |
54 | | - binaries.library() |
55 | | - block() |
56 | | -} |
57 | | - |
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 | | -inline fun KotlinWasmJsTargetDsl.configWasmJs( |
71 | | - nodeJs: Boolean = true, |
72 | | - browser: Boolean = true, |
73 | | - block: () -> Unit = {} |
74 | | -) { |
75 | | - if (nodeJs && isLinux) { |
76 | | - // win in candy node `21.0.0-v8-canary202309143a48826a08` is not supported |
77 | | - // nodejs() |
78 | | - } |
79 | | - |
80 | | - if (browser) { |
81 | | - browser { |
82 | | - testTask{ |
83 | | - useKarma { |
84 | | - useChromeHeadless() |
85 | | - // useConfigDirectory(File(project.rootProject.projectDir, "karma")) |
86 | | - } |
87 | | - } |
88 | | - } |
89 | | - } |
90 | | - |
| 21 | +fun KotlinJsTargetDsl.configJs() { |
| 22 | + nodejs() |
91 | 23 | binaries.library() |
92 | | - block() |
93 | 24 | } |
94 | 25 |
|
95 | | -inline fun Project.configWasmJsTest(block: () -> Unit = {}) { |
96 | | - if (false) { |
97 | | - // 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 |
98 | | - rootProject.the<NodeJsRootExtension>().apply { |
99 | | - // nodeVersion = "21.0.0-v8-canary202309143a48826a08" |
100 | | - version = "21.0.0-v8-canary202309143a48826a08" |
101 | | - downloadBaseUrl = "https://nodejs.org/download/v8-canary" |
102 | | - } |
103 | | - |
104 | | - tasks.withType<org.jetbrains.kotlin.gradle.targets.js.npm.tasks.KotlinNpmInstallTask>().configureEach { |
105 | | - args.add("--ignore-engines") |
106 | | - } |
107 | | - } |
108 | 26 |
|
109 | | - block() |
110 | | -} |
0 commit comments