plugins { kotlin("multiplatform") id("kotlin-cloudflare-worker") version "1.0.4" } kotlin { explicitApi() js(IR) { nodejs { binaries.executable() } } sourceSets { jsMain.dependencies { implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2") } commonTest.dependencies { implementation(kotlin("test")) } } } wrangler { wranglerFile = file("wrangler.toml") } //val wranglerRunDir: Provider = layout.buildDirectory.dir("wrangler-run") //tasks.register("prepareWranglerRun") { // group = "wrangler" // dependsOn("compileDevelopmentExecutableKotlinJs") // val buildOutputDir = layout.buildDirectory.dir("compileSync/js/main/developmentExecutable/kotlin") // from(buildOutputDir) // into(wranglerRunDir) //} // //val wranglerDev by tasks.registering(Exec::class) { // group = "wrangler" // workingDir = layout.buildDirectory.dir("wrangler-run").get().asFile.apply { mkdirs() } // doFirst { // val sourceDir = project.layout.projectDirectory // mapOf( // sourceDir.file("wrangler.toml").asFile to File(workingDir, "wrangler.toml"), // sourceDir.file(".dev.vars").asFile to File(workingDir, ".dev.vars"), // ).forEach { (s, d) -> s.copyTo(d, overwrite = true) } // } // commandLine( // if (System.getProperty("os.name").lowercase().contains("windows")) listOf( // "cmd", "/c", "wrangler dev --port 7071" // ) // else listOf("sh", "-c", "wrangler dev --port 7071") // ) // standardInput = System.`in` // isIgnoreExitValue = false //} // //val wranglerDeployDir: Provider = layout.buildDirectory.dir("wrangler-deploy") // .apply { get().asFile.deleteRecursively() } //val prepareProductionDeploy by tasks.registering(Copy::class) { // group = "wrangler" // dependsOn("compileProductionExecutableKotlinJs") // val buildOutputDir = layout.buildDirectory.dir("compileSync/js/main/productionExecutable/kotlin") // from(buildOutputDir) { exclude("*.map") } // into(wranglerDeployDir) // from(layout.projectDirectory.file("wrangler.toml")) // into(wranglerDeployDir) //} // //val wranglerDeploy by tasks.registering(Exec::class) { // group = "wrangler" // dependsOn(prepareProductionDeploy) // workingDir = layout.buildDirectory.dir("wrangler-deploy").get().asFile.apply { mkdirs() } // commandLine( // if (System.getProperty("os.name").lowercase().contains("windows")) listOf("cmd", "/c", "wrangler deploy") // else listOf("sh", "-c", "wrangler deploy") // ) // standardInput = System.`in` //}