bb.edn 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. {:paths ["scripts/src" "src/main" "src/resources"]
  2. :deps
  3. {metosin/malli
  4. {:mvn/version "0.16.1"}
  5. logseq/bb-tasks
  6. #_{:local/root "../bb-tasks"}
  7. {:git/url "https://github.com/logseq/bb-tasks"
  8. :git/sha "70d3edeb287f5cec7192e642549a401f7d6d4263"}
  9. logseq/graph-parser
  10. {:local/root "deps/graph-parser"}
  11. org.clj-commons/digest
  12. {:mvn/version "1.4.100"}}
  13. :pods
  14. {clj-kondo/clj-kondo {:version "2023.05.26"}
  15. org.babashka/fswatcher {:version "0.0.3"}
  16. org.babashka/go-sqlite3 {:version "0.1.0"}}
  17. :tasks
  18. {dev:desktop-watch
  19. logseq.tasks.dev.desktop/watch
  20. dev:open-dev-electron-app
  21. logseq.tasks.dev.desktop/open-dev-electron-app
  22. -dev:electron-start
  23. {:depends [dev:desktop-watch dev:open-dev-electron-app]}
  24. dev:electron-start
  25. {:doc "Start electron dev by watching assets and opening dev app"
  26. ;; Parallel execution - https://book.babashka.org/#parallel
  27. :task (run '-dev:electron-start {:parallel true})}
  28. dev:app-watch
  29. logseq.tasks.dev.mobile/app-watch
  30. -dev:build-publishing-frontend
  31. logseq.tasks.dev/build-publishing-frontend
  32. dev:publishing-backend
  33. logseq.tasks.dev/publishing-backend
  34. -dev:publishing-release
  35. {:depends [-dev:build-publishing-frontend]
  36. :doc "Build release publishing spa app given graph and output dirs"
  37. :task (run 'dev:publishing-backend)}
  38. -dev:watch-publishing-frontend
  39. logseq.tasks.dev/watch-publishing-frontend
  40. -dev:watch-publishing-backend
  41. logseq.tasks.dev/watch-publishing-backend
  42. -dev:publishing-dev
  43. {:depends [-dev:watch-publishing-frontend -dev:watch-publishing-backend]
  44. :doc "Watch dev publishing spa app given graph and output dirs"}
  45. dev:publishing
  46. {:doc "Builds full publishing app given graph and output dirs. Append --dev to watch frontend"
  47. :task (if ((set *command-line-args*) "--dev")
  48. (run '-dev:publishing-dev {:parallel true})
  49. (run '-dev:publishing-release))}
  50. dev:validate-db
  51. {:doc "Validate a DB graph's datascript schema"
  52. :requires ([babashka.fs :as fs])
  53. :task (apply shell {:dir "deps/db" :extra-env {"ORIGINAL_PWD" (fs/cwd)}}
  54. "yarn -s nbb-logseq script/validate_client_db.cljs"
  55. *command-line-args*)}
  56. dev:db-query
  57. {:doc "Query a DB graph's datascript db"
  58. :requires ([babashka.fs :as fs])
  59. :task (apply shell {:dir "deps/db" :extra-env {"ORIGINAL_PWD" (fs/cwd)}}
  60. "yarn -s nbb-logseq script/query.cljs" *command-line-args*)}
  61. dev:db-transact
  62. {:doc "Transact against a DB graph's datascript db"
  63. :task (apply shell {:dir "deps/outliner"} "yarn -s nbb-logseq script/transact.cljs" *command-line-args*)}
  64. dev:db-import
  65. {:doc "Import a file graph to db graph"
  66. :requires ([babashka.fs :as fs])
  67. :task (apply shell {:dir "deps/graph-parser" :extra-env {"ORIGINAL_PWD" (fs/cwd)}}
  68. "yarn -s nbb-logseq -cp src:../outliner/src:../../scripts/src script/db_import.cljs" *command-line-args*)}
  69. dev:db-datoms
  70. {:doc "Write db's datoms to a file"
  71. :requires ([babashka.fs :as fs])
  72. :task (apply shell {:dir "deps/db" :extra-env {"ORIGINAL_PWD" (fs/cwd)}}
  73. "yarn -s nbb-logseq script/dump_datoms.cljs"
  74. *command-line-args*)}
  75. dev:diff-datoms
  76. logseq.tasks.dev/diff-datoms
  77. dev:npx-cap-run-ios
  78. logseq.tasks.dev.mobile/npx-cap-run-ios
  79. -dev:ios-app
  80. {:depends [dev:app-watch dev:npx-cap-run-ios]}
  81. dev:ios-app
  82. {:doc "iOS development environment"
  83. :task (run '-dev:ios-app {:parallel true})}
  84. release:ios-app
  85. logseq.tasks.dev.mobile/run-ios-release
  86. dev:npx-cap-run-android
  87. logseq.tasks.dev.mobile/npx-cap-run-android
  88. -dev:android-app
  89. {:depends [dev:app-watch dev:npx-cap-run-android]}
  90. dev:android-app
  91. {:doc "Android development environment"
  92. :task (run '-dev:android-app {:parallel true})}
  93. release:android-app
  94. logseq.tasks.dev.mobile/run-android-release
  95. dev:validate-local-storage
  96. logseq.tasks.spec/validate-local-storage
  97. dev:validate-plugins-edn
  98. logseq.tasks.malli/validate-plugins-edn
  99. dev:validate-repo-config-edn
  100. logseq.tasks.malli/validate-repo-config-edn
  101. dev:validate-global-config-edn
  102. logseq.tasks.malli/validate-global-config-edn
  103. dev:validate-ast
  104. logseq.tasks.malli/validate-ast
  105. dev:lint
  106. logseq.tasks.dev/lint
  107. dev:test
  108. logseq.tasks.dev/test
  109. dev:lint-and-test
  110. logseq.tasks.dev/lint-and-test
  111. dev:gen-malli-kondo-config
  112. logseq.tasks.dev/gen-malli-kondo-config
  113. lint:large-vars
  114. logseq.bb-tasks.lint.large-vars/-main
  115. lint:carve
  116. logseq.bb-tasks.lint.carve/-main
  117. lint:ns-docstrings
  118. logseq.bb-tasks.lint.ns-docstrings/-main
  119. lint:db-and-file-graphs-separate
  120. logseq.tasks.dev.db-and-file-graphs/-main
  121. nbb:watch
  122. logseq.bb-tasks.nbb.watch/watch
  123. nbb:portal-watch
  124. logseq.bb-tasks.nbb.watch/portal-watch
  125. lang:list
  126. logseq.tasks.lang/list-langs
  127. lang:missing
  128. logseq.tasks.lang/list-missing
  129. lang:validate-translations
  130. logseq.tasks.lang/validate-translations
  131. file-sync:integration-tests
  132. logseq.tasks.file-sync/integration-tests}
  133. :tasks/config
  134. {:large-vars
  135. ;; TODO: Get to a smaller max-lines-count
  136. {:max-lines-count 100
  137. ;; TODO: Address vars tagged with cleanup-todo. These
  138. ;; are left mostly because they are not high priority
  139. ;; or not well understood
  140. :metadata-exceptions #{:large-vars/cleanup-todo}}
  141. :ns-docstrings
  142. {:paths ["src/main"]
  143. ;; Ignore namespaces that won't be helpful to document initially
  144. ;; e.g. frontend.components.onboarding -> "Onboarding fns"
  145. :ignore-regex "^(frontend.components|frontend.extensions|frontend.modules|frontend.mobile|logseq.sdk)"}}}