From dddde83862530a0e3a58702aad1c5f5663b3a45a Mon Sep 17 00:00:00 2001
From: Griefed <griefed@griefed.de>
Date: Thu, 13 Feb 2025 21:28:56 +0100
Subject: [PATCH] build: Update siouan-frontend-gradle-plugin and NodeJS
 version, fix building on macOS

---
 .gitignore                                    |  1 +
 ...rpackcreator.quasar-conventions.gradle.kts | 23 +++++++++----------
 libs.versions.toml                            |  2 +-
 3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/.gitignore b/.gitignore
index 996ec038d..ac8c06a4f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -371,6 +371,7 @@ serverpackcreator-web-frontend/.quasar/
 serverpackcreator-web-frontend/dist/
 serverpackcreator-web-frontend/node_modules/
 serverpackcreator-web-frontend/node/
+serverpackcreator-web-frontend/.frontend-gradle-plugin
 serverpackcreator-app/serverpackcreator.db
 docker-compose-dev.yml
 
diff --git a/buildSrc/src/main/kotlin/serverpackcreator.quasar-conventions.gradle.kts b/buildSrc/src/main/kotlin/serverpackcreator.quasar-conventions.gradle.kts
index 5fea080b6..e52e5b716 100644
--- a/buildSrc/src/main/kotlin/serverpackcreator.quasar-conventions.gradle.kts
+++ b/buildSrc/src/main/kotlin/serverpackcreator.quasar-conventions.gradle.kts
@@ -1,4 +1,4 @@
-import org.siouan.frontendgradleplugin.infrastructure.gradle.RunNpm
+import org.siouan.frontendgradleplugin.infrastructure.gradle.RunNpmTaskType
 
 plugins {
     id("org.siouan.frontend-jdk21")
@@ -11,27 +11,26 @@ repositories {
 frontend {
     packageJsonDirectory.set(project.layout.projectDirectory.asFile)
 
-    nodeVersion.set("18.20.2")
+    nodeVersion.set("20.18.3")
     nodeInstallDirectory.set(project.layout.projectDirectory.dir("node"))
 
-    cleanScript.set("run clean")
     assembleScript.set("run build")
 
     // Print the architecture we are running on.
     println(String.format("I am running on: %s", System.getProperty("os.arch")))
 
-    // If we are running on arm, specify Node path pattern so arm-builds succeed.
-    if (System.getProperty("os.arch").equals("arm")) {
-        nodeDistributionUrlPathPattern.set("vVERSION/node-vVERSION-linux-armv7l.TYPE")
-    } else if (System.getProperty("os.arch").equals("aarch64")) {
-        nodeDistributionUrlPathPattern.set("vVERSION/node-vVERSION-linux-arm64.TYPE")
-    }
-
     verboseModeEnabled.set(true)
 }
 
-tasks.register("installQuasar", RunNpm::class) {
-    script.set("install -g @quasar/cli")
+tasks.register("installQuasar", RunNpmTaskType::class) {
+    dependsOn("installCorepackLatest")
+    args.set("install -g @quasar/cli")
+}
+
+//Temporary intermediate task to prevent https://github.com/nodejs/corepack/issues/612#issuecomment-2631491212
+//TODO Remove once the error, which caused this task to exist in the first place, is fixed in NodeJS/Corepack
+tasks.register("installCorepackLatest", RunNpmTaskType::class) {
+    args.set("install --global corepack@latest")
 }
 
 tasks.getByName("installNode").finalizedBy(
diff --git a/libs.versions.toml b/libs.versions.toml
index 4f216a14e..31ad73af4 100644
--- a/libs.versions.toml
+++ b/libs.versions.toml
@@ -22,7 +22,7 @@ dokka = "1.9.20"
 licenseReport = "2.9"
 
 # https://plugins.gradle.org/plugin/org.siouan.frontend-jdk11
-frontendPlugin = "8.1.0"
+frontendPlugin = "10.0.0"
 
 # https://plugins.gradle.org/plugin/com.install4j.gradle
 install4j = "11.0.0.1"
-- 
GitLab