Converted inferred graph to an EDN file now that this task exists. Also
merge last of tasks.create-graph to relevant ns so that external users
can also create such tasks
Finally no need to worry about parent-left conflicts and broken chain.
With :block/order, we only need to re-compute new orders for siblings
with same order (it can happens if there're bugs in our code, or
updates from rtc), but it doesn't break UI.
Another huge potential benefit after discussing with Zhiyuan is:
Ee might be able to simplify both RTC and undo/redo, currently, we
need to handle each new op for both of them, with recently
refactorings like properties being db attributes, :block/order
is a string instead of a ref, we can handle most property value
conflicts using last-write-wins, and others (e.g. :block/parent,
property with :default type) specifically.
I haven't fixed the issues of using :block/left in RTC and undo/redo,
because we might change both soon.
- Reverted overly complex fn translations from #10810
- Updated guidelines so it's clear that fn translations need to remain
simple. They shouldn't be so complex that they fail for edge cases
- Updated catch so we are aware when translations fail
All of frontend.util.page-property was file based except for one line.
Moved that ns to a file-based ns and moved the line out to the more
appropriate property-handler
so it can be used outside Electron e.g. when creating graphs from CLI.
Put a symlink in the old templates/config.edn location to make new
location easier to find but it's not needed for anything to work
update to match `$ bb dev:lint`
```cljs
(defn lint
"Run all lint tasks
- clj-kondo lint
- carve lint for unused vars
- lint for vars that are too large
- lint invalid translation entries"
[]
(doseq [cmd ["clojure -M:clj-kondo --parallel --lint src --cache false"
"bb lint:carve"
"bb lint:large-vars"
"bb lang:invalid-translations"
"bb lint:ns-docstrings"]]
(println cmd)
(shell cmd)))
```
not sure if we should just add `$ bb dev:lint` since it doesn't seem to be documented anywhere
this update is a pre-req to adding docs for data validation with Malli from https://github.com/logseq/logseq/blob/dev/malli-schema%2526kondo-config/
```sh
bb dev:gen-malli-kondo-config
```
Note that it will also need to be added to `build.yaml`
https://github.com/logseq/logseq/blob/dev/malli-schema%26kondo-config/.github/workflows/build.yml
CC: @RCmerci
the link https://cljdoc.org/d/cljfmt/ will always load the most up to date documentation of cljfmt.
It should be used instead of a specific version number
- Added unit test as it is used by several handlers
- Fixed test suite failing from last commit now that a test fs is used
- Fixed test stat implementation
- Extracted out Plugin schema to make usage of it less impl dependent
- Made test.helper alias consistent
- Made async testing consistent for export-test
- Add validation for plugins.edn with malli
- Add bb task using malli schema
- Add first async test that interacts with frontend.fs
- Add test helpers to make future async testing easier
- Added to CI now that it passes
- Added no-doc for docstrings that don't add any more than what's in the
ns name or for ones where I didn't know the ns that well