// app:入口与自检驱动(Node 下跑 golden 解码,浏览器下启动客户端) plugins { kotlin("multiplatform") } kotlin { js(IR) { browser() nodejs() binaries.executable() } sourceSets { val jsMain by getting { dependencies { implementation(project(":core")) implementation(project(":net")) implementation(project(":state")) // 自动测试用 ws 客户端:需要自定义 User-Agent(真实服务器会拒绝 Node 默认 UA) implementation(npm("ws", "8.18.0")) // UI:Kotlin/React(与原客户端同栈;kotlin-wrappers 会带入 react / react-dom npm 依赖) implementation("org.jetbrains.kotlin-wrappers:kotlin-react:2025.5.0-19.1.0") implementation("org.jetbrains.kotlin-wrappers:kotlin-react-dom:2025.5.0-19.1.0") implementation("org.jetbrains.kotlin-wrappers:kotlin-emotion:2025.3.26") } } } }