fix(build): rm parser-worker patch

This commit is contained in:
Andelf
2021-12-25 18:46:16 +08:00
committed by Tienson Qin
parent a1825370ef
commit 3d12402b6a
4 changed files with 18 additions and 15 deletions

View File

@@ -48,9 +48,9 @@
"gulp:build": "cross-env NODE_ENV=production gulp build",
"css:build": "postcss tailwind.all.css -o static/css/style.css --verbose --env production",
"css:watch": "TAILWIND_MODE=watch postcss tailwind.all.css -o static/css/style.css --verbose --watch",
"cljs:watch": "PATCH_PARSER_WORKER=$(cat \"./templates/patch.parser.worker.js\" | sed -e \"s#PWD_ROOT#`pwd`#g\") clojure -M:cljs watch parser-worker app electron",
"cljs:app-watch": "PATCH_PARSER_WORKER=$(cat \"./templates/patch.parser.worker.js\" | sed -e \"s#PWD_ROOT#`pwd`#g\") clojure -M:cljs watch parser-worker app",
"cljs:electron-watch": "PATCH_PARSER_WORKER=$(cat \"./templates/patch.parser.worker.js\" | sed -e \"s#PWD_ROOT#`pwd`#g\") clojure -M:cljs watch parser-worker app electron",
"cljs:watch": "clojure -M:cljs watch parser-worker app electron",
"cljs:app-watch": "clojure -M:cljs watch parser-worker app",
"cljs:electron-watch": "clojure -M:cljs watch parser-worker app electron",
"cljs:release": "clojure -M:cljs release parser-worker app publishing electron",
"cljs:release-electron": "clojure -M:cljs release parser-worker app publishing electron --debug",
"cljs:release-app": "clojure -M:cljs release parser-worker app",

View File

@@ -63,8 +63,7 @@
:asset-path "./js"
:compiler-options {:source-map false}
:modules {:parser-worker {:entries [frontend.worker.parser]
:web-worker true
:prepend #shadow/env ["PATCH_PARSER_WORKER" :default ";;"]}}
:web-worker true}}
:release {:compiler-options {:infer-externs :auto}}}
:test {:target :node-test

View File

@@ -3,18 +3,30 @@
[frontend.config :as config]
[frontend.util :as util]
[promesa.core :as p]
[clojure.string :as string]
["threads" :refer [Pool Worker spawn]]
[frontend.mobile.util :as mobile-util]))
(defonce parser-pool (atom nil))
(defn- absolute-path-for-worker
"Returns the absolute path to the worker file, on Windows.
NOTE: This is a bug in threads.js.
See-also: https://github.com/andywer/threads.js/blob/8f94053f028b0d4e4fb1fdec535867f6d0e23946/src/master/implementation.browser.ts#L10"
[path]
(if util/win32?
(-> path
(p/then #(str "//./" (string/replace % "\\" "/"))))
path))
(defn create-parser-pool!
([]
(create-parser-pool! 8))
([num]
(p/let [static-path (if (and (util/electron?)
(= "file:" (.-protocol js/location)))
(ipc/ipc :getDirname)
(absolute-path-for-worker (ipc/ipc :getDirname))
"/static")
path (str static-path "/js/parser-worker.js")
path (if (or (util/electron?)
@@ -68,6 +80,4 @@
(comment
(add-parse-job! "- hello" (frontend.format.mldoc/default-config :markdown))
(add-parse-job! "*world*" (frontend.format.mldoc/default-config :markdown))
)
(add-parse-job! "*world*" (frontend.format.mldoc/default-config :markdown)))

View File

@@ -1,6 +0,0 @@
const originImportScripts = globalThis.importScripts
const importScripts = (url) => {
originImportScripts(
(location.href.startsWith('blob') ? 'file://PWD_ROOT/static/js/' : '') + url
)
};;