mirror of
https://github.com/logseq/logseq.git
synced 2026-04-24 22:25:01 +00:00
Start electron dev env with one cmd
Thanks @borkdude for the gist :)
This commit is contained in:
14
bb.edn
14
bb.edn
@@ -7,4 +7,16 @@
|
||||
logseq.tasks.lang/lang-missing
|
||||
|
||||
lang:invalid
|
||||
logseq.tasks.lang/lang-invalid}}
|
||||
logseq.tasks.lang/lang-invalid
|
||||
|
||||
dev:watch
|
||||
logseq.tasks.dev/watch
|
||||
|
||||
dev:open-dev-electron-app
|
||||
logseq.tasks.dev/open-dev-electron-app
|
||||
|
||||
-dev:electron-dev
|
||||
{:depends [dev:watch dev:open-dev-electron-app]}
|
||||
|
||||
dev:electron-dev
|
||||
logseq.tasks.dev/electron-dev}}
|
||||
|
||||
33
scripts/src/logseq/tasks/dev.clj
Normal file
33
scripts/src/logseq/tasks/dev.clj
Normal file
@@ -0,0 +1,33 @@
|
||||
(ns logseq.tasks.dev
|
||||
"Tasks for development"
|
||||
(:require [babashka.fs :as fs]
|
||||
[babashka.tasks :refer [shell]]))
|
||||
|
||||
(defn watch
|
||||
"Watches environment to reload cljs, css and other assets"
|
||||
[]
|
||||
(shell "yarn watch"))
|
||||
|
||||
(defn- file-modified-later-than?
|
||||
[file comparison-instant]
|
||||
(pos? (.compareTo (fs/file-time->instant (fs/last-modified-time file))
|
||||
comparison-instant)))
|
||||
|
||||
;; Works whether yarn clean has been run before or not
|
||||
(defn open-dev-electron-app
|
||||
"Opens dev-electron-app when watch process has built main.js"
|
||||
[]
|
||||
(let [start-time (java.time.Instant/now)]
|
||||
(dotimes [_n 1000]
|
||||
(if (and (fs/exists? "static/js/main.js")
|
||||
(file-modified-later-than? "static/js/main.js" start-time))
|
||||
(shell "yarn dev-electron-app")
|
||||
(println "Waiting for app to build..."))
|
||||
(Thread/sleep 1000))))
|
||||
|
||||
;; Thanks to https://gist.github.com/borkdude/35bc0a20bd4c112dec2c5645f67250e3
|
||||
;; for this idea
|
||||
(defn electron-dev
|
||||
"Start electron dev that includes watching assets and opening dev app"
|
||||
[]
|
||||
(shell "bb run --parallel -dev:electron-dev"))
|
||||
Reference in New Issue
Block a user