Mike Kienenberger
03/13/2026, 2:54 PMJFYI - Seskar adds component names automatically for dev builds πAlready including this dependency. Not sure how this impacts? Replacing emotion.react.css with a placeholder class still generates
Exception during run: SyntaxError[ @<.../app>.mjs ]: Identifier 'set' has already been declared in my full app.
I don't know exactly what that indicates. Maybe something else (mui?) is pulling in the problem code transitively?
package emotion.react
import react.FC
import react.Props
import web.cssom.AlignItems
import web.cssom.Color
import web.cssom.Display
import web.cssom.FlexDirection
import web.cssom.FontWeight
import web.cssom.JustifyContent
import web.cssom.Length
import web.cssom.TextAlign
external interface PlaceholderCssProps : Props {
var background : Color
var color : Color
var fontWeight : FontWeight
var textAlign : TextAlign
var display : Display
var flexDirection : FlexDirection
var alignItems : AlignItems
var gap : Length
var justifyContent : JustifyContent
}
val css = FC<PlaceholderCssProps>("placeholder-css") {
}turansky
03/13/2026, 2:56 PMAlready including this dependency. Not sure how this impacts?No needs to write:
val MyComp = FC("MyComp") {}
you can write
val MyComp = FC {}
name will be added by plugin πturansky
03/13/2026, 2:58 PMcss - your own component?turansky
03/13/2026, 3:00 PMMike Kienenberger
03/13/2026, 3:01 PMMike Kienenberger
03/13/2026, 3:01 PMturansky
03/13/2026, 3:02 PMso I could remove the kotlinWrappers.emotion.styled dependencyWhy it's required?
Mike Kienenberger
03/13/2026, 3:02 PMException during run: SyntaxError[ @<.../app>.mjs ]: Identifier 'set' has already been declared
but by that point, I'd already gotten rid of many other dependencies as wellMike Kienenberger
03/13/2026, 3:03 PMturansky
03/13/2026, 3:04 PMMike Kienenberger
03/13/2026, 3:05 PMException during run: SyntaxError[ @<.../app>.mjs ]: Identifier 'set' has already been declaredMike Kienenberger
03/13/2026, 3:05 PMException during run: SyntaxError[ @<.../app>.mjs ]: Identifier 'set' has already been declaredturansky
03/13/2026, 3:06 PMMike Kienenberger
03/13/2026, 3:07 PMTask :jsTestClasses
Task :kotlinStorePackageLock UP-TO-DATE
Task :compileTestDevelopmentExecutableKotlinJs
Task :jsTestTestDevelopmentExecutableCompileSyncException during run: SyntaxError[ @/home/mkienenb/IdeaProjects/gvea/performance-appraisal-frontend/build/js/packages/performance-appraisal-frontend-test/kotlin/performance-appraisal-frontend-test.mjs ]: Identifier 'set' has already been declared
turansky
03/13/2026, 3:30 PMturansky
03/13/2026, 3:31 PMMike Kienenberger
03/13/2026, 3:32 PMuseEsModules() without vite affects the project, assuming that works.Mike Kienenberger
03/13/2026, 3:32 PMturansky
03/13/2026, 3:33 PMtarget = "es2015" - meta flagturansky
03/13/2026, 3:34 PMMike Kienenberger
03/13/2026, 3:34 PMturansky
03/13/2026, 3:35 PMtarget = "es2015" in examples
2. Vite isn't used in tests (even with KFC)Mike Kienenberger
03/13/2026, 3:36 PMMike Kienenberger
03/13/2026, 3:38 PMturansky
03/13/2026, 3:49 PMemotion in test and check if everything is OK πturansky
03/13/2026, 3:50 PMMike Kienenberger
03/13/2026, 3:51 PMMike Kienenberger
03/13/2026, 3:51 PMturansky
03/13/2026, 3:54 PMmain run and build only.Mike Kienenberger
03/13/2026, 3:55 PMturansky
03/13/2026, 3:57 PMturansky
03/13/2026, 3:59 PMMike Kienenberger
03/13/2026, 4:12 PMturansky
03/13/2026, 4:25 PMturansky
03/13/2026, 4:26 PMturansky
03/13/2026, 4:56 PMMike Kienenberger
03/13/2026, 9:26 PMturansky
03/13/2026, 11:14 PMappend-jsdom-to-user-agent-name.jsturansky
03/13/2026, 11:15 PMturansky
03/13/2026, 11:22 PM@Test
fun `check record size`() {
}
Please use it too.turansky
03/14/2026, 10:55 AMjsdom run" coroutines issue, when it will be created πSergei Grishchenko
03/14/2026, 9:07 PMtesting-library , it looks awersome.
I have one question about it. I noticed that almost after each findByTestId query you use assertNotNull check. I thought that semantic of findByTestId says: "I will wait till element appears on the screen and then I will give it to you". So in this sense I don't see a scenario where it can return null . As far as I can understand it either returns element or fails with timeout. But maybe I don't see some edge case or behavior of this helper is different. So my question is: is assertNotNull is required or not for this kind of test? and if yes - why?Mike Kienenberger
03/15/2026, 1:17 AMfindByTestId and to replace some of the findByTestId with queryByTestId when there is no render expected between the statements.
The test is also a little boring. At some point maybe I will have time to make it more interesting.turansky
03/16/2026, 3:57 AMMike Kienenberger
03/16/2026, 9:57 PMMike Kienenberger
03/16/2026, 9:59 PMMike Kienenberger
03/16/2026, 11:36 PMexamples. About the only thing that works on that code is extract method -- the IDE never shows any warnings or errors, and I have to pick them up from running the code and checking the output.
Everything at the main project level works fine.turansky
03/16/2026, 11:53 PMexamples/build.gradle.kts and select Link Gradle Project option πMike Kienenberger
03/16/2026, 11:59 PMMike Kienenberger
03/17/2026, 12:16 AMturansky
03/17/2026, 12:25 AMturansky
03/17/2026, 12:25 AMMike Kienenberger
03/17/2026, 12:31 AMMike Kienenberger
03/17/2026, 12:31 AMMike Kienenberger
03/17/2026, 12:32 AMturansky
03/17/2026, 12:45 AMMike Kienenberger
03/17/2026, 5:35 PMturansky
03/17/2026, 8:15 PMMike Kienenberger
03/17/2026, 8:17 PMMike Kienenberger
03/17/2026, 8:26 PMturansky
03/17/2026, 9:05 PMNodeDispatcher should be used on Node.js without additional questions/configuration πMike Kienenberger
03/17/2026, 9:11 PMturansky
03/17/2026, 9:32 PMI didn't want to suggest a change that would break backward compatiblityIt's bug fix π
turansky
03/17/2026, 9:32 PMMike Kienenberger
03/17/2026, 9:44 PMturansky
03/17/2026, 9:46 PMprocess.versions.node check - current draft solutionMike Kienenberger
03/17/2026, 9:46 PMMike Kienenberger
03/17/2026, 9:50 PMMike Kienenberger
03/19/2026, 12:43 PMNodeDispatcher should be used on Node.js without additional questions/configuration, now would be a great time to add it to the issue. ;)