Files
logseq/bb.edn
Gabriel Horner 54ecf01cd7 add lint for keeping file and db graphs separate
Detected some minor unused code. May run this in CI later.
Writing this script demonstrates more namespaces could be split
up but will wait till at least enum PR lands
2023-11-01 11:28:50 -04:00

154 lines
4.2 KiB
Clojure

{:paths ["scripts/src" "src/main" "src/resources"]
:deps
{metosin/malli
{:mvn/version "0.10.0"}
logseq/bb-tasks
#_{:local/root "../bb-tasks"}
{:git/url "https://github.com/logseq/bb-tasks"
:git/sha "70d3edeb287f5cec7192e642549a401f7d6d4263"}
logseq/graph-parser
{:local/root "deps/graph-parser"}
org.clj-commons/digest
{:mvn/version "1.4.100"}}
:pods
{clj-kondo/clj-kondo {:version "2023.05.26"}
org.babashka/fswatcher {:version "0.0.3"}
org.babashka/go-sqlite3 {:version "0.1.0"}}
:tasks
{dev:desktop-watch
logseq.tasks.dev.desktop/watch
dev:open-dev-electron-app
logseq.tasks.dev.desktop/open-dev-electron-app
-dev:electron-start
{:depends [dev:desktop-watch dev:open-dev-electron-app]}
dev:electron-start
{:doc "Start electron dev by watching assets and opening dev app"
;; Parallel execution - https://book.babashka.org/#parallel
:task (run '-dev:electron-start {:parallel true})}
dev:app-watch
logseq.tasks.dev.mobile/app-watch
dev:build-publishing
logseq.tasks.dev/build-publishing
dev:publishing
{:depends [dev:build-publishing]
:doc "Build publishing spa app given graph and output dirs"
:task (apply shell {:dir "scripts"}
"yarn -s nbb-logseq -cp src -m logseq.tasks.dev.publishing"
(into ["static"] *command-line-args*))}
dev:validate-db
{:doc "Validate a DB graph's datascript schema"
:requires ([babashka.fs :as fs])
:task (apply shell {:dir "deps/db" :extra-env {"ORIGINAL_PWD" (fs/cwd)}}
"yarn -s nbb-logseq script/validate_client_db.cljs"
*command-line-args*)}
dev:db-query
{:doc "Query a DB graph's datascript db"
:task (apply shell {:dir "deps/db"} "yarn -s nbb-logseq script/query.cljs" *command-line-args*)}
dev:db-transact
{:doc "Transact against a DB graph's datascript db"
:task (apply shell {:dir "deps/outliner"} "yarn -s nbb-logseq script/transact.cljs" *command-line-args*)}
dev:npx-cap-run-ios
logseq.tasks.dev.mobile/npx-cap-run-ios
-dev:ios-app
{:depends [dev:app-watch dev:npx-cap-run-ios]}
dev:ios-app
{:doc "iOS development environment"
:task (run '-dev:ios-app {:parallel true})}
release:ios-app
logseq.tasks.dev.mobile/run-ios-release
dev:npx-cap-run-android
logseq.tasks.dev.mobile/npx-cap-run-android
-dev:android-app
{:depends [dev:app-watch dev:npx-cap-run-android]}
dev:android-app
{:doc "Android development environment"
:task (run '-dev:android-app {:parallel true})}
release:android-app
logseq.tasks.dev.mobile/run-android-release
dev:validate-local-storage
logseq.tasks.spec/validate-local-storage
dev:validate-plugins-edn
logseq.tasks.malli/validate-plugins-edn
dev:validate-repo-config-edn
logseq.tasks.malli/validate-repo-config-edn
dev:validate-global-config-edn
logseq.tasks.malli/validate-global-config-edn
dev:validate-ast
logseq.tasks.malli/validate-ast
dev:lint
logseq.tasks.dev/lint
dev:gen-malli-kondo-config
logseq.tasks.dev/gen-malli-kondo-config
dev:validate-sqlite-data
logseq.tasks.validate-sqlite-data/-main
lint:large-vars
logseq.bb-tasks.lint.large-vars/-main
lint:carve
logseq.bb-tasks.lint.carve/-main
lint:ns-docstrings
logseq.bb-tasks.lint.ns-docstrings/-main
lint:db-and-file-graphs-separate
logseq.tasks.dev.db-and-file-graphs/-main
nbb:watch
logseq.bb-tasks.nbb.watch/watch
nbb:portal-watch
logseq.bb-tasks.nbb.watch/portal-watch
lang:list
logseq.tasks.lang/list-langs
lang:missing
logseq.tasks.lang/list-missing
lang:validate-translations
logseq.tasks.lang/validate-translations
file-sync:integration-tests
logseq.tasks.file-sync/integration-tests}
:tasks/config
{:large-vars
;; TODO: Get to a smaller max-lines-count
{:max-lines-count 100
;; TODO: Address vars tagged with cleanup-todo. These
;; are left mostly because they are not high priority
;; or not well understood
:metadata-exceptions #{:large-vars/cleanup-todo}}
:ns-docstrings
{:paths ["src/main"]
;; Ignore namespaces that won't be helpful to document initially
;; e.g. frontend.components.onboarding -> "Onboarding fns"
:ignore-regex "^(frontend.components|frontend.extensions|frontend.modules|frontend.mobile|logseq.sdk)"}}}