Skip to content

Commit

Permalink
Find namespaces for nbb-compatible CI step
Browse files Browse the repository at this point in the history
  • Loading branch information
logseq-cldwalker committed May 4, 2022
1 parent 8b9c64a commit d608215
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 4 deletions.
5 changes: 4 additions & 1 deletion .github/workflows/build.yml
Expand Up @@ -17,7 +17,7 @@ env:
JAVA_VERSION: '8'
# This is the latest node version we can run.
NODE_VERSION: '16'
BABASHKA_VERSION: '0.7.7'
BABASHKA_VERSION: '0.8.1'

jobs:

Expand Down Expand Up @@ -112,6 +112,9 @@ jobs:
- name: Lint datalog rules
run: scripts/lint_rules.clj

- name: Load nbb compatible namespaces
run: bb test:load-nbb-compatible-namespaces

e2e-test:
runs-on: ubuntu-latest

Expand Down
5 changes: 5 additions & 0 deletions bb.edn
Expand Up @@ -4,6 +4,8 @@
{:git/url "https://github.com/babashka/spec.alpha"
:sha "1a841c4cc1d4f6dab7505a98ed2d532dd9d56b78"}
medley/medley {:mvn/version "1.3.0"}}
:pods
{clj-kondo/clj-kondo {:version "2022.02.09"}}
:tasks
{dev:watch
logseq.tasks.dev/watch
Expand All @@ -22,6 +24,9 @@
dev:validate-local-storage
logseq.tasks.spec/validate-local-storage

test:load-nbb-compatible-namespaces
logseq.tasks.nbb/load-compatible-namespaces

lang:list
logseq.tasks.lang/list-langs

Expand Down
24 changes: 24 additions & 0 deletions scripts/src/logseq/tasks/nbb.clj
@@ -0,0 +1,24 @@
(ns logseq.tasks.nbb
(:require [pod.borkdude.clj-kondo :as clj-kondo]))

(defn- fetch-meta-namespaces
"Return namespaces with metadata"
[paths]
(let [paths (or (seq paths) ["src"])
{{:keys [namespace-definitions]} :analysis}
(clj-kondo/run!
{:lint paths
:config {:output {:analysis {:namespace-definitions {:meta true}}}}})
matches (keep (fn [m]
(when (:meta m)
{:ns (:name m)
:meta (:meta m)}))
namespace-definitions)]
matches))

(defn load-compatible-namespaces
[]
(let [namespaces (filter #(get-in % [:meta :nbb-compatible])
(fetch-meta-namespaces ["src/main"]))]
(assert (seq namespaces)
"There must be some nbb-compatible namespaces")))
2 changes: 1 addition & 1 deletion src/main/frontend/db/default.cljs
@@ -1,4 +1,4 @@
(ns frontend.db.default
(ns ^:nbb-compatible frontend.db.default
(:require [clojure.string :as string]))

(defonce built-in-pages-names
Expand Down
2 changes: 1 addition & 1 deletion src/main/frontend/db/rules.cljc
@@ -1,4 +1,4 @@
(ns ^:bb-compatible frontend.db.rules)
(ns ^:bb-compatible ^:nbb-compatible frontend.db.rules)

(def rules
;; rule "parent" is optimized for child node -> parent node nesting queries
Expand Down
2 changes: 1 addition & 1 deletion src/main/frontend/db_schema.cljs
@@ -1,4 +1,4 @@
(ns frontend.db-schema)
(ns ^:nbb-compatible frontend.db-schema)

(defonce version 1)
(defonce ast-version 1)
Expand Down

0 comments on commit d608215

Please sign in to comment.