config.edn 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. {:ns-groups [{:pattern "frontend.components.*" :name all-components}
  2. {:pattern "frontend.*" :name all-frontend}]
  3. :config-in-ns
  4. ;; :used-underscored-binding is turned off for components because of false positive
  5. ;; for rum/defcs and _state.
  6. {all-components
  7. {:linters {:used-underscored-binding {:level :off}}}
  8. all-frontend
  9. {:linters {:discouraged-namespace
  10. {logseq.db.sqlite.cli {:message "frontend should not depend on CLI namespace with sqlite3 dependency"}
  11. logseq.outliner.cli {:message "frontend should not depend on CLI namespace with sqlite3 dependency"}}}}
  12. ;; false positive with match/match and _
  13. frontend.handler.paste {:linters {:used-underscored-binding {:level :off}}}
  14. frontend.db {:linters {:aliased-namespace-symbol
  15. {:exclude [frontend.db.conn frontend.db.react]}}}}
  16. :linters
  17. {:path-invalid-construct/string-join {:level :info}
  18. :defkeywords/invalid-arg {:level :warning}
  19. :regex-checks/double-escaped-regex {:level :warning}
  20. :aliased-namespace-symbol {:level :warning}
  21. :shadowed-var {:level :warning
  22. :exclude [key val name binding type uuid
  23. ;; FIXME: Remove the shadowed below as shadowing core fns isn't a good practice
  24. ;; FIXME: At least remove the first two lines as they have few uses
  25. re-pattern sequence dispatch-fn comp vec delay chunk
  26. fn t ex-data list int? hash range
  27. time sort-by namespace count parents exists? min
  28. new var ns resolve identity next meta vals keys exists?]}
  29. ;; Disable until it doesn't trigger false positives on rum/defcontext
  30. :earmuffed-var-not-dynamic {:level :off}
  31. ;; Disable until we decide to use conj! as recommended in docs
  32. :unused-value {:level :off}
  33. :unresolved-symbol {:exclude [goog.DEBUG
  34. goog.string.unescapeEntities
  35. ;; TODO:lint: Fix when fixing all type hints
  36. object]}
  37. :discouraged-var
  38. {rum.core/use-effect! {:message "Use frontend.hooks/use-effect! instead" :level :info}
  39. rum.core/use-memo {:message "Use frontend.hooks/use-memo instead" :level :info}
  40. rum.core/use-layout-effect! {:message "Use frontend.hooks/use-layout-effect! instead" :level :info}
  41. rum.core/use-callback {:message "Use frontend.hooks/use-callback instead" :level :info}}
  42. :unused-namespace {:level :warning
  43. :exclude [logseq.db.frontend.entity-plus]}
  44. ;; TODO:lint: Remove node-path excludes once we have a cleaner api
  45. :unresolved-var {:exclude [frontend.util/node-path.basename
  46. frontend.util/node-path.dirname
  47. frontend.util/node-path.join
  48. frontend.util/node-path.extname
  49. frontend.util/node-path.name
  50. ;; frontend.pubsub/def-mult-or-pub generate vars clj-kondo cannot resolve
  51. frontend.pubsub]}
  52. :consistent-alias
  53. {:aliases {"/electron/utils" js-utils
  54. "path" node-path
  55. cljs-time.coerce tc
  56. cljs-time.core t
  57. cljs.reader reader
  58. clojure.string string
  59. datascript.core d
  60. datascript.db ddb
  61. datascript.transit dt
  62. electron.ipc ipc
  63. electron.utils utils
  64. frontend.commands commands
  65. frontend.common.file-based.db common-file-db
  66. frontend.common.date common-date
  67. frontend.common.file.core common-file
  68. frontend.common.file.util wfu
  69. frontend.common.missionary-util c.m
  70. frontend.common.schema-register sr
  71. frontend.common.search-fuzzy fuzzy
  72. frontend.components.block.macros block-macros
  73. frontend.components.class class-component
  74. frontend.components.property property-component
  75. frontend.components.query query
  76. frontend.components.query.result query-result
  77. frontend.components.title title
  78. frontend.config config
  79. frontend.date date
  80. frontend.db db
  81. frontend.db-mixins db-mixins
  82. frontend.db.query-custom query-custom
  83. frontend.db.query-dsl query-dsl
  84. frontend.db.query-react query-react
  85. frontend.db.react react
  86. frontend.db.util db-utils
  87. frontend.diff diff
  88. frontend.encrypt encrypt
  89. frontend.extensions.sci sci
  90. frontend.format.block block
  91. frontend.format.mldoc mldoc
  92. frontend.fs fs
  93. frontend.fs.capacitor-fs capacitor-fs
  94. frontend.fs.memory-fs memory-fs
  95. frontend.fs.nfs nfs
  96. frontend.handler.common common-handler
  97. frontend.handler.common.developer dev-common-handler
  98. frontend.handler.common.page page-common-handler
  99. frontend.handler.common.plugin plugin-common-handler
  100. frontend.handler.config config-handler
  101. frontend.handler.db-based.editor db-editor-handler
  102. frontend.handler.db-based.export db-export-handler
  103. frontend.handler.db-based.page db-page-handler
  104. frontend.handler.db-based.property db-property-handler
  105. frontend.handler.db-based.property.util db-pu
  106. frontend.handler.editor.property editor-property
  107. frontend.handler.events events
  108. frontend.handler.extract extract
  109. frontend.handler.file-based.file file-handler
  110. frontend.handler.file-based.page file-page-handler
  111. frontend.handler.file-based.page-property file-page-property
  112. frontend.handler.file-based.property file-property-handler
  113. frontend.handler.file-based.property.util property-util
  114. frontend.handler.file-based.recent file-recent-handler
  115. frontend.handler.file-based.reset-file reset-file-handler
  116. frontend.handler.file-based.repo file-repo-handler
  117. frontend.handler.global-config global-config-handler
  118. frontend.handler.notification notification
  119. frontend.handler.page page-handler
  120. frontend.handler.plugin plugin-handler
  121. frontend.handler.plugin-config plugin-config-handler
  122. frontend.handler.property.file property-file
  123. frontend.handler.property.util pu
  124. frontend.handler.query.builder query-builder
  125. frontend.handler.repo repo-handler
  126. frontend.handler.repo-config repo-config-handler
  127. frontend.handler.route route-handler
  128. frontend.handler.search search-handler
  129. frontend.handler.ui ui-handler
  130. frontend.hooks hooks
  131. frontend.idb idb
  132. frontend.loader loader
  133. frontend.mixins mixins
  134. frontend.mobile.util mobile-util
  135. frontend.modules.outliner.ui ui-outliner-tx
  136. frontend.page page
  137. frontend.persist-db persist-db
  138. frontend.schema.handler.common-config common-config-schema
  139. frontend.search search
  140. frontend.state state
  141. frontend.template template
  142. frontend.test.helper test-helper
  143. frontend.ui ui
  144. frontend.util util
  145. frontend.util.file-based.clock clock
  146. frontend.util.file-based.drawer drawer
  147. frontend.util.page page-util
  148. frontend.util.persist-var persist-var
  149. frontend.util.property property
  150. frontend.util.text text-util
  151. frontend.util.thingatpt thingatpt
  152. frontend.util.url url-util
  153. frontend.worker.shared-service shared-service
  154. frontend.worker.handler.page worker-page
  155. frontend.worker.pipeline worker-pipeline
  156. frontend.worker.state worker-state
  157. frontend.worker.util worker-util
  158. lambdaisland.glogi log
  159. logseq.common.config common-config
  160. logseq.common.date-time-util date-time-util
  161. logseq.common.graph common-graph
  162. logseq.common.path path
  163. logseq.common.util common-util
  164. logseq.common.util.block-ref block-ref
  165. logseq.common.util.macro macro-util
  166. logseq.common.util.namespace ns-util
  167. logseq.common.util.page-ref page-ref
  168. logseq.db ldb
  169. logseq.db.common.entity-util common-entity-util
  170. logseq.db.common.order db-order
  171. logseq.db.common.property-util db-property-util
  172. logseq.db.common.sqlite sqlite-common-db
  173. logseq.db.common.view db-view
  174. logseq.db.file-based.rules file-rules
  175. logseq.db.file-based.schema file-schema
  176. logseq.db.file-based.entity-util file-entity-util
  177. logseq.db.frontend.class db-class
  178. logseq.db.frontend.content db-content
  179. logseq.db.frontend.db db-db
  180. logseq.db.frontend.db-ident db-ident
  181. logseq.db.frontend.entity-plus entity-plus
  182. logseq.db.frontend.entity-util entity-util
  183. logseq.db.frontend.inputs db-inputs
  184. logseq.db.frontend.property db-property
  185. logseq.db.frontend.property.build db-property-build
  186. logseq.db.frontend.property.type db-property-type
  187. logseq.db.frontend.rules rules
  188. logseq.db.frontend.schema db-schema
  189. logseq.db.frontend.validate db-validate
  190. logseq.db.sqlite.build sqlite-build
  191. logseq.db.sqlite.cli sqlite-cli
  192. logseq.db.sqlite.create-graph sqlite-create-graph
  193. logseq.db.sqlite.export sqlite-export
  194. logseq.db.sqlite.util sqlite-util
  195. logseq.db.test.helper db-test
  196. logseq.graph-parser graph-parser
  197. logseq.graph-parser.block gp-block
  198. logseq.graph-parser.db gp-db
  199. logseq.graph-parser.mldoc gp-mldoc
  200. logseq.graph-parser.property gp-property
  201. logseq.graph-parser.text text
  202. logseq.outliner.batch-tx batch-tx
  203. logseq.outliner.core outliner-core
  204. logseq.outliner.datascript-report ds-report
  205. logseq.outliner.op outliner-op
  206. logseq.outliner.pipeline outliner-pipeline
  207. logseq.outliner.validate outliner-validate
  208. logseq.shui.popup.core shui-popup
  209. logseq.shui.ui shui
  210. medley.core medley
  211. promesa.core p}}
  212. :namespace-name-mismatch {:level :warning}
  213. :used-underscored-binding {:level :warning}}
  214. :hooks {:analyze-call {rum.core/defc hooks.rum/defc
  215. rum.core/defcs hooks.rum/defcs
  216. clojure.string/join hooks.path-invalid-construct/string-join
  217. clojure.string/replace hooks.regex-checks/double-escaped-regex
  218. logseq.common.defkeywords/defkeywords hooks.defkeywords/defkeywords
  219. frontend.common.thread-api/def-thread-api hooks.def-thread-api/def-thread-api}}
  220. :lint-as {promesa.core/let clojure.core/let
  221. promesa.core/loop clojure.core/loop
  222. promesa.core/recur clojure.core/recur
  223. promesa.core/doseq clojure.core/doseq
  224. rum.core/defcc rum.core/defc
  225. rum.core/with-context clojure.core/let
  226. rum.core/defcontext clojure.core/def
  227. clojure.test.check.clojure-test/defspec clojure.core/def
  228. clojure.test.check.properties/for-all clojure.core/for
  229. ;; src/main
  230. frontend.namespaces/import-vars potemkin/import-vars
  231. ;; src/test
  232. frontend.test.helper/deftest-async clojure.test/deftest
  233. frontend.worker.rtc.idb-keyval-mock/with-reset-idb-keyval-mock cljs.test/async
  234. frontend.react/defc clojure.core/defn
  235. logseq.common.defkeywords/defkeyword cljs.spec.alpha/def
  236. frontend.common.thread-api/defkeyword cljs.spec.alpha/def}
  237. :skip-comments true
  238. :output {:progress true
  239. :exclude-files ["src/test/docs-0.10.9/"]}}