Skip to content

Commit 5e10f8c

Browse files
enhance: update action to use latest logseq and nbb-logseq
1 parent c74ffe9 commit 5e10f8c

8 files changed

Lines changed: 51 additions & 49 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ jobs:
1010

1111
# TODO: Test a real graph
1212
- name: Run graph-validator tests
13-
uses: logseq/graph-validator@main
13+
uses: logseq/graph-validator@feat/db

nbb.edn

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
{:deps
22
{logseq/graph-parser
33
{:git/url "https://github.com/logseq/logseq"
4-
:git/sha "82cf4d3c65acbf230a3170640fe271dd74095067"
5-
:git/tag "0.9.8"
4+
:git/sha "65640ed8857199d89268295863cd556f5d90ea0b"
65
:deps/root "deps/graph-parser"}
76
#_{:local/root "../logseq/deps/graph-parser"}}}

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
},
1818
"homepage": "https://github.com/logseq/graph-validator#readme",
1919
"dependencies": {
20-
"@logseq/nbb-logseq": "^1.2.173",
21-
"mldoc": "^1.5.0"
20+
"@logseq/nbb-logseq": "logseq/nbb-logseq#feat-db-v24",
21+
"mldoc": "^1.5.9"
2222
}
2323
}

src/logseq/graph_validator.cljs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,11 @@
8181
(exclude-tests exclude))
8282
(setup-graph dir)
8383
(apply t/run-tests (into ['logseq.graph-validator.default-validations]
84-
(map symbol add-namespaces))))))))
84+
(map symbol add-namespaces)))))
85+
(p/catch
86+
(fn [err]
87+
(prn :unexpected-failure! err)
88+
(js/process.exit 1))))))
8589

8690
(defn -main [& args]
8791
(let [options (-> (cli/parse-opts args {:spec spec})

src/logseq/graph_validator/default_validations.cljs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
(ns logseq.graph-validator.default-validations
22
"Default validations that are enabled on graph-validator"
3-
(:require [clojure.test :as t :refer [deftest is]]
4-
[logseq.graph-parser.util.block-ref :as block-ref]
5-
[logseq.db.rules :as rules]
6-
[clojure.walk :as walk]
3+
(:require ["fs" :as fs]
4+
["path" :as path]
5+
[clojure.edn :as edn]
76
[clojure.set :as set]
87
[clojure.string :as string]
8+
[clojure.test :as t :refer [deftest is]]
9+
[clojure.walk :as walk]
910
[datascript.core :as d]
10-
[logseq.graph-validator.state :as state]
11-
[clojure.edn :as edn]
12-
["fs" :as fs]
13-
["path" :as path]))
11+
[logseq.common.util.block-ref :as block-ref]
12+
[logseq.db.file-based.rules :as file-rules]
13+
[logseq.graph-validator.state :as state]))
1414

1515
(defn- extract-subnodes-by-pred [pred node]
1616
(cond
@@ -46,7 +46,7 @@
4646
:in $ %
4747
:where (has-property ?b :id)]
4848
@state/db-conn
49-
(vals rules/query-dsl-rules))
49+
[(:has-property file-rules/query-dsl-rules)])
5050
(map first)
5151
(map (comp :id :block/properties))
5252
set))))))
@@ -61,7 +61,7 @@
6161
:in $ %
6262
:where (has-property ?b :id)]
6363
@state/db-conn
64-
(vals rules/query-dsl-rules))
64+
[(:has-property file-rules/query-dsl-rules)])
6565
(map first)
6666
(map (comp :id :block/properties))
6767
set))))))
@@ -181,7 +181,7 @@
181181
:where
182182
(has-page-property ?b :alias)]
183183
db
184-
(vals rules/query-dsl-rules))
184+
[(:has-page-property file-rules/query-dsl-rules)])
185185
(map first)
186186
(map (comp :alias :block/properties))
187187
(mapcat identity)
@@ -199,7 +199,7 @@
199199
used-page-refs*))
200200
aliases (get-all-aliases @state/db-conn)
201201
all-db-pages* (->> (d/q '[:find ?n
202-
:where [?b :block/name ?n] [?b :block/file] [?b :block/journal? false]]
202+
:where [?b :block/name ?n] [?b :block/file] (not [?b :block/type "journal"])]
203203
@state/db-conn)
204204
(map first)
205205
set)

src/logseq/graph_validator/validations/class.cljs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"Validations related to managing classes"
33
(:require [clojure.test :refer [deftest is]]
44
[logseq.graph-validator.state :as state]
5-
[logseq.db.rules :as rules]
5+
[logseq.db.file-based.rules :as file-rules]
66
[datascript.core :as d]))
77

