Skip to content

Commit

Permalink
Support latest kotlin wrapper (#2090)
Browse files Browse the repository at this point in the history
  • Loading branch information
nulls authored Apr 20, 2023
1 parent 1915eff commit 7e97078
Show file tree
Hide file tree
Showing 61 changed files with 191 additions and 140 deletions.
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ okio = "3.3.0"
serialization = "1.5.0"
kotlinx-datetime = "0.4.0"
kotlinx-coroutines = "1.6.4"
kotlin-wrappers = "1.0.0-pre.490"
kotlin-wrappers = "1.0.0-pre.523" # 524 is on IR only
spring-boot = "2.7.10"
spring-cloud = "3.1.6"
spring-cloud-kubernetes = "2.1.6"
Expand Down
10 changes: 0 additions & 10 deletions renovate.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
],
"excludePackagePatterns": [
"^org\\.jetbrains\\.kotlin[.:]",
"^org\\.jetbrains\\.kotlin-wrappers\\:kotlin-wrappers-bom",
"^org\\.neo4j\\:neo4j-ogm-bolt-driver",
"^org\\.neo4j\\:neo4j-ogm-core",
"^org\\.neo4j\\.driver\\:neo4j-java-driver"
Expand Down Expand Up @@ -52,15 +51,6 @@
"groupName": "all non-major dependencies (except core Kotlin)",
"groupSlug": "all-minor-patch"
},
{
"managers": ["gradle"],
"matchPackagePatterns": [
"^org\\.jetbrains\\.kotlin-wrappers\\:kotlin-wrappers-bom"
],
"allowedVersions": "<=1.0.0-pre.490",
"groupName": "all non-major dependencies (except core Kotlin)",
"groupSlug": "all-minor-patch"
},
{
"managers": ["gradle"],
"matchPackagePatterns": [
Expand Down
5 changes: 4 additions & 1 deletion save-cloud-common/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,10 @@ kotlin {
jvmToolchain {
this.languageVersion.set(JavaLanguageVersion.of(Versions.jdk))
}
js(BOTH).browser()
js(BOTH) {
browser()
useCommonJs()
}

// setup native compilation
linuxX64()
Expand Down
3 changes: 3 additions & 0 deletions save-frontend/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ kotlin {
}
}
}
// kotlin-wrapper migrates to commonjs and missed @JsNonModule annotations
// https://github.com/JetBrains/kotlin-wrappers/issues/1935
useCommonJs()
binaries.executable() // already default for LEGACY, but explicitly needed for IR
sourceSets.all {
languageSettings.optIn("kotlin.RequiresOptIn")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import com.saveourtool.save.domain.Role
import com.saveourtool.save.frontend.components.*
import com.saveourtool.save.frontend.components.basic.scrollToTopButton
import com.saveourtool.save.frontend.components.topbar.topBar
import com.saveourtool.save.frontend.components.views.*
import com.saveourtool.save.frontend.externals.modal.ReactModal
import com.saveourtool.save.frontend.http.getUser
import com.saveourtool.save.frontend.routing.basicRouting
Expand All @@ -22,8 +21,7 @@ import csstype.ClassName
import react.*
import react.dom.client.createRoot
import react.dom.html.ReactHTML.div
import react.router.Navigate
import react.router.Route
import react.router.*
import react.router.dom.HashRouter
import web.dom.document
import web.html.HTMLElement
Expand Down Expand Up @@ -166,12 +164,12 @@ inline fun <reified T : Enum<T>> ChildrenBuilder.createRoutersWithPathAndEachLis
routeElement: FC<Props>
) {
enumValues<T>().map { it.name.lowercase() }.forEach { item ->
Route {
PathRoute {
path = "$basePath/$item"
element = routeElement.create()
}
}
Route {
PathRoute {
path = basePath
element = routeElement.create()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ import csstype.ClassName
import js.core.jso
import org.w3c.fetch.Response
import react.*
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.h2
import react.dom.html.ReactHTML.span
import web.html.ButtonType

import kotlinx.browser.window

Expand All @@ -35,7 +35,7 @@ val ringLoader = ringLoader(jso {
* Context to store data about current request such as errors and isLoading flag.
*/
@Suppress("TYPE_ALIAS")
val requestStatusContext: Context<RequestStatusContext> = createContext()
val requestStatusContext: Context<RequestStatusContext?> = createContext()

/**
* Component that displays generic warning about unsuccessful request based on info in [requestStatusContext].
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ import csstype.ClassName
import org.w3c.fetch.Headers
import react.*
import react.dom.aria.ariaLabel
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.h5
import react.dom.html.ReactHTML.option
import react.dom.html.ReactHTML.select
import web.html.ButtonType

import kotlinx.coroutines.await

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ import com.saveourtool.save.frontend.externals.fontawesome.fontAwesomeIcon
import csstype.ClassName
import react.FC
import react.Props
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.input
import react.dom.html.ReactHTML.option
import react.dom.html.ReactHTML.select
import react.useEffect
import react.useState
import web.html.ButtonType
import web.html.InputType

val testExecutionFiltersRow = testExecutionFiltersRow()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ import com.saveourtool.save.utils.getHighestRole

import csstype.ClassName
import react.*
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.option
import react.dom.html.ReactHTML.select
import web.html.ButtonType

import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import com.saveourtool.save.frontend.utils.*
import csstype.ClassName
import react.FC
import react.Props
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.form
Expand All @@ -25,6 +24,7 @@ import react.dom.html.ReactHTML.label
import react.useEffect
import react.useRef
import react.useState
import web.html.ButtonType
import web.html.InputType

import kotlinx.serialization.encodeToString
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ import com.saveourtool.save.testsuite.TestSuiteVersioned

import csstype.ClassName
import react.*
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.input
import react.dom.html.ReactHTML.label
import web.html.ButtonType

val testResourcesSelection = prepareTestResourcesSelection()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ import com.saveourtool.save.validation.isValidName
import csstype.ClassName
import org.w3c.fetch.Response
import react.*
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.form
import web.html.ButtonType

import kotlin.js.json
import kotlinx.datetime.*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import js.core.jso
import org.w3c.fetch.Response
import react.*
import react.dom.aria.AriaRole
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.a
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
Expand All @@ -32,6 +31,7 @@ import react.dom.html.ReactHTML.select
import react.dom.html.ReactHTML.strong
import react.dom.html.ReactHTML.ul
import web.file.File
import web.html.ButtonType
import web.html.InputType

import kotlinx.browser.window
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ import com.saveourtool.save.frontend.utils.*

import csstype.ClassName
import react.*
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.input
import web.html.ButtonType
import web.html.InputType

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ import org.w3c.fetch.Response
import react.FC
import react.Props
import react.StateSetter
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.hr
import react.useState
import web.html.ButtonType

typealias RequestWithDependency<R> = Triple<R, StateSetter<R>, () -> Unit>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@ import com.saveourtool.save.frontend.utils.*
import com.saveourtool.save.frontend.utils.isSuperAdmin
import com.saveourtool.save.info.UserInfo
import com.saveourtool.save.validation.FrontendRoutes

import csstype.ClassName
import react.*
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.a
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.td
import react.router.dom.Link
import web.html.ButtonType

val organizationToolsMenu = organizationToolsMenu()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ import com.saveourtool.save.validation.FrontendRoutes

import csstype.ClassName
import react.*
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.a
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.li
import react.dom.html.ReactHTML.ul
import web.html.ButtonType

import kotlinx.browser.window

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import csstype.ClassName
import org.w3c.fetch.Response
import react.*
import react.dom.*
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.form
Expand All @@ -26,6 +25,7 @@ import react.dom.html.ReactHTML.label
import react.dom.html.ReactHTML.option
import react.dom.html.ReactHTML.select
import react.router.useNavigate
import web.html.ButtonType
import web.html.HTMLInputElement
import web.html.InputType

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ import com.saveourtool.save.testsuite.TestSuiteVersioned
import csstype.ClassName
import react.*
import react.dom.aria.ariaLabel
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.h5
import web.html.ButtonType

val testSuiteSelector = testSuiteSelector()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ import com.saveourtool.save.frontend.externals.fontawesome.fontAwesomeIcon
import com.saveourtool.save.frontend.utils.*
import com.saveourtool.save.frontend.utils.noopResponseHandler
import com.saveourtool.save.testsuite.TestSuiteVersioned

import csstype.ClassName
import react.*
import react.dom.aria.AriaRole
import react.dom.aria.ariaLabel
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.a
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
Expand All @@ -25,6 +25,7 @@ import react.dom.html.ReactHTML.li
import react.dom.html.ReactHTML.nav
import react.dom.html.ReactHTML.ol
import react.dom.html.ReactHTML.ul
import web.html.ButtonType

val testSuiteSelectorBrowserMode = testSuiteSelectorBrowserMode()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ import csstype.ClassName
import react.*
import react.dom.aria.AriaRole
import react.dom.aria.ariaLabel
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.a
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.h5
import web.html.ButtonType

import kotlin.js.json

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,13 @@ import com.saveourtool.save.frontend.externals.fontawesome.*
import com.saveourtool.save.frontend.utils.*
import com.saveourtool.save.testsuite.TestSuitesSourceDto
import com.saveourtool.save.testsuite.TestSuitesSourceFetchMode

import csstype.ClassName
import js.core.jso
import react.*
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import web.html.ButtonType

@Suppress("GENERIC_VARIABLE_WRONG_DECLARATION")
private val innerTestSuitesSourceFetcher = innerTestSuitesSourceFetcher()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ import com.saveourtool.save.frontend.utils.buttonBuilder
import csstype.ClassName
import react.ChildrenBuilder
import react.dom.aria.ariaLabel
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.h2
import react.dom.html.ReactHTML.h5
import react.dom.html.ReactHTML.span
import web.html.ButtonType

/**
* Universal function to create modals with bootstrap styles inside react modals.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import csstype.ClassName
import react.ChildrenBuilder
import react.StateSetter
import react.dom.aria.ariaDescribedBy
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.div
import react.dom.html.ReactHTML.em
Expand All @@ -19,6 +18,7 @@ import react.dom.html.ReactHTML.select
import tanstack.table.core.RowData
import tanstack.table.core.Table
import tanstack.table.core.Updater
import web.html.ButtonType
import web.html.InputType

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ import com.saveourtool.save.info.UserInfo
import csstype.ClassName
import react.*
import react.dom.html.ButtonHTMLAttributes
import react.dom.html.ButtonType
import react.dom.html.ReactHTML.button
import react.dom.html.ReactHTML.nav
import react.router.useLocation
import web.html.ButtonType
import web.html.HTMLButtonElement

/**
Expand Down
Loading

0 comments on commit 7e97078

Please sign in to comment.