Skip to content
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

cljs fixes #106

Merged
merged 17 commits into from
Nov 18, 2023
Merged

cljs fixes #106

merged 17 commits into from
Nov 18, 2023

Conversation

pkpkpk
Copy link
Contributor

@pkpkpk pkpkpk commented May 21, 2023

No description provided.

@pkpkpk pkpkpk changed the title bump cljs-node-io for advanced compilation safety cljs fixes Oct 22, 2023
@whilo
Copy link
Member

whilo commented Oct 25, 2023

@pkpkpk This looks good to me. Lmk when you want to have it merged. Also, are these changes covered by CI/CD tests for cljs?

@pkpkpk
Copy link
Contributor Author

pkpkpk commented Oct 25, 2023

I want to cut a fress release to silence some warnings and then tweak the tests here to run on advanced builds, do a little more in the browser tests.

@whilo Ill make those changes and then ping you on slack to help get CI running

@pkpkpk
Copy link
Contributor Author

pkpkpk commented Nov 14, 2023

In Summary

  1. fixes macro referencing ambiguity in cljs
  2. Decoupled tests from the store being tested. Tests are now function<store> organized by namespaces that test a particular aspect. These namespaces are in test/konserve/tests and can be used by 3rd party implementers as an addendum to the compliance test. The migration test was left as is.
  3. Each store runs the same tests (but no sync/CBOR for cljs) . This is a modest increase in coverage for the jvm filestore but a huge gain for cljs and was critical for increasing behavior parity. This closes Enable unit tests for browser clojurescript #93
  4. I brain dumped usage details into docs/api-walkthrough.md, hopefully this addresses the ambiguity discussed in custom serializers #109 and Example how to setup custom serializers #71
  5. update some deps, pruning of old config, & assortment of random fixes, closes README typo #108
  6. bin/run-all will run the jvm filestore test and the tests for both indexeddb and nodejs with advanced optimizations, and will log and exit non-zero on failure
./bin/install
./bin/run-all

future work

  1. changes to enable record safety path in advanced builds
  2. compression tests, LZ4 cljs support
  3. CBOR cljs support, handler documentation
  4. cljs benchmarks

@whilo
Copy link
Member

whilo commented Nov 15, 2023

That sounds good. Is this ready for review/merging? @pkpkpk

@pkpkpk
Copy link
Contributor Author

pkpkpk commented Nov 15, 2023

Yes I think it's in a good place. Will revisit record handling safety in cljs another time

Copy link
Member

@whilo whilo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks solid overall. Thank you so much for turning the cljs support robust! I will merge this now to test the CI. We should also update the README to point to your implementation notes, or better, merge them. So maybe a follow up PR will be necessary.

@whilo whilo merged commit e7bda5a into replikativ:main Nov 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants