浏览代码

refactor: mv another common ns out of db dir

Allows for more improved separate linting
Gabriel Horner 5 月之前
父节点
当前提交
691b8866ef

+ 2 - 2
.clj-kondo/config.edn

@@ -9,7 +9,7 @@
 
 
   all-frontend
   all-frontend
   {:linters {:discouraged-namespace
   {:linters {:discouraged-namespace
-             {logseq.db.sqlite.cli {:message "frontend should not depend on CLI namespace with sqlite3 dependency"}
+             {logseq.db.common.sqlite-cli {:message "frontend should not depend on CLI namespace with sqlite3 dependency"}
               logseq.outliner.cli {:message "frontend should not depend on CLI namespace with sqlite3 dependency"}}}}
               logseq.outliner.cli {:message "frontend should not depend on CLI namespace with sqlite3 dependency"}}}}
 
 
   ;; false positive with match/match and _
   ;; false positive with match/match and _
@@ -195,7 +195,7 @@
              logseq.db.frontend.schema db-schema
              logseq.db.frontend.schema db-schema
              logseq.db.frontend.validate db-validate
              logseq.db.frontend.validate db-validate
              logseq.db.sqlite.build sqlite-build
              logseq.db.sqlite.build sqlite-build
-             logseq.db.sqlite.cli sqlite-cli
+             logseq.db.common.sqlite-cli sqlite-cli
              logseq.db.sqlite.create-graph sqlite-create-graph
              logseq.db.sqlite.create-graph sqlite-create-graph
              logseq.db.sqlite.export sqlite-export
              logseq.db.sqlite.export sqlite-export
              logseq.db.sqlite.util sqlite-util
              logseq.db.sqlite.util sqlite-util

+ 1 - 1
deps/db/.carve/config.edn

@@ -1,7 +1,7 @@
 {:paths ["src"]
 {:paths ["src"]
  :api-namespaces [logseq.db.common.sqlite
  :api-namespaces [logseq.db.common.sqlite
                   logseq.db.sqlite.util
                   logseq.db.sqlite.util
-                  logseq.db.sqlite.cli
+                  logseq.db.common.sqlite-cli
                   logseq.db.frontend.property
                   logseq.db.frontend.property
                   logseq.db.frontend.property.build
                   logseq.db.frontend.property.build
                   logseq.db.common.property-util
                   logseq.db.common.property-util

+ 1 - 1
deps/db/.clj-kondo/config.edn

@@ -30,7 +30,7 @@
              logseq.db.frontend.schema db-schema
              logseq.db.frontend.schema db-schema
              logseq.db.frontend.validate db-validate
              logseq.db.frontend.validate db-validate
              logseq.db.sqlite.build sqlite-build
              logseq.db.sqlite.build sqlite-build
-             logseq.db.sqlite.cli sqlite-cli
+             logseq.db.common.sqlite-cli sqlite-cli
              logseq.db.sqlite.create-graph sqlite-create-graph
              logseq.db.sqlite.create-graph sqlite-create-graph
              logseq.db.sqlite.export sqlite-export
              logseq.db.sqlite.export sqlite-export
              logseq.db.sqlite.util sqlite-util}}}
              logseq.db.sqlite.util sqlite-util}}}

+ 1 - 1
deps/db/script/diff_graphs.cljs

@@ -7,7 +7,7 @@
             [clojure.pprint :as pprint]
             [clojure.pprint :as pprint]
             [clojure.string :as string]
             [clojure.string :as string]
             [logseq.common.config :as common-config]
             [logseq.common.config :as common-config]
-            [logseq.db.sqlite.cli :as sqlite-cli]
+            [logseq.db.common.sqlite-cli :as sqlite-cli]
             [logseq.db.sqlite.export :as sqlite-export]
             [logseq.db.sqlite.export :as sqlite-export]
             [nbb.core :as nbb]))
             [nbb.core :as nbb]))
 
 

+ 1 - 1
deps/db/script/dump_datoms.cljs

@@ -7,7 +7,7 @@
               ["path" :as path]
               ["path" :as path]
               [clojure.pprint :as pprint]
               [clojure.pprint :as pprint]
               [datascript.core :as d]
               [datascript.core :as d]
-              [logseq.db.sqlite.cli :as sqlite-cli]
+              [logseq.db.common.sqlite-cli :as sqlite-cli]
               [nbb.core :as nbb]))
               [nbb.core :as nbb]))
 
 
 (defn read-graph
 (defn read-graph

+ 1 - 1
deps/db/script/export_graph.cljs

@@ -7,7 +7,7 @@
             [clojure.edn :as edn]
             [clojure.edn :as edn]
             [clojure.pprint :as pprint]
             [clojure.pprint :as pprint]
             [clojure.string :as string]
             [clojure.string :as string]
-            [logseq.db.sqlite.cli :as sqlite-cli]
+            [logseq.db.common.sqlite-cli :as sqlite-cli]
             [logseq.db.sqlite.export :as sqlite-export]
             [logseq.db.sqlite.export :as sqlite-export]
             [nbb.core :as nbb]))
             [nbb.core :as nbb]))
 
 

