And one other question - what's the relationship b...
# javascript
r
And one other question - what's the relationship between web.cssom vs kotlinx.css? They're not cross compatible.
cssom-core seems to be pulled in by bom by default, perhaps?
Copy code
+--- org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom:1.0.0-pre.800
|    +--- org.jetbrains.kotlin-wrappers:kotlin-browser:1.0.0-pre.800 (c)
|    +--- org.jetbrains.kotlin-wrappers:kotlin-css:1.0.0-pre.800 (c)
|    +--- org.jetbrains.kotlin-wrappers:kotlin-js:1.0.0-pre.800 (c)
|    +--- org.jetbrains.kotlin-wrappers:kotlin-cssom-core:0.0.1-pre.800 (c)
|    \--- org.jetbrains.kotlin-wrappers:kotlin-web:1.0.0-pre.800 (c)
is what I get from:
Copy code
implementation(project.dependencies.platform("org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom:$kotlinWrappers"))
                implementation("org.jetbrains.kotlin-wrappers:kotlin-js")
                implementation("org.jetbrains.kotlin-wrappers:kotlin-browser")
                implementation("org.jetbrains.kotlin-wrappers:kotlin-css")
t
web.cssom
- Kotlin/JS library (zero runtime)
kotlinx.css
- multiplatform library (with runtime, which is mostly redundant)
cssom-core seems to be pulled
It's dependency of
kotlin-browser
😉
r
what do you mean by zero runtime? is it better to use cssom for dsl? here's what i have so far with kotlin-css: https://github.com/reubenfirmin/kdemo.cc/blob/main/src/jsMain/kotlin/org/example/pages/home/StyleCard.kt
t
what do you mean by zero runtime?
Most types are external
is it better to use cssom for dsl?
It depends on your goal. Looks like you build custom framework. Your framework - your rules 🙂
r
I'm not sure it's a framework (yet). Partly I'm just playing around with the different wrappers and kotlinx libraries to find the right combo for my next frontend project. There are a few shims between libraries that I'll probably keep
It's dependency of
kotlin-browser
Yes in .819. Not in .800 apparently:
Copy code
jsCompileClasspath - Compile classpath for 'js/main'.
+--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20
|    \--- org.jetbrains.kotlin:kotlin-stdlib-js:2.0.20
+--- org.jetbrains.kotlin:kotlin-dom-api-compat:2.0.20
|    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 (*)
+--- org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom:1.0.0-pre.800
|    +--- org.jetbrains.kotlin-wrappers:kotlin-browser:1.0.0-pre.800 (c)
|    +--- org.jetbrains.kotlin-wrappers:kotlin-css:1.0.0-pre.800 (c)
|    +--- org.jetbrains.kotlin-wrappers:kotlin-js:1.0.0-pre.800 (c)
|    \--- org.jetbrains.kotlin-wrappers:kotlin-web:1.0.0-pre.800 (c)
+--- org.jetbrains.kotlin-wrappers:kotlin-js -> 1.0.0-pre.800
|    \--- org.jetbrains.kotlin-wrappers:kotlin-js-js:1.0.0-pre.800
|         \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 (*)
+--- org.jetbrains.kotlin-wrappers:kotlin-browser -> 1.0.0-pre.800
|    \--- org.jetbrains.kotlin-wrappers:kotlin-browser-js:1.0.0-pre.800
|         +--- org.jetbrains.kotlin-wrappers:kotlin-js:1.0.0-pre.800 (*)
|         +--- org.jetbrains.kotlin-wrappers:kotlin-web:1.0.0-pre.800
|         |    \--- org.jetbrains.kotlin-wrappers:kotlin-web-js:1.0.0-pre.800
|         |         +--- org.jetbrains.kotlin-wrappers:kotlin-js:1.0.0-pre.800 (*)
|         |         \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 (*)
|         \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 (*)
+--- org.jetbrains.kotlin-wrappers:kotlin-css -> 1.0.0-pre.800
|    \--- org.jetbrains.kotlin-wrappers:kotlin-css-js:1.0.0-pre.800
|         \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 (*)
+--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.3
|    \--- org.jetbrains.kotlinx:kotlinx-serialization-json-js:1.3.3
|         +--- org.jetbrains.kotlin:kotlin-stdlib-js:1.6.21 -> 2.0.20
|         \--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.3.3
|              \--- org.jetbrains.kotlinx:kotlinx-serialization-core-js:1.3.3
|                   \--- org.jetbrains.kotlin:kotlin-stdlib-js:1.6.21 -> 2.0.20
\--- org.jetbrains.kotlinx:kotlinx-html-js:0.11.0
     \--- org.jetbrains.kotlin:kotlin-dom-api-compat:1.9.22 -> 2.0.20 (*)
Weirdly I don't see it in dependencies at all, and yet intellij picks it up in autocomplete. Anyway, once I can upgrade I will exclude it from -browser
Update - it can't be excluded. I ticketed 🙂