瀏覽代碼

fix: update nbb-logseq and make entity-plus nbb compatible

deps can now load in nbb and all nbb tests pass except for db
Gabriel Horner 1 年之前
父節點
當前提交
a81e18e9a6

+ 1 - 1
deps/common/package.json

@@ -3,7 +3,7 @@
   "version": "1.0.0",
   "private": true,
   "devDependencies": {
-    "@logseq/nbb-logseq": "logseq/nbb-logseq#feat-db-v5"
+    "@logseq/nbb-logseq": "logseq/nbb-logseq#feat-db-v6"
   },
   "scripts": {
     "test": "yarn nbb-logseq -cp test -m nextjournal.test-runner"

+ 3 - 3
deps/common/yarn.lock

@@ -2,9 +2,9 @@
 # yarn lockfile v1
 
 
-"@logseq/nbb-logseq@logseq/nbb-logseq#feat-db-v5":
-  version "1.2.173-feat-db-v5"
-  resolved "https://codeload.github.com/logseq/nbb-logseq/tar.gz/090ad77480ad8065aa051e625c248bc77e07efa5"
+"@logseq/nbb-logseq@logseq/nbb-logseq#feat-db-v6":
+  version "1.2.173-feat-db-v6"
+  resolved "https://codeload.github.com/logseq/nbb-logseq/tar.gz/76b9e28dbfc2c4d7d4d7320ca624819fcd66de3e"
   dependencies:
     import-meta-resolve "^2.1.0"
 

+ 1 - 1
deps/db/package.json

@@ -3,7 +3,7 @@
   "version": "1.0.0",
   "private": true,
   "devDependencies": {
-    "@logseq/nbb-logseq": "logseq/nbb-logseq#feat-db-v5"
+    "@logseq/nbb-logseq": "logseq/nbb-logseq#feat-db-v6"
   },
   "dependencies": {
     "better-sqlite3": "8.0.1"

+ 64 - 0
deps/db/src/logseq/db/frontend/entity_plus.cljc

@@ -0,0 +1,64 @@
+(ns logseq.db.frontend.entity-plus
+  "Add map ops such as assoc/dissoc to datascript Entity.
+
+   NOTE: This doesn't work for nbb/sci yet because of https://github.com/babashka/sci/issues/639"
+  ;; Disable clj linters since we don't support clj
+  #?(:clj {:clj-kondo/config {:linters {:unresolved-namespace {:level :off}
+                                        :unresolved-symbol {:level :off}}}})
+  (:require [cljs.core]
+            [datascript.impl.entity :as entity :refer [Entity]]
+            [logseq.db.frontend.content :as db-content]))
+
+(def lookup-entity @#'entity/lookup-entity)
+(defn lookup-kv-then-entity
+  ([e k] (lookup-kv-then-entity e k nil))
+  ([^Entity e k default-value]
+   (cond
+     (= k :block/raw-content)
+     (lookup-entity e :block/content default-value)
+
+     (= k :block/content)
+     (let [result (lookup-entity e k default-value)
+           refs (:block/refs e)
+           tags (:block/tags e)]
+       (or
+        (when (string? result)
+          (db-content/special-id->page result (distinct (concat refs tags))))
+        default-value))
+
+     :else
+     (or (get (.-kv e) k)
+         (lookup-entity e k default-value)))))
+
+#?(:org.babashka/nbb
+   nil
+   :default
+   (extend-type Entity
+     cljs.core/IEncodeJS
+     (-clj->js [_this] nil)                 ; avoid `clj->js` overhead when entity was passed to rum components
+
+     IAssociative
+     (-assoc [this k v]
+       (assert (keyword? k) "attribute must be keyword")
+       (set! (.-kv this) (assoc (.-kv this) k v))
+       this)
+     (-contains-key? [e k] (not= ::nf (lookup-kv-then-entity e k ::nf)))
+
+     IMap
+     (-dissoc [this k]
+       (assert (keyword? k) "attribute must be keyword")
+       (set! (.-kv this) (dissoc (.-kv this) k))
+       this)
+
+     ICollection
+     (-conj [this entry]
+       (if (vector? entry)
+         (let [[k v] entry]
+           (-assoc this k v))
+         (reduce (fn [this [k v]]
+                   (-assoc this k v)) this entry)))
+
+     ILookup
+     (-lookup
+       ([this attr] (lookup-kv-then-entity this attr))
+       ([this attr not-found] (lookup-kv-then-entity this attr not-found)))))

