-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add JS target #191
base: main
Are you sure you want to change the base?
Add JS target #191
Conversation
If you don't mind, let's separate the native and JS targets. That will let us incrementally set up the multiplatform deployment with a subset of targets. We'll leave the flags enabled by default in the gradle.properties but then override it in the GitHub Actions deployment script to avoid deploying the non-JVM targets initially. When we're ready to deploy, JS will probably be turned on first since it won't require setting up macOS runners. I used the
Yeah, that's tricky. Long term, I hope to eliminate Kotest because I don't think the added dependency brings us large benefits over simply leveraging Kotlin's built-in test assertions (e.g. Would it make sense to just switch to Kotlin test methods to bypass the I'm open to other ideas, although the suggestion above moves us in the direction I think the project should go longer term.
Since I'm less familiar with the JS random APIs, let's get input from @hashben228. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One additional thing I know that we'll need to also update: Modify the dependency update issue template in the .github
folder to include the kotlinUpgradeYarnLock
task. This is mostly to help people new to multiplatform remember which tasks to run
Hi @luca992, Thank you for this PR! Are you still interested in finishing it? I believe we're very close to having it done. I'm also not very familiar with the JS platform, but hopefully, I could find someone in the company to assist us here, if needed. |
Yeah I was just waiting for another opinion on the random-ness source I'm using |
I understand, we have someone around, so I'll manage it and let you know. Thank you for your patience. |
Another crypto library is using |
Alright, that looks good to me. Although we have no JS-oriented colleague around now, we could proceed to agree on this solution. Could you please rebase and fix the failing test and detekt warning? |
Needed due to: square/okio#1206
@HonzaR @ccjernigan finally got the motivation to finish this. I completely removed I think I addressed everything brought up, and should be ready to review. Also, I ran Ps. I would like to add the |
I added JS as a target.
However I have some questions:
NATIVE_TARGETS_ENABLED
->NONJVM_TARGETS_ENABLED
to cover both native and JS targets. Or would you want two separate flags, or some other setup?ReadmeExamplesTest
are all failing on JS due toIllegalStateException: Nested tests are not supported
Support for nested tests on JS target (again) kotest/kotest#3141 Any suggestions on alternatives ways I could rewrite those tests to not usecontext
(which is what I think is the issue)?Author
Reviewer
Footnotes
Code often looks different when reviewing the diff in a browser, making it easier to spot potential bugs. ↩
While we are not looking for perfect coverage, the tool can point out potential cases that have been missed. Code coverage can be generated with:
./gradlew check
. ↩Having your code up to date and squashed will make it easier for others to review. Use best judgement when squashing commits, as some changes (such as refactoring) might be easier to review as a separate commit. ↩
In addition to a first pass using the code review guidelines, do a second pass using your best judgement and experience which may identify additional questions or comments. Research shows that code review is most effective when done in multiple passes, where reviewers look for different things through each pass. ↩