Execution error (FileNotFoundException) at java.io.FileInputStream/open0 (FileInputStream.java:-2). -M:cljs (No such file or directory)
, it means you have a wrong Clojure version installed. Please uninstall it and follow the instructions linked.)This is a required step before doing any development or production builds.
git clone https://github.com/logseq/logseq
cd logseq
yarn
yarn watch
Then open the browser http://localhost:3001.
With yarn watch
running, it should prints shadow-cljs - nREPL server started on port 8701
You may connect to the nREPL server with:
cmd + shift + p
-> Calva: Connect to a Running REPL Server in the Project
-> logseq
-> shadow-cljs
->:app
->localhost:8701
(change :app
to :electron
if you want to connect to the main thread of the Electron app)
Open a dev environment (Browser dev app on localhost:3000
or Desktop dev app), then you can play REPL on the current editing file:
cmd + shift + p
-> Calva: Load/Evaluate Current File and its Requires/Dependencies
When connecting to a CLJ nrepl (NOTE: if you are already in a CLJS nrepl, use :cljs/quit
to go back to CLJ nrepl),
you may run (shadow.user/worker-repl)
, or use (shadow/nrepl-select :app {:runtime-id <id-num>})
to connect to a web-worker context.
[!TIP] you can find the
<id-num>
in http://localhost:9630/runtimes
The setup is almost same as Calva except it requires switching REPL from CLJ to CLJS manually.
yarn watch
, wait until it prints shadow-cljs - nREPL server started on port 8701
(shadow.cljs.devtools.api/repl :app)
(js/alert "hello world")
, it should show an alert dialog in the browser window[!WARNING] You need open the browser dev app (http://localhost:3001) before executing step 5, otherwise it will throw an error:
### Production Build
bash yarn release
The released files will be at `static/` directory. ## Desktop app development ### Development 1. Install npm packages for building the desktop app
bash yarn install cd static yarn install cd ..
2. Compile to JavaScript and open the dev app
bash yarn watch
Wait until watch reports
Build Completed.
for:electron
and:app
.Then, run the following command in a different shell.
If you have opened desktop logseq, you should close it. Otherwise, this command will fail.
yarn dev-electron-app
Alternatively, run `bb dev:electron-start` to do this step with one command. To download bb, see https://github.com/babashka/babashka#installation. 3. (Optional) Update dependencies if `resources/package.json` has changed since the last time you used dev Logseq.
bash
pull new changes
git pull
cd static && yarn install && cd ..
Here `static/` is generated by `yarn watch` command.
### Production Build
Build a release:
bash yarn release-electron ```
The final released binaries or installers will be at static/out/
.