diff --git a/gradle/templates/template-lib/build.gradle.kts b/gradle/templates/template-lib/build.gradle.kts index 2580a74..af4e7dc 100644 --- a/gradle/templates/template-lib/build.gradle.kts +++ b/gradle/templates/template-lib/build.gradle.kts @@ -1,8 +1,11 @@ +import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl + plugins { alias(opensavvyConventions.plugins.base) alias(opensavvyConventions.plugins.kotlin.library) } +@OptIn(ExperimentalWasmDsl::class) kotlin { jvm() js { @@ -13,6 +16,10 @@ kotlin { iosArm64() iosSimulatorArm64() iosX64() + wasmJs { + browser() + nodejs() + } sourceSets.commonTest.dependencies { implementation(opensavvyConventions.aligned.kotlin.test) -- 2.51.2 From e289497b5b459c762d9d964e7a410eb1550bb505 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20=E2=80=9CCLOVIS=E2=80=9D=20Canet?= Date: Wed, 19 Jun 2024 20:54:18 +0200 Subject: [PATCH 2/7] ci(gitlab): Execute the WASM-JS targets on the correct runners --- .gitlab-ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 09dc716..29764e8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -69,6 +69,8 @@ check[jvm]: :koverHtmlReport -x jsBrowserTest -x jsNodeTest + -x wasmJsBrowserTest + -x wasmJsNodeTest -x linuxX64Test -x iosSimulatorArm64Test koverVerify --rerun @@ -91,7 +93,7 @@ check[jsBrowser]: script: - > - ./gradlew jsBrowserTest + ./gradlew jsBrowserTest wasmJsBrowserTest -PappVersion=$project_version interruptible: true @@ -102,7 +104,7 @@ check[nodeJs]: script: - > - ./gradlew jsNodeTest + ./gradlew jsNodeTest wasmJsNodeTest -PappVersion=$project_version interruptible: true -- 2.51.2 From 17b7041827ab2dfbf835b7fbebbe2abba6b246e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20=E2=80=9CCLOVIS=E2=80=9D=20Canet?= Date: Wed, 19 Jun 2024 21:06:55 +0200 Subject: [PATCH 3/7] build: Enable WASM-WASI support in the template --- gradle/templates/template-lib/build.gradle.kts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gradle/templates/template-lib/build.gradle.kts b/gradle/templates/template-lib/build.gradle.kts index af4e7dc..70a15de 100644 --- a/gradle/templates/template-lib/build.gradle.kts +++ b/gradle/templates/template-lib/build.gradle.kts @@ -20,6 +20,9 @@ kotlin { browser() nodejs() } + wasmWasi { + nodejs() + } sourceSets.commonTest.dependencies { implementation(opensavvyConventions.aligned.kotlin.test) -- 2.51.2 From 9f4ba866461da66f0b37cd72ccf3e77da31345a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20=E2=80=9CCLOVIS=E2=80=9D=20Canet?= Date: Wed, 19 Jun 2024 21:08:03 +0200 Subject: [PATCH 4/7] ci(gitlab): Execute the WASM-WASI targets on the correct runners --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 29764e8..d50cc7b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -71,6 +71,7 @@ check[jvm]: -x jsNodeTest -x wasmJsBrowserTest -x wasmJsNodeTest + -x wasmWasiNodeTest -x linuxX64Test -x iosSimulatorArm64Test koverVerify --rerun @@ -104,7 +105,7 @@ check[nodeJs]: script: - > - ./gradlew jsNodeTest wasmJsNodeTest + ./gradlew jsNodeTest wasmJsNodeTest wasmWasiNodeTest -PappVersion=$project_version interruptible: true -- 2.51.2 From 39372a590c696ce921169f6b0753fea446a30934 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20=E2=80=9CCLOVIS=E2=80=9D=20Canet?= Date: Sun, 23 Jun 2024 15:13:18 +0200 Subject: [PATCH 5/7] upgrade: Gradle Conventions 1.5.1 See https://gitlab.com/opensavvy/automation/gradle-conventions/-/releases/1.5.1 --- gradle/conventions/settings.gradle.kts | 2 +- settings.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/conventions/settings.gradle.kts b/gradle/conventions/settings.gradle.kts index efb5c89..82be35f 100644 --- a/gradle/conventions/settings.gradle.kts +++ b/gradle/conventions/settings.gradle.kts @@ -43,7 +43,7 @@ pluginManagement { } plugins { - id("dev.opensavvy.conventions.settings") version "1.5.0" + id("dev.opensavvy.conventions.settings") version "1.5.1" } enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") diff --git a/settings.gradle.kts b/settings.gradle.kts index 59921c0..4b2d725 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -47,7 +47,7 @@ pluginManagement { } plugins { - id("dev.opensavvy.conventions.settings") version "1.5.0" + id("dev.opensavvy.conventions.settings") version "1.5.1" } include( -- 2.51.2 From 3d816aa97f351e38eafad4aa709457c85364fff9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20=E2=80=9CCLOVIS=E2=80=9D=20Canet?= Date: Sun, 23 Jun 2024 16:05:10 +0200 Subject: [PATCH 6/7] upgrade: CI Containers 0.4.4 See https://gitlab.com/opensavvy/automation/containers/-/releases --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 41ef19d..329f582 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,7 +12,7 @@ include: variables: # https://gitlab.com/opensavvy/automation/containers - ci_containers: 0.4.1 + ci_containers: 0.4.4 workflow: rules: -- 2.51.2 From a99e97f522561252ad5c75b043acafc7d165ccac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20=E2=80=9CCLOVIS=E2=80=9D=20Canet?= Date: Wed, 17 Jul 2024 15:22:22 +0200 Subject: [PATCH 7/7] test: Remove the 'tailwind' example TailwindCSS' dependencies, in particular autoprefixer, break all the time, taking too much maintenance time for a project that should be more or less done. --- .gitlab-ci.yml | 19 ------------- examples/tailwind/README.md | 3 --- examples/tailwind/build.gradle.kts | 27 ------------------- examples/tailwind/settings.gradle.kts | 1 - examples/tailwind/src/jsMain/kotlin/Main.kt | 17 ------------ .../tailwind/src/jsMain/resources/index.html | 14 ---------- .../src/jsMain/resources/postcss.config.cjs | 6 ----- .../tailwind/src/jsMain/resources/style.css | 3 --- .../src/jsMain/resources/tailwind.config.cjs | 14 ---------- 9 files changed, 104 deletions(-) delete mode 100644 examples/tailwind/README.md delete mode 100644 examples/tailwind/build.gradle.kts delete mode 100644 examples/tailwind/settings.gradle.kts delete mode 100644 examples/tailwind/src/jsMain/kotlin/Main.kt delete mode 100644 examples/tailwind/src/jsMain/resources/index.html delete mode 100644 examples/tailwind/src/jsMain/resources/postcss.config.cjs delete mode 100644 examples/tailwind/src/jsMain/resources/style.css delete mode 100644 examples/tailwind/src/jsMain/resources/tailwind.config.cjs diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e552ec8..afa8baa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -210,25 +210,6 @@ example:multi-project: url: $URL deployment_tier: development -example:tailwind: - extends: [ .example ] - variables: - example: tailwind - - after_script: - - mv examples/tailwind/build/vite/dist kotlin-tailwind - - PREFIX="$CI_PROJECT_ROOT_NAMESPACE/" - - echo "URL=https://$CI_PROJECT_ROOT_NAMESPACE.$CI_PAGES_DOMAIN/-/${CI_PROJECT_PATH//$PREFIX}/-/jobs/$CI_JOB_ID/artifacts/kotlin-tailwind/index.html" >>deploy.env - - artifacts: - paths: - - kotlin-tailwind - expose_as: Tailwind example - environment: - name: review/$CI_COMMIT_REF_SLUG/example-tailwind - url: $URL - deployment_tier: development - # endregion # region Publishing diff --git a/examples/tailwind/README.md b/examples/tailwind/README.md deleted file mode 100644 index b136832..0000000 --- a/examples/tailwind/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Tailwind example - -Example of a build with a single Kotlin/JS project using TailwindCSS. diff --git a/examples/tailwind/build.gradle.kts b/examples/tailwind/build.gradle.kts deleted file mode 100644 index 890151c..0000000 --- a/examples/tailwind/build.gradle.kts +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - kotlin("multiplatform") version "1.9.10" - - // List of releases: https://gitlab.com/opensavvy/kotlin-vite/-/releases - id("dev.opensavvy.vite.kotlin") // version "REPLACE THIS" -} - -repositories { - mavenCentral() -} - -kotlin { - js(IR) { - browser() - binaries.executable() - } - - sourceSets { - val jsMain by getting { - dependencies { - implementation(devNpm("tailwindcss", "3.4.3")) - implementation(devNpm("postcss", "8.4.38")) - implementation(devNpm("autoprefixer", "10.4.19")) - } - } - } -} diff --git a/examples/tailwind/settings.gradle.kts b/examples/tailwind/settings.gradle.kts deleted file mode 100644 index a71b367..0000000 --- a/examples/tailwind/settings.gradle.kts +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = "example-tailwind" diff --git a/examples/tailwind/src/jsMain/kotlin/Main.kt b/examples/tailwind/src/jsMain/kotlin/Main.kt deleted file mode 100644 index 92713b8..0000000 --- a/examples/tailwind/src/jsMain/kotlin/Main.kt +++ /dev/null @@ -1,17 +0,0 @@ -package opensavvy.gradle.vite.kotlin.example.tailwind - -import kotlinx.browser.document -import kotlinx.browser.window -import kotlin.js.Date - -fun main() { - println("Hello world!") - createOrModifyDiv("Hello from Tailwind !") -} - -private fun createOrModifyDiv(content: String){ - val div = document.querySelector("div") - ?: document.createElement("div").also { document.body?.appendChild(it) } - div.innerHTML = content - div.className = "w-48 flex justify-center items-center m-2 p-3 text-gray-200 rounded-xl bg-indigo-600 hover:bg-indigo-800 hover:cursor-not-allowed select-none transition-colors ease-in-out" -} diff --git a/examples/tailwind/src/jsMain/resources/index.html b/examples/tailwind/src/jsMain/resources/index.html deleted file mode 100644 index 1d80f00..0000000 --- a/examples/tailwind/src/jsMain/resources/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - Vite & Tailwind for Kotlin - - - - -
- - - - diff --git a/examples/tailwind/src/jsMain/resources/postcss.config.cjs b/examples/tailwind/src/jsMain/resources/postcss.config.cjs deleted file mode 100644 index 1b69d43..0000000 --- a/examples/tailwind/src/jsMain/resources/postcss.config.cjs +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -} diff --git a/examples/tailwind/src/jsMain/resources/style.css b/examples/tailwind/src/jsMain/resources/style.css deleted file mode 100644 index b5c61c9..0000000 --- a/examples/tailwind/src/jsMain/resources/style.css +++ /dev/null @@ -1,3 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; diff --git a/examples/tailwind/src/jsMain/resources/tailwind.config.cjs b/examples/tailwind/src/jsMain/resources/tailwind.config.cjs deleted file mode 100644 index b43b5ba..0000000 --- a/examples/tailwind/src/jsMain/resources/tailwind.config.cjs +++ /dev/null @@ -1,14 +0,0 @@ - -module.exports = { - darkMode: 'class', // use 'media' or 'class' - content: [ - "./**/*.{html,js}", // This is required for our app to work - ], - theme: { - extend: {}, - }, - variants: { - extend: {}, - }, - plugins: [], -}