88
(defn- get-classes []
@@ -11,12 +11,12 @@
1111
:in $ %
1212
:where (page-property ?b :type "Class")]
1313
@state/db-conn
14-
(vals rules/query-dsl-rules))
14+
[(:page-property file-rules/query-dsl-rules)])
1515
(map first)
16-
(map #(assoc (:block/properties %) :block/original-name (:block/original-name %)))))
16+
(map #(assoc (:block/properties %) :block/title (:block/title %)))))
1717

1818
(deftest classes-have-parents
19-
(is (empty? (remove #(or (some? (:parent %)) (= "Thing" (:block/original-name %)))
19+
(is (empty? (remove #(or (some? (:parent %)) (= "Thing" (:block/title %)))
2020
(get-classes)))
2121
"All classes have parent property except Thing"))
2222

@@ -25,5 +25,5 @@
2525
"All classes have urls"))
2626

2727
(deftest classes-are-capitalized
28-
(is (empty? (remove #(re-find #"^[A-Z]" (:block/original-name %)) (get-classes)))
28+
(is (empty? (remove #(re-find #"^[A-Z]" (:block/title %)) (get-classes)))
2929
"All classes start with a capital letter"))

src/logseq/graph_validator/validations/property.cljs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
[clojure.string :as string]
2929
[logseq.graph-validator.state :as state]
3030
[logseq.graph-parser.property :as gp-property]
31-
[logseq.graph-parser.util.page-ref :as page-ref]
32-
[logseq.graph-parser.util :as gp-util]
33-
[logseq.db.rules :as rules]
31+
[logseq.common.util.page-ref :as page-ref]
32+
[logseq.common.util :as common-util]
33+
[logseq.db.file-based.rules :as file-rules]
3434
[datascript.core :as d]
3535
[clojure.edn :as edn]
3636
["path" :as path]
@@ -100,7 +100,7 @@
100100
"Get all property entities from :properties"
101101
[db]
102102
(d/q
103-
'[:find (pull ?b [:block/content :block/original-name :block/properties]) ?p
103+
'[:find (pull ?b [:block/content :block/title :block/properties]) ?p
104104
:in $
105105
:where
106106
[?b :block/properties ?p]
@@ -134,10 +134,10 @@
134134
[]
135135
(->> (d/q '[:find (pull ?b [*])
136136
:in $ %
137-
:where [?b :block/original-name]
137+
:where [?b :block/title]
138138
(has-page-property ?b :type)]
139139
@state/db-conn
140-
(vals rules/query-dsl-rules))
140+
[(:has-page-property file-rules/query-dsl-rules)])
141141
(map first)))
142142

143143
;; Macro fns
@@ -181,7 +181,7 @@
181181
{:Integer int?
182182
:String string?
183183
:Boolean boolean?
184-
:Uri gp-util/url?
184+
:Uri common-util/url?
185185
;; TODO: Make this configurable
186186
:Date #(re-matches #"\d{2}-\d{2}-\d{4}" %)
187187
:Time #(re-matches #"\d\d?:\d\d" %)
@@ -217,7 +217,7 @@
217217
(let [all-things (get-all-page-things)
218218
children-maps (->> all-things
219219
(filter #(= "Class" (first (get-in % [:block/properties :type]))))
220-
(map #(vector (:block/original-name %) (first (get-in % [:block/properties :parent]))))
220+
(map #(vector (:block/title %) (first (get-in % [:block/properties :parent]))))
221221
(into {}))
222222
range-properties (->> all-things
223223
(filter #(= "Property" (first (get-in % [:block/properties :type]))))
@@ -255,7 +255,7 @@
255255
(let [all-things (get-all-page-things)
256256
children-maps (->> all-things
257257
(filter #(= "Class" (first (get-in % [:block/properties :type]))))
258-
(map #(vector (:block/original-name %) (first (get-in % [:block/properties :parent]))))
258+
(map #(vector (:block/title %) (first (get-in % [:block/properties :parent]))))
259259
(into {}))
260260
range-properties (->> all-things
261261
(filter #(= "Property" (first (get-in % [:block/properties :type]))))
@@ -270,7 +270,7 @@
270270
page-classes (->> all-things
271271
(mapcat (fn [b]
272272
(map #(vector % (first (get-in b [:block/properties :type])))
273-
(into [(:block/original-name b)]
273+
(into [(:block/title b)]
274274
(get-in b [:block/properties :alias])))))
275275
(into {}))]
276276
(doseq [[property ranges] range-properties]
@@ -299,14 +299,14 @@
299299
props)))
300300
(reduce (fn [m [prop ent]]
301301
(assoc-in m
302-
[prop (select-keys ent [:block/content :block/original-name])]
302+
[prop (select-keys ent [:block/content :block/title])]
303303
;; later: Support multiple types
304304
(first (:types ent))))
305305
{}))
306306
_ (println "Validating domains for" (count domain-properties) "properties")
307307
children-maps (->> all-things
308308
(filter #(= "Class" (first (get-in % [:block/properties :type]))))
309-
(map #(vector (:block/original-name %) (first (get-in % [:block/properties :parent]))))
309+
(map #(vector (:block/title %) (first (get-in % [:block/properties :parent]))))
310310
(into {}))]
311311
(doseq [[property domains] domain-properties]
312312
(validate-property-domains property domains (property-ents property) children-maps))))
@@ -317,7 +317,7 @@
317317
:in $ %
318318
:where (page-property ?b :type "Property")]
319319
@state/db-conn
320-
(vals rules/query-dsl-rules))
320+
[(:page-property file-rules/query-dsl-rules)])
321321
(map first)
322322
(map #(assoc (:block/properties %) :block/name (:block/name %)))))
323323

yarn.lock

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@
22
# yarn lockfile v1
33

44

5-
"@logseq/nbb-logseq@^1.2.173":
6-
version "1.2.173"
7-
resolved "https://registry.yarnpkg.com/@logseq/nbb-logseq/-/nbb-logseq-1.2.173.tgz#27a52c350f06ac9c337d73687738f6ea8b2fc3f3"
8-
integrity sha512-ABKPtVnSOiS4Zpk9+UTaGcs5H6EUmRADr9FJ0aEAVpa0WfAyvUbX/NgkQGMe1kKRv3EbIuLwaxfy+txr31OtAg==
5+
"@logseq/nbb-logseq@logseq/nbb-logseq#feat-db-v24":
6+
version "1.2.173-feat-db-v24"
7+
resolved "https://codeload.github.com/logseq/nbb-logseq/tar.gz/3d5b78b0382c7253bf9874c1f38586dd338434f4"
98
dependencies:
10-
import-meta-resolve "^2.1.0"
9+
import-meta-resolve "^4.1.0"
1110

1211
ansi-regex@^2.0.0:
1312
version "2.1.1"
@@ -93,10 +92,10 @@ get-stream@^4.0.0:
9392
dependencies:
9493
pump "^3.0.0"
9594

96-
import-meta-resolve@^2.1.0:
97-
version "2.1.0"
98-
resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-2.1.0.tgz#c8952d331ed6e9bb6ad524a7549deb3d34af41ce"
99-
integrity sha512-yG9pxkWJVTy4cmRsNWE3ztFdtFuYIV8G4N+cbCkO8b+qngkLyIUhxQFuZ0qJm67+0nUOxjMPT7nfksPKza1v2g==
95+
import-meta-resolve@^4.1.0:
96+
version "4.1.0"
97+
resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz#f9db8bead9fafa61adb811db77a2bf22c5399706"
98+
integrity sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==
10099

101100
invert-kv@^2.0.0:
102101
version "2.0.0"
@@ -161,10 +160,10 @@ mimic-fn@^2.0.0:
161160
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
162161
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
163162

164-
mldoc@^1.5.0:
165-
version "1.5.0"
166-
resolved "https://registry.yarnpkg.com/mldoc/-/mldoc-1.5.0.tgz#c1250115ef320ec3eaf9717dd65730b041d78e7b"
167-
integrity sha512-V1HSNCOkeWRukQPfOdUv12wMKeNSVNzz2AIvjsmi/C8fakimoOt5oJA+H+r1bNf+7j9PBtagEzbrTTRKoOmqpw==
163+
mldoc@^1.5.9:
164+
version "1.5.9"
165+
resolved "https://registry.yarnpkg.com/mldoc/-/mldoc-1.5.9.tgz#43d740351c64285f0f4988ac9497922d54ae66fc"
166+
integrity sha512-87FQ7hseS87tsk+VdpIigpu8LH+GwmbbFgpxgFwvnbH5oOjmIrc47laH4Dyggzqiy8/vMjDHkl7vsId0eXhCDQ==
168167
dependencies:
169168
yargs "^12.0.2"
170169

0 commit comments

Comments
 (0)