+ 0 - 56
deps/db/src/logseq/db/frontend/entity_plus.cljs

@@ -1,56 +0,0 @@
-(ns logseq.db.frontend.entity-plus
-  "Add map ops such as assoc/dissoc to datascript Entity"
-  (:require [cljs.core]
-            [datascript.impl.entity :as entity :refer [Entity]]
-            [logseq.db.frontend.content :as db-content]))
-
-(def lookup-entity @#'entity/lookup-entity)
-(defn lookup-kv-then-entity
-  ([e k] (lookup-kv-then-entity e k nil))
-  ([^Entity e k default-value]
-   (cond
-     (= k :block/raw-content)
-     (lookup-entity e :block/content default-value)
-
-     (= k :block/content)
-     (let [result (lookup-entity e k default-value)
-           refs (:block/refs e)
-           tags (:block/tags e)]
-       (or
-        (when (string? result)
-          (db-content/special-id->page result (distinct (concat refs tags))))
-        default-value))
-
-     :else
-     (or (get (.-kv e) k)
-         (lookup-entity e k default-value)))))
-
-(extend-type Entity
-  cljs.core/IEncodeJS
-  (-clj->js [_this] nil)                 ; avoid `clj->js` overhead when entity was passed to rum components
-
-  IAssociative
-  (-assoc [this k v]
-    (assert (keyword? k) "attribute must be keyword")
-    (set! (.-kv this) (assoc (.-kv this) k v))
-    this)
-  (-contains-key? [e k] (not= ::nf (lookup-kv-then-entity e k ::nf)))
-
-  IMap
-  (-dissoc [this k]
-    (assert (keyword? k) "attribute must be keyword")
-    (set! (.-kv this) (dissoc (.-kv this) k))
-    this)
-
-  ICollection
-  (-conj [this entry]
-    (if (vector? entry)
-      (let [[k v] entry]
-        (-assoc this k v))
-      (reduce (fn [this [k v]]
-                (-assoc this k v)) this entry)))
-
-  ILookup
-  (-lookup
-    ([this attr] (lookup-kv-then-entity this attr))
-    ([this attr not-found] (lookup-kv-then-entity this attr not-found))))

+ 3 - 3
deps/db/yarn.lock

@@ -2,9 +2,9 @@
 # yarn lockfile v1
 
 
-"@logseq/nbb-logseq@logseq/nbb-logseq#feat-db-v5":
-  version "1.2.173-feat-db-v5"
-  resolved "https://codeload.github.com/logseq/nbb-logseq/tar.gz/090ad77480ad8065aa051e625c248bc77e07efa5"
+"@logseq/nbb-logseq@logseq/nbb-logseq#feat-db-v6":
+  version "1.2.173-feat-db-v6"
+  resolved "https://codeload.github.com/logseq/nbb-logseq/tar.gz/76b9e28dbfc2c4d7d4d7320ca624819fcd66de3e"
   dependencies:
     import-meta-resolve "^2.1.0"
 

+ 1 - 1
deps/graph-parser/package.json

@@ -3,7 +3,7 @@
   "version": "1.0.0",
   "private": true,
   "devDependencies": {
-    "@logseq/nbb-logseq": "logseq/nbb-logseq#feat-db-v5",
+    "@logseq/nbb-logseq": "logseq/nbb-logseq#feat-db-v6",
     "better-sqlite3": "8.0.1"
   },
   "dependencies": {

+ 3 - 3
deps/graph-parser/yarn.lock

@@ -2,9 +2,9 @@
 # yarn lockfile v1
 
 
-"@logseq/nbb-logseq@logseq/nbb-logseq#feat-db-v5":
-  version "1.2.173-feat-db-v5"
-  resolved "https://codeload.github.com/logseq/nbb-logseq/tar.gz/090ad77480ad8065aa051e625c248bc77e07efa5"
+"@logseq/nbb-logseq@logseq/nbb-logseq#feat-db-v6":
+  version "1.2.173-feat-db-v6"
+  resolved "https://codeload.github.com/logseq/nbb-logseq/tar.gz/76b9e28dbfc2c4d7d4d7320ca624819fcd66de3e"
   dependencies:
     import-meta-resolve "^2.1.0"
 

+ 1 - 1
deps/outliner/package.json

@@ -3,7 +3,7 @@
   "version": "1.0.0",
   "private": true,
   "devDependencies": {
-    "@logseq/nbb-logseq": "logseq/nbb-logseq#feat-db-v5"
+    "@logseq/nbb-logseq": "logseq/nbb-logseq#feat-db-v6"
   },
   "dependencies": {
     "better-sqlite3": "8.0.1"

+ 3 - 3
deps/outliner/yarn.lock

@@ -2,9 +2,9 @@
 # yarn lockfile v1
 
 
-"@logseq/nbb-logseq@logseq/nbb-logseq#feat-db-v5":
-  version "1.2.173-feat-db-v5"
-  resolved "https://codeload.github.com/logseq/nbb-logseq/tar.gz/090ad77480ad8065aa051e625c248bc77e07efa5"
+"@logseq/nbb-logseq@logseq/nbb-logseq#feat-db-v6":
+  version "1.2.173-feat-db-v6"
+  resolved "https://codeload.github.com/logseq/nbb-logseq/tar.gz/76b9e28dbfc2c4d7d4d7320ca624819fcd66de3e"
   dependencies:
     import-meta-resolve "^2.1.0"
 

+ 1 - 1
deps/publishing/package.json

@@ -3,7 +3,7 @@
   "version": "1.0.0",
   "private": true,
   "devDependencies": {
-    "@logseq/nbb-logseq": "logseq/nbb-logseq#feat-db-v5",
+    "@logseq/nbb-logseq": "logseq/nbb-logseq#feat-db-v6",
     "mldoc": "^1.5.1"
   },
   "dependencies": {

+ 3 - 3
deps/publishing/yarn.lock

@@ -2,9 +2,9 @@
 # yarn lockfile v1
 
 
-"@logseq/nbb-logseq@logseq/nbb-logseq#feat-db-v5":
-  version "1.2.173-feat-db-v5"
-  resolved "https://codeload.github.com/logseq/nbb-logseq/tar.gz/090ad77480ad8065aa051e625c248bc77e07efa5"
+"@logseq/nbb-logseq@logseq/nbb-logseq#feat-db-v6":
+  version "1.2.173-feat-db-v6"
+  resolved "https://codeload.github.com/logseq/nbb-logseq/tar.gz/76b9e28dbfc2c4d7d4d7320ca624819fcd66de3e"
   dependencies:
     import-meta-resolve "^2.1.0"
 

+ 1 - 1
scripts/package.json

@@ -3,7 +3,7 @@
   "version": "1.0.0",
   "private": true,
   "devDependencies": {
-    "@logseq/nbb-logseq": "logseq/nbb-logseq#feat-db-v5"
+    "@logseq/nbb-logseq": "logseq/nbb-logseq#feat-db-v6"
   },
   "dependencies": {
     "better-sqlite3": "8.0.1",

+ 3 - 3
scripts/yarn.lock

@@ -2,9 +2,9 @@
 # yarn lockfile v1
 
 
-"@logseq/nbb-logseq@logseq/nbb-logseq#feat-db-v5":
-  version "1.2.173-feat-db-v5"
-  resolved "https://codeload.github.com/logseq/nbb-logseq/tar.gz/090ad77480ad8065aa051e625c248bc77e07efa5"
+"@logseq/nbb-logseq@logseq/nbb-logseq#feat-db-v6":
+  version "1.2.173-feat-db-v6"
+  resolved "https://codeload.github.com/logseq/nbb-logseq/tar.gz/76b9e28dbfc2c4d7d4d7320ca624819fcd66de3e"
   dependencies:
     import-meta-resolve "^2.1.0"