Make devtool consistent with environment
authorTheSaminator <TheSaminator@users.noreply.github.com>
Wed, 1 Jun 2022 16:19:14 +0000 (12:19 -0400)
committerTheSaminator <TheSaminator@users.noreply.github.com>
Wed, 1 Jun 2022 16:19:14 +0000 (12:19 -0400)
build.gradle.kts
webpack.config.d/remove_devtool.js [deleted file]

index 265eda09653754f22f7d496b7710b1d331bce409..bb1ab0d79b1ef9d5ffe1033704c8c693ffb4f484 100644 (file)
@@ -1,6 +1,8 @@
 import com.nixxcode.jvmbrotli.common.BrotliLoader
 import com.nixxcode.jvmbrotli.enc.BrotliOutputStream
 import com.nixxcode.jvmbrotli.enc.Encoder
+import groovy.json.JsonSlurper
+import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
 import java.security.MessageDigest
 import java.util.*
 import java.util.concurrent.CountDownLatch
@@ -31,7 +33,15 @@ plugins {
 }
 
 group = "io.github.thesaminator"
-version = "1.0-SNAPSHOT"
+version = "1.0"
+
+val isDevEnv: Boolean by extra {
+       val configFile = file("config.json")
+       if (!configFile.isFile)
+               true
+       else
+               ((JsonSlurper().parse(configFile) as Map<*, *>)["isDevEnv"] as? Boolean) ?: true
+}
 
 repositories {
        mavenCentral()
@@ -47,7 +57,17 @@ kotlin {
        }
        js(IR) {
                binaries.executable()
-               browser()
+               browser {
+                       commonWebpackConfig {
+                               if (isDevEnv) {
+                                       mode = KotlinWebpackConfig.Mode.DEVELOPMENT
+                                       devtool = "source-map"
+                               } else {
+                                       mode = KotlinWebpackConfig.Mode.PRODUCTION
+                                       devtool = null
+                               }
+                       }
+               }
        }
        sourceSets {
                all {
@@ -116,6 +136,8 @@ tasks.named<Copy>("jvmProcessResources") {
        val jsBrowserDistribution = tasks.named("jsBrowserDistribution")
        from(jsBrowserDistribution) {
                into("/static/game")
+               if (!isDevEnv)
+                       exclude("starship-fights.js.map")
        }
        
        doLast {
diff --git a/webpack.config.d/remove_devtool.js b/webpack.config.d/remove_devtool.js
deleted file mode 100644 (file)
index 02436fa..0000000
+++ /dev/null
@@ -1 +0,0 @@
-;config.devtool = undefined;