mirror of
https://github.com/logseq/logseq.git
synced 2026-02-01 14:43:56 +00:00
fix: add shadow-cljs.edn for publish worker
This commit is contained in:
6
deps.edn
6
deps.edn
@@ -30,7 +30,6 @@
|
||||
expound/expound {:mvn/version "0.8.6"}
|
||||
com.lambdaisland/glogi {:git/url "https://github.com/lambdaisland/glogi"
|
||||
:git/sha "30328a045141717aadbbb693465aed55f0904976"}
|
||||
binaryage/devtools {:mvn/version "1.0.5"}
|
||||
camel-snake-kebab/camel-snake-kebab {:mvn/version "0.4.3"}
|
||||
instaparse/instaparse {:mvn/version "1.4.10"}
|
||||
org.clojars.mmb90/cljs-cache {:mvn/version "0.1.4"}
|
||||
@@ -38,7 +37,6 @@
|
||||
logseq/common {:local/root "deps/common"}
|
||||
logseq/graph-parser {:local/root "deps/graph-parser"}
|
||||
logseq/outliner {:local/root "deps/outliner"}
|
||||
logseq/publish {:local/root "deps/publish"}
|
||||
logseq/publishing {:local/root "deps/publishing"}
|
||||
logseq/cli {:local/root "deps/cli"}
|
||||
logseq/shui {:local/root "deps/shui"}
|
||||
@@ -57,9 +55,9 @@
|
||||
:extra-deps {org.clojure/tools.namespace {:mvn/version "0.2.11"}
|
||||
cider/cider-nrepl {:mvn/version "0.55.1"}
|
||||
org.clojars.knubie/cljs-run-test {:mvn/version "1.0.1"}
|
||||
tortue/spy {:mvn/version "2.14.0"}}
|
||||
tortue/spy {:mvn/version "2.14.0"}
|
||||
binaryage/devtools {:mvn/version "1.0.5"}}
|
||||
:main-opts ["-m" "shadow.cljs.devtools.cli"]}
|
||||
|
||||
:test {:extra-paths ["src/test/"]
|
||||
:extra-deps {org.clojure/test.check {:mvn/version "1.1.1"}
|
||||
pjstadig/humane-test-output {:mvn/version "0.11.0"}
|
||||
|
||||
24
deps/db/src/logseq/db/common/entity_plus.cljc
vendored
24
deps/db/src/logseq/db/common/entity_plus.cljc
vendored
@@ -53,25 +53,21 @@
|
||||
[]
|
||||
(vreset! *seen-immutable-entities {}))
|
||||
|
||||
(def ^:private *reset-cache-background-task-running?
|
||||
;; missionary is not compatible with nbb, so entity-memoized is disabled in nbb
|
||||
(delay
|
||||
;; FIXME: Correct dependency ordering instead of resolve workaround
|
||||
#?(:org.babashka/nbb false
|
||||
:cljs (when-let [f (resolve 'frontend.common.missionary/background-task-running?)]
|
||||
(f :logseq.db.common.entity-plus/reset-immutable-entities-cache!)))))
|
||||
(defonce *reset-cache-background-task-running-f (atom nil))
|
||||
|
||||
(defn entity-memoized
|
||||
[db eid]
|
||||
(if (and (qualified-keyword? eid) (not (exists? js/process))) ; don't memoize on node
|
||||
(when-not (contains? nil-db-ident-entities eid) ;fast return nil
|
||||
(if (and @*reset-cache-background-task-running?
|
||||
(contains? immutable-db-ident-entities eid)) ;return cache entity if possible which isn't nil
|
||||
(or (get @*seen-immutable-entities eid)
|
||||
(let [r (d/entity db eid)]
|
||||
(when r (vswap! *seen-immutable-entities assoc eid r))
|
||||
r))
|
||||
(d/entity db eid)))
|
||||
(let [f @*reset-cache-background-task-running-f]
|
||||
(if (and (fn? f)
|
||||
(f :logseq.db.common.entity-plus/reset-immutable-entities-cache!)
|
||||
(contains? immutable-db-ident-entities eid)) ;return cache entity if possible which isn't nil
|
||||
(or (get @*seen-immutable-entities eid)
|
||||
(let [r (d/entity db eid)]
|
||||
(when r (vswap! *seen-immutable-entities assoc eid r))
|
||||
r))
|
||||
(d/entity db eid))))
|
||||
(d/entity db eid)))
|
||||
|
||||
(defn unsafe->Entity
|
||||
|
||||
22
deps/publish/deps.edn
vendored
22
deps/publish/deps.edn
vendored
@@ -1,6 +1,24 @@
|
||||
{:deps
|
||||
{}
|
||||
{org.clojure/clojure {:mvn/version "1.11.1"}
|
||||
rum/rum {:git/url "https://github.com/logseq/rum" ;; fork
|
||||
:sha "5d672bf84ed944414b9f61eeb83808ead7be9127"}
|
||||
|
||||
datascript/datascript {:git/url "https://github.com/logseq/datascript" ;; fork
|
||||
:sha "ff5a7d5326e2546f40146e4a489343f557519bc3"}
|
||||
datascript-transit/datascript-transit {:mvn/version "0.3.0"}
|
||||
funcool/promesa {:mvn/version "11.0.678"}
|
||||
thheller/shadow-cljs {:mvn/version "3.3.4"}
|
||||
logseq/common {:local/root "../common"}
|
||||
logseq/graph-parser {:local/root "../graph-parser"}
|
||||
logseq/db {:local/root "../db"}
|
||||
missionary/missionary {:mvn/version "b.46"}
|
||||
com.cognitect/transit-cljs {:mvn/version "0.8.280"}}
|
||||
:aliases
|
||||
{:clj-kondo
|
||||
{:cljs {:extra-deps {org.clojure/tools.namespace {:mvn/version "0.2.11"}
|
||||
cider/cider-nrepl {:mvn/version "0.55.1"}
|
||||
org.clojars.knubie/cljs-run-test {:mvn/version "1.0.1"}
|
||||
tortue/spy {:mvn/version "2.14.0"}}
|
||||
:main-opts ["-m" "shadow.cljs.devtools.cli"]}
|
||||
:clj-kondo
|
||||
{:replace-deps {clj-kondo/clj-kondo {:mvn/version "2024.09.27"}}
|
||||
:main-opts ["-m" "clj-kondo.main"]}}}
|
||||
|
||||
9
deps/publish/package.json
vendored
9
deps/publish/package.json
vendored
@@ -1,5 +1,12 @@
|
||||
{
|
||||
"name": "@logseq/publish",
|
||||
"version": "1.0.0",
|
||||
"private": true
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"watch": "clojure -M:cljs watch publish-worker",
|
||||
"release": "clojure -M:cljs release publish-worker"
|
||||
},
|
||||
"dependencies": {
|
||||
"shadow-cljs": "^3.3.4"
|
||||
}
|
||||
}
|
||||
|
||||
12
deps/publish/shadow-cljs.edn
vendored
Normal file
12
deps/publish/shadow-cljs.edn
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
;; shadow-cljs configuration
|
||||
{:deps true
|
||||
:http {:port 9631}
|
||||
:nrepl {:port 8702}
|
||||
:builds
|
||||
{:publish-worker {:target :esm
|
||||
:output-dir "worker/dist/worker"
|
||||
:modules {:main {:exports {default logseq.publish.worker/worker
|
||||
PublishMetaDO logseq.publish.worker/PublishMetaDO}}}
|
||||
:js-options {:js-provider :import}
|
||||
:closure-defines {shadow.cljs.devtools.client.env/enabled false}
|
||||
:devtools {:enabled false}}}}
|
||||
20
deps/publish/src/logseq/publish/worker.cljs
vendored
20
deps/publish/src/logseq/publish/worker.cljs
vendored
@@ -291,15 +291,11 @@
|
||||
(def ref-regex
|
||||
(js/RegExp. "\\[\\[([0-9a-fA-F-]{36})\\]\\]|\\(\\(([0-9a-fA-F-]{36})\\)\\)" "g"))
|
||||
|
||||
(defonce inline-configs
|
||||
{:markdown (gp-mldoc/default-config :markdown)
|
||||
:org (gp-mldoc/default-config :org)})
|
||||
(defonce inline-config
|
||||
(gp-mldoc/default-config :markdown))
|
||||
|
||||
(defn inline-config [format]
|
||||
(get inline-configs format (:markdown inline-configs)))
|
||||
|
||||
(defn inline-ast [text format]
|
||||
(gp-mldoc/inline->edn text (inline-config format)))
|
||||
(defn inline-ast [text]
|
||||
(gp-mldoc/inline->edn text inline-config))
|
||||
|
||||
(defn content->nodes [content uuid->title graph-uuid]
|
||||
(let [s (or content "")
|
||||
@@ -396,9 +392,9 @@
|
||||
(:block/title block)
|
||||
(:block/name block)
|
||||
"")
|
||||
format (keyword (or (:block/format block) :markdown))
|
||||
format :markdown
|
||||
ctx (assoc ctx :format format)
|
||||
ast (inline-ast raw format)
|
||||
ast (inline-ast raw)
|
||||
content (if (seq ast)
|
||||
(inline->nodes-seq ctx ast)
|
||||
(content->nodes raw (:uuid->title ctx) (:graph-uuid ctx)))]
|
||||
@@ -406,9 +402,7 @@
|
||||
|
||||
(defn block-content-from-ref [ref ctx]
|
||||
(let [raw (or (get ref "source_block_content") "")
|
||||
format (keyword (or (get ref "source_block_format") "markdown"))
|
||||
ctx (assoc ctx :format format)
|
||||
ast (inline-ast raw format)
|
||||
ast (inline-ast raw)
|
||||
content (if (seq ast)
|
||||
(inline->nodes-seq ctx ast)
|
||||
(content->nodes raw (:uuid->title ctx) (:graph-uuid ctx)))]
|
||||
|
||||
1
deps/publish/worker/wrangler.toml
vendored
1
deps/publish/worker/wrangler.toml
vendored
@@ -1,6 +1,7 @@
|
||||
name = "logseq-publish"
|
||||
main = "dist/worker/main.js"
|
||||
compatibility_date = "2025-02-04"
|
||||
compatibility_flags = ["nodejs_compat"]
|
||||
|
||||
# Workers Logs
|
||||
# Docs: https://developers.cloudflare.com/workers/observability/logs/workers-logs/
|
||||
|
||||
84
deps/publish/yarn.lock
vendored
Normal file
84
deps/publish/yarn.lock
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
base64-js@^1.3.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
|
||||
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
|
||||
|
||||
buffer-from@^1.0.0:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
|
||||
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
|
||||
|
||||
buffer@^6.0.3:
|
||||
version "6.0.3"
|
||||
resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
|
||||
integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
|
||||
dependencies:
|
||||
base64-js "^1.3.1"
|
||||
ieee754 "^1.2.1"
|
||||
|
||||
ieee754@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
|
||||
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
|
||||
|
||||
isexe@^3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/isexe/-/isexe-3.1.1.tgz#4a407e2bd78ddfb14bea0c27c6f7072dde775f0d"
|
||||
integrity sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==
|
||||
|
||||
process@^0.11.10:
|
||||
version "0.11.10"
|
||||
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
|
||||
integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
|
||||
|
||||
readline-sync@^1.4.10:
|
||||
version "1.4.10"
|
||||
resolved "https://registry.yarnpkg.com/readline-sync/-/readline-sync-1.4.10.tgz#41df7fbb4b6312d673011594145705bf56d8873b"
|
||||
integrity sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==
|
||||
|
||||
shadow-cljs-jar@1.3.4:
|
||||
version "1.3.4"
|
||||
resolved "https://registry.yarnpkg.com/shadow-cljs-jar/-/shadow-cljs-jar-1.3.4.tgz#0939d91c468b4bc5eab5a958f79e7ef5696fdf62"
|
||||
integrity sha512-cZB2pzVXBnhpJ6PQdsjO+j/MksR28mv4QD/hP/2y1fsIa9Z9RutYgh3N34FZ8Ktl4puAXaIGlct+gMCJ5BmwmA==
|
||||
|
||||
shadow-cljs@^3.3.4:
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/shadow-cljs/-/shadow-cljs-3.3.4.tgz#d1593c1ad4eee1ed34f57aa68cdfc5caaf5696d9"
|
||||
integrity sha512-xZV+Ek5TeQtqcY++Otpto5DW+gXu/znIJjtTZjhfQl1yYxnfQNSyC2pS9/XoI3kmmQza3oY5WA0b45gS7W7W5g==
|
||||
dependencies:
|
||||
buffer "^6.0.3"
|
||||
process "^0.11.10"
|
||||
readline-sync "^1.4.10"
|
||||
shadow-cljs-jar "1.3.4"
|
||||
source-map-support "^0.5.21"
|
||||
which "^5.0.0"
|
||||
ws "^8.18.1"
|
||||
|
||||
source-map-support@^0.5.21:
|
||||
version "0.5.21"
|
||||
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
|
||||
integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
|
||||
dependencies:
|
||||
buffer-from "^1.0.0"
|
||||
source-map "^0.6.0"
|
||||
|
||||
source-map@^0.6.0:
|
||||
version "0.6.1"
|
||||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
|
||||
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
|
||||
|
||||
which@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/which/-/which-5.0.0.tgz#d93f2d93f79834d4363c7d0c23e00d07c466c8d6"
|
||||
integrity sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==
|
||||
dependencies:
|
||||
isexe "^3.1.1"
|
||||
|
||||
ws@^8.18.1:
|
||||
version "8.18.3"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.3.tgz#b56b88abffde62791c639170400c93dcb0c95472"
|
||||
integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==
|
||||
@@ -86,7 +86,7 @@
|
||||
"cljs:mobile-watch": "clojure -M:cljs watch mobile db-worker --config-merge \"{:output-dir \\\"./static/mobile/js\\\" :asset-path \\\"/static/mobile/js\\\" :release {:asset-path \\\"http://localhost\\\"}}\"",
|
||||
"cljs:release-mobile": "clojure -M:cljs release mobile db-worker --config-merge \"{:output-dir \\\"./static/mobile/js\\\" :asset-path \\\"/static/mobile/js\\\" :release {:asset-path \\\"http://localhost\\\"}}\"",
|
||||
"cljs:dev-watch": "clojure -M:cljs watch app db-worker inference-worker electron mobile",
|
||||
"cljs:app-watch": "clojure -M:cljs watch app db-worker inference-worker publish-worker",
|
||||
"cljs:app-watch": "clojure -M:cljs watch app db-worker inference-worker",
|
||||
"cljs:electron-watch": "clojure -M:cljs watch app db-worker inference-worker electron --config-merge \"{:asset-path \\\"./js\\\"}\"",
|
||||
"cljs:release": "clojure -M:cljs release app db-worker inference-worker publishing electron",
|
||||
"cljs:release-electron": "clojure -M:cljs release app db-worker inference-worker electron --debug && clojure -M:cljs release publishing",
|
||||
|
||||
@@ -217,11 +217,4 @@
|
||||
:entries [logseq.shui.storybook]
|
||||
:output-dir "packages/ui/.storybook/cljs"
|
||||
:devtools {:enabled true}
|
||||
:compiler-options {:optimizations :simple}}
|
||||
|
||||
:publish-worker {:target :esm
|
||||
:output-dir "deps/publish/worker/dist/worker"
|
||||
:modules {:main {:exports {default logseq.publish.worker/worker
|
||||
PublishMetaDO logseq.publish.worker/PublishMetaDO}}}
|
||||
:js-options {:js-provider :import}
|
||||
:devtools {:enabled false}}}}
|
||||
:compiler-options {:optimizations :simple}}}}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
(:require [cljs.core.async.impl.channels]
|
||||
[clojure.core.async :as a]
|
||||
[lambdaisland.glogi :as log]
|
||||
[logseq.db.common.entity-plus :as entity-plus]
|
||||
[missionary.core :as m]
|
||||
[promesa.protocols :as pt])
|
||||
(:import [missionary Cancelled]))
|
||||
@@ -158,6 +159,8 @@
|
||||
[key']
|
||||
(contains? @*background-task-cancelers key'))
|
||||
|
||||
(reset! entity-plus/*reset-cache-background-task-running-f background-task-running?)
|
||||
|
||||
(comment
|
||||
(defn >!
|
||||
"Return a task that
|
||||
|
||||
Reference in New Issue
Block a user