+ 1 - 1
deps/db/script/query.cljs

@@ -11,7 +11,7 @@
             [clojure.string :as string]
             [clojure.string :as string]
             [datascript.core :as d]
             [datascript.core :as d]
             [logseq.db.frontend.rules :as rules]
             [logseq.db.frontend.rules :as rules]
-            [logseq.db.sqlite.cli :as sqlite-cli]
+            [logseq.db.common.sqlite-cli :as sqlite-cli]
             [nbb.core :as nbb]))
             [nbb.core :as nbb]))
 
 
 (defn- sh
 (defn- sh

+ 1 - 1
deps/db/script/validate_db.cljs

@@ -9,7 +9,7 @@
             [datascript.core :as d]
             [datascript.core :as d]
             [logseq.db.frontend.malli-schema :as db-malli-schema]
             [logseq.db.frontend.malli-schema :as db-malli-schema]
             [logseq.db.frontend.validate :as db-validate]
             [logseq.db.frontend.validate :as db-validate]
-            [logseq.db.sqlite.cli :as sqlite-cli]
+            [logseq.db.common.sqlite-cli :as sqlite-cli]
             [malli.core :as m]
             [malli.core :as m]
             [malli.error :as me]
             [malli.error :as me]
             [nbb.core :as nbb]))
             [nbb.core :as nbb]))

+ 1 - 1
deps/db/src/logseq/db/sqlite/cli.cljs → deps/db/src/logseq/db/common/sqlite_cli.cljs

@@ -1,4 +1,4 @@
-(ns ^:node-only logseq.db.sqlite.cli
+(ns ^:node-only logseq.db.common.sqlite-cli
   "Primary ns to interact with DB files for DB and file graphs with node.js based CLIs"
   "Primary ns to interact with DB files for DB and file graphs with node.js based CLIs"
   (:require ["better-sqlite3" :as sqlite3]
   (:require ["better-sqlite3" :as sqlite3]
             ["fs" :as fs]
             ["fs" :as fs]

+ 2 - 3
deps/db/src/logseq/db/file_based/schema.cljs

@@ -32,9 +32,8 @@
    :block/path-refs {:db/valueType   :db.type/ref
    :block/path-refs {:db/valueType   :db.type/ref
                      :db/cardinality :db.cardinality/many}
                      :db/cardinality :db.cardinality/many}
 
 
-   ;; tags are structured classes
-   :block/tags {:db/valueType :db.type/ref
-                :db/cardinality :db.cardinality/many}
+  :block/tags {:db/valueType :db.type/ref
+               :db/cardinality :db.cardinality/many}
 
 
    ;; which block this block links to, used for tag, embeds
    ;; which block this block links to, used for tag, embeds
    :block/link {:db/valueType :db.type/ref
    :block/link {:db/valueType :db.type/ref

+ 1 - 1
deps/db/src/logseq/db/frontend/schema.cljs

@@ -61,7 +61,7 @@
     :else (throw (ex-info "Not a schema-version" {:data schema-version}))))
     :else (throw (ex-info "Not a schema-version" {:data schema-version}))))
 
 
 (def schema
 (def schema
-  "Schema for DB graphs"
+  "Schema for DB graphs. :block/tags are classes in this schema"
   (merge
   (merge
    (apply dissoc file-schema/schema file-schema/file-only-attributes)
    (apply dissoc file-schema/schema file-schema/file-only-attributes)
    {:block/name {:db/index true}        ; remove db/unique for :block/name
    {:block/name {:db/index true}        ; remove db/unique for :block/name

+ 1 - 1
deps/db/test/logseq/db/common/sqlite_test.cljs

@@ -7,7 +7,7 @@
             [datascript.core :as d]
             [datascript.core :as d]
             [logseq.db.common.sqlite :as sqlite-common-db]
             [logseq.db.common.sqlite :as sqlite-common-db]
             [logseq.db.sqlite.build :as sqlite-build]
             [logseq.db.sqlite.build :as sqlite-build]
-            [logseq.db.sqlite.cli :as sqlite-cli]
+            [logseq.db.common.sqlite-cli :as sqlite-cli]
             [logseq.db.sqlite.create-graph :as sqlite-create-graph]
             [logseq.db.sqlite.create-graph :as sqlite-create-graph]
             [logseq.db.test.helper :as db-test]))
             [logseq.db.test.helper :as db-test]))
 
 

+ 1 - 1
deps/outliner/script/transact.cljs

@@ -6,7 +6,7 @@
             [clojure.string :as string]
             [clojure.string :as string]
             [datascript.core :as d]
             [datascript.core :as d]
             [logseq.db.frontend.rules :as rules]
             [logseq.db.frontend.rules :as rules]
-            [logseq.db.sqlite.cli :as sqlite-cli]
+            [logseq.db.common.sqlite-cli :as sqlite-cli]
             [logseq.outliner.db-pipeline :as db-pipeline]
             [logseq.outliner.db-pipeline :as db-pipeline]
             [nbb.core :as nbb]))
             [nbb.core :as nbb]))
 
 

+ 1 - 1
deps/outliner/src/logseq/outliner/cli.cljs

@@ -4,7 +4,7 @@
             [datascript.core :as d]
             [datascript.core :as d]
             [logseq.db.sqlite.create-graph :as sqlite-create-graph]
             [logseq.db.sqlite.create-graph :as sqlite-create-graph]
             [logseq.db.sqlite.build :as sqlite-build]
             [logseq.db.sqlite.build :as sqlite-build]
-            [logseq.db.sqlite.cli :as sqlite-cli]
+            [logseq.db.common.sqlite-cli :as sqlite-cli]
             [logseq.outliner.db-pipeline :as db-pipeline]
             [logseq.outliner.db-pipeline :as db-pipeline]
             ["fs" :as fs]
             ["fs" :as fs]
             ["path" :as node-path]))
             ["path" :as node-path]))

+ 1 - 1
deps/publishing/script/publishing.cljs

@@ -4,7 +4,7 @@
             ["path" :as node-path]
             ["path" :as node-path]
             [clojure.edn :as edn]
             [clojure.edn :as edn]
             [datascript.core :as d]
             [datascript.core :as d]
-            [logseq.db.sqlite.cli :as sqlite-cli]
+            [logseq.db.common.sqlite-cli :as sqlite-cli]
             [logseq.db.sqlite.util :as sqlite-util]
             [logseq.db.sqlite.util :as sqlite-util]
             [logseq.graph-parser.cli :as gp-cli]
             [logseq.graph-parser.cli :as gp-cli]
             [logseq.publishing :as publishing]
             [logseq.publishing :as publishing]

+ 7 - 2
scripts/src/logseq/tasks/dev/db_and_file_graphs.clj

@@ -61,7 +61,8 @@
 
 
 (def file-graph-paths
 (def file-graph-paths
   "Paths _only_ for file graphs"
   "Paths _only_ for file graphs"
-  ["deps/graph-parser/src/logseq/graph_parser/db.cljs"
+  ["deps/db/src/logseq/db/file_based"
+   "deps/graph-parser/src/logseq/graph_parser/db.cljs"
    "deps/graph-parser/src/logseq/graph_parser/extract.cljc"
    "deps/graph-parser/src/logseq/graph_parser/extract.cljc"
    "deps/graph-parser/src/logseq/graph_parser/property.cljs"
    "deps/graph-parser/src/logseq/graph_parser/property.cljs"
    "deps/graph-parser/src/logseq/graph_parser.cljs"
    "deps/graph-parser/src/logseq/graph_parser.cljs"
@@ -119,12 +120,16 @@
                               "block/properties :"
                               "block/properties :"
                               ;; anything org mode except for org.babashka or urls like schema.org
                               ;; anything org mode except for org.babashka or urls like schema.org
                               "[^\\.]org[^\\.]"
                               "[^\\.]org[^\\.]"
+                              "file-based"
                               "#+BEGIN_"
                               "#+BEGIN_"
                               "#+END_"
                               "#+END_"
                               "pre-block"]))
                               "pre-block"]))
         ;; For now use the whole code line. If this is too brittle can make this smaller
         ;; For now use the whole code line. If this is too brittle can make this smaller
         allowed-exceptions #{":block/pre-block? :block/scheduled :block/deadline :block/type :block/name :block/marker"
         allowed-exceptions #{":block/pre-block? :block/scheduled :block/deadline :block/type :block/name :block/marker"
                              "(dissoc :block/format))]"
                              "(dissoc :block/format))]"
+                             ;; TODO: Mv these 2 file-based ns out of db files
+                             "(:require [logseq.db.file-based.rules :as file-rules]))"
+                             "[logseq.db.file-based.schema :as file-schema]))"
                              ;; The next 3 are from components.property.value
                              ;; The next 3 are from components.property.value
                              "{:block/name page-title})"
                              "{:block/name page-title})"
                              "(when-not (db/get-page journal)"
                              "(when-not (db/get-page journal)"
@@ -158,7 +163,7 @@
   (let [db-concepts
   (let [db-concepts
         ;; from logseq.db.frontend.schema
         ;; from logseq.db.frontend.schema
         ["closed-value" "class/properties" "classes" "property/parent"
         ["closed-value" "class/properties" "classes" "property/parent"
-         "logseq.property" "logseq.class"]
+         "logseq.property" "logseq.class" "db-based"]
         res (grep-many db-concepts file-graph-paths)]
         res (grep-many db-concepts file-graph-paths)]
     (when-not (and (= 1 (:exit res)) (= "" (:out res)))
     (when-not (and (= 1 (:exit res)) (= "" (:out res)))
       (println "The following files should not have contained db specific concepts:")
       (println "The following files should not have contained db specific concepts:")