Skip to content

Commit

Permalink
Add wasmJs target
Browse files Browse the repository at this point in the history
  • Loading branch information
ajalt committed Feb 29, 2024
1 parent aa54cce commit 7667dab
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 6 deletions.
21 changes: 19 additions & 2 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ import org.jetbrains.configureBintrayPublicationIfNecessary
import org.jetbrains.configureSonatypePublicationIfNecessary
import org.jetbrains.dokka.gradle.DokkaTask
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin.Companion.kotlinNodeJsExtension
import org.jetbrains.kotlin.gradle.targets.js.npm.tasks.KotlinNpmInstallTask
import org.jetbrains.registerPublicationFromKotlinPlugin
import org.jetbrains.signPublicationsIfNecessary
import java.io.ByteArrayOutputStream
Expand Down Expand Up @@ -56,6 +60,8 @@ kotlin {
js(IR) {
nodejs()
}
@OptIn(ExperimentalWasmDsl::class)
wasmJs { nodejs() }
linuxX64()
mingwX64()
macosX64()
Expand Down Expand Up @@ -100,7 +106,8 @@ kotlin {
"ios",
"iosSimulatorArm64",
"watchosSimulatorArm64",
"tvosSimulatorArm64"
"tvosSimulatorArm64",
"wasmJs",
).map { "${it}Main" }
for (set in nativeSourceSets) {
named(set) {
Expand All @@ -111,7 +118,7 @@ kotlin {
"linuxX64",
"mingwX64",
"macosX64",
"macosArm64"
"macosArm64",
).map { "${it}Test" }
for (set in nativeTestSourceSets) {
named(set) {
Expand All @@ -122,6 +129,15 @@ kotlin {
}
}

// Need to compile using a canary version of Node due to
// https://youtrack.jetbrains.com/issue/KT-63014
rootProject.the<NodeJsRootExtension>().apply {
nodeVersion = "21.0.0-v8-canary2023091837d0630120"
nodeDownloadBaseUrl = "https://nodejs.org/download/v8-canary"
}
tasks.withType<KotlinNpmInstallTask>().configureEach {
args.add("--ignore-engines")
}

tasks {
register<Test>("performanceTest") {
Expand Down Expand Up @@ -214,6 +230,7 @@ val publicationsToArtifacts = mapOf(
"kotlinMultiplatform" to "markdown",
"jvm" to "markdown-jvm",
"js" to "markdown-js",
"wasmJs" to "markdown-wasm-js",
"linuxX64" to "markdown-linuxx64",
"mingwX64" to "markdown-mingwx64",
"macosX64" to "markdown-macosx64",
Expand Down
2 changes: 1 addition & 1 deletion settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ include(":docs")

pluginManagement {
plugins {
kotlin("multiplatform") version "1.9.0" apply false
kotlin("multiplatform") version "1.9.22" apply false
id("org.jetbrains.dokka") version "1.8.20" apply false
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ actual fun isWhitespace(char: Char): Boolean {
return char == 0.toChar() || char.isWhitespace()
}

@SharedImmutable
private val PUNCT_REGEX = Regex("[!\"#$%&'()*+,\\-./:;<=>?@\\[\\\\\\]^_`{|}~\\u00A1\\u00A7\\u00AB\\u00B6\\u00B7\\u00BB\\u00BF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0AF0\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E3B\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]")

actual fun isPunctuation(char: Char): Boolean {
Expand Down
2 changes: 0 additions & 2 deletions src/nativeMain/kotlin/org/intellij/markdown/html/Url.kt
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,8 @@ private const val STATE_CANNOT_BE_BASE_URL_PATH = 18
private const val STATE_QUERY = 19
private const val STATE_FRAGMENT = 20

@SharedImmutable
private val SPECIAL_SCHEMES = arrayOf("ftp", "file", "http", "https", "ws", "wss")

@SharedImmutable
private val DEFAULT_PORTS = mapOf(
"ftp" to 21,
"file" to null,
Expand Down

0 comments on commit 7667dab

Please sign in to comment.