Browse Source

fix: importer failing when property-pages/* config present

Fixes https://github.com/logseq/db-test/issues/220. Also removed
unused :extract-refs-from-property-value-fn
Gabriel Horner 8 months ago
parent
commit
753abd2732

+ 1 - 2
deps/graph-parser/src/logseq/graph_parser/block.cljs

@@ -191,8 +191,7 @@
                    ;; get links ast
                    (map last)
                    (mapcat (fn [value]
-                             (let [f (or (:extract-refs-from-property-value-fn user-config) extract-refs-from-property-value)]
-                               (f value (get user-config :format :markdown)))))
+                             (extract-refs-from-property-value value (get user-config :format :markdown))))
                    ;; comma separated collections
                    (concat (->> (map second properties)
                                 (filter coll?)

+ 2 - 1
deps/graph-parser/src/logseq/graph_parser/exporter.cljs

@@ -1559,7 +1559,8 @@
   "Builds options for use with export-doc-files"
   [config options]
   (-> {:extract-options {:date-formatter (common-config/get-date-formatter config)
-                         :user-config config
+                         ;; Remove config keys that break importing
+                         :user-config (dissoc config :property-pages/excludelist :property-pages/enabled?)
                          :filename-format (or (:file/name-format config) :legacy)
                          :verbose (:verbose options)}
        :user-config config

+ 11 - 0
deps/graph-parser/test/logseq/graph_parser/exporter_test.cljs

@@ -673,6 +673,17 @@
     (is (= "Thing" (get-in (d/entity @conn :user.class/CreativeWork) [:logseq.property/parent :block/title]))
         "New page correctly set as class parent")))
 
+(deftest-async export-files-with-property-pages-disabled
+  (p/let [file-graph-dir "test/resources/exporter-test-graph"
+          ;; any page with properties
+          files (mapv #(node-path/join file-graph-dir %) ["journals/2024_01_17.md"])
+          conn (db-test/create-conn)
+          _ (import-files-to-db files conn {:user-config {:property-pages/enabled? false
+                                                          :property-pages/excludelist #{:prop-string}}})]
+
+    (is (empty? (map :entity (:errors (db-validate/validate-db! @conn))))
+        "Created graph has no validation errors")))
+
 (deftest-async export-config-file-sets-title-format
   (p/let [conn (db-test/create-conn)
           read-file #(p/do! (pr-str {:journal/page-title-format "yyyy-MM-dd"}))