Fork me on GitHub
#membrane
<
2022-07-02
>
Kimo11:07:23

Trying to get a vdom project working, repl says The required namespace "vdom.js" is not available, it was required by "vdom/core.cljs". Any hints?

;; deps.edn
{:paths ["src"]
 :deps {thheller/shadow-cljs {:mvn/version "2.19.5"}
        com.phronemophobic/vdom {:mvn/version "0.2.2"}
        com.phronemophobic/membrane {:mvn/version "0.9.31.8-beta"}}}
;; shadow-cljs.edn
{:deps true
 :dev-http     {8081 "public"}
 :builds
 {:app {:target      :browser
        :devtools {:after-load kimok.membrane-test/init}
        :modules {:app {:init-fn kimok.membrane-test/init
                        :entries [kimok.membrane-test]}}}}}
(ns kimok.membrane-test
  (:require [membrane.ui :as ui]
            [membrane.vdom :as backend]))

(defn init [] (backend/run #(ui/label "hi") {:container (js/document.getElementById "app")}))

Kimo11:07:27

org.clojure/clojure 1.11.1
  . org.clojure/spec.alpha 0.3.218
  . org.clojure/core.specs.alpha 0.2.62
thheller/shadow-cljs 2.19.5
  . org.clojure/data.json 2.4.0
  . org.clojure/tools.cli 1.0.206
  . org.clojure/tools.reader 1.3.6
  . nrepl/nrepl 0.9.0
  . cider/piggieback 0.5.3
  . com.cognitect/transit-clj 1.0.329
    . com.cognitect/transit-java 1.0.362
      . com.fasterxml.jackson.core/jackson-core 2.8.7
      . org.msgpack/msgpack 0.6.12
        . com.googlecode.json-simple/json-simple 1.1.1
        . org.javassist/javassist 3.18.1-GA
      . javax.xml.bind/jaxb-api 2.3.0
  . com.cognitect/transit-cljs 0.8.269
    . com.cognitect/transit-js 0.8.874
  . org.clojure/core.async 1.5.648
    . org.clojure/tools.analyzer.jvm 1.2.2
      . org.clojure/tools.analyzer 1.1.0
      . org.clojure/core.memoize 1.0.253
        . org.clojure/core.cache 1.0.225
          . org.clojure/data.priority-map 1.1.0
      . org.ow2.asm/asm 9.2 :newer-version
      . org.clojure/tools.reader 1.3.6
  . com.google.guava/guava 31.0.1-jre
    . com.google.guava/failureaccess 1.0.1
    . com.google.guava/listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
    . com.google.code.findbugs/jsr305 3.0.2
    . org.checkerframework/checker-qual 3.12.0
    . com.google.errorprone/error_prone_annotations 2.7.1
    . com.google.j2objc/j2objc-annotations 1.3
  . org.clojure/clojurescript 1.11.60
    . org.clojure/tools.reader 1.3.6
    . com.cognitect/transit-java 1.0.362
  . com.google.javascript/closure-compiler-unshaded v20220601
  . org.clojure/google-closure-library 0.0-20211011-0726fdeb
    . org.clojure/google-closure-library-third-party 0.0-20211011-0726fdeb
  . org.clojure/google-closure-library-third-party 0.0-20211011-0726fdeb
  . thheller/shadow-util 0.7.0
    . hiccup/hiccup 1.0.5
  . thheller/shadow-client 1.3.3
    X org.clojure/core.async 0.3.443 :older-version
    . hiccup/hiccup 1.0.5
  . thheller/shadow-undertow 0.2.1
    X org.clojure/core.async 1.3.610 :older-version
    . io.undertow/undertow-core 2.2.4.Final
      . org.jboss.logging/jboss-logging 3.4.1.Final
      . org.jboss.xnio/xnio-api 3.8.0.Final
        . org.wildfly.common/wildfly-common 1.5.2.Final
        . org.wildfly.client/wildfly-client-config 1.0.1.Final
          X org.jboss.logging/jboss-logging 3.3.1.Final :older-version
          X org.wildfly.common/wildfly-common 1.2.0.Final :older-version
      . org.jboss.xnio/xnio-nio 3.8.0.Final
        . org.jboss.xnio/xnio-api 3.8.0.Final
          X org.jboss.threads/jboss-threads 2.3.3.Final :older-version
      . org.jboss.threads/jboss-threads 3.1.0.Final
        . org.jboss.logging/jboss-logging 3.4.1.Final
  . thheller/shadow-cljsjs 0.0.22
  . hiccup/hiccup 1.0.5
  . ring/ring-core 1.9.5
    . ring/ring-codec 1.1.3
      . commons-codec/commons-codec 1.15
    . commons-io/commons-io 2.10.0
    . commons-fileupload/commons-fileupload 1.4
      X commons-io/commons-io 2.2 :older-version
    . crypto-random/crypto-random 1.2.1
      . commons-codec/commons-codec 1.15
    . crypto-equality/crypto-equality 1.0.0
  . io.methvin/directory-watcher 0.15.1
    X net.java.dev.jna/jna 5.7.0 :older-version
    . org.slf4j/slf4j-api 1.7.30
  . expound/expound 0.9.0
  . fipp/fipp 0.6.26
    . org.clojure/core.rrb-vector 0.1.2
  . com.bhauman/cljs-test-display 0.1.1
com.phronemophobic/vdom 0.2.2
  X org.clojure/clojurescript 1.9.89 :older-version
  X org.clojure/core.async 0.2.385 :older-version
com.phronemophobic/membrane 0.9.31.8-beta
  . cnuernber/dtype-next 8.041
    X org.ow2.asm/asm 9.0 :superseded
    . insn/insn 0.5.2
      X org.ow2.asm/asm 9.0 :older-version
    . camel-snake-kebab/camel-snake-kebab 0.4.2
    . it.unimi.dsi/fastutil 8.2.1
    . org.xerial.larray/larray-mmap 0.4.1
      . org.xerial.larray/larray-buffer 0.4.1
    . org.apache.commons/commons-math3 3.6.1
    . org.roaringbitmap/RoaringBitmap 0.9.0
      . org.roaringbitmap/shims 0.9.0
    . com.github.wendykierp/JTransforms 3.1
      X org.apache.commons/commons-math3 3.5 :older-version
      . pl.edu.icm/JLargeArrays 1.5
        X org.apache.commons/commons-math3 3.5 :older-version
    . techascent/tech.resource 5.04
      . org.clojure/tools.logging 1.1.0
    X com.google.guava/guava 30.1.1-jre :older-version
  . org.apache.commons/commons-text 1.9
    . org.apache.commons/commons-lang3 3.11
  . net.n01se/clojure-jna 1.0.0
    X net.java.dev.jna/jna 4.0.0 :older-version
  . net.java.dev.jna/jna 5.10.0
  . com.rpl/specter 1.1.3
    . riddley/riddley 0.1.12
  X org.clojure/core.async 1.4.627 :older-version

phronmophobic03:07:15

I'm not sure the vdom backend has been migrated to shadow-cljs yet. The vdom backend is mostly just a proof of concept and is the least tested of all the options. Any particular reason you wanted to try it?

Kimo10:07:56

Just part of my windmill tilt toward using membrane for everything, haha. The idea of building reactive web apps out of pure geometry and immutable state seems too good to pass up. For the same reason, I see membrane as an educational tool. Once the implementation stabilizes, I think this can reach a whole new level of beginner-friendliness.

👍 1
Kimo10:07:56

> I'm not sure the vdom backend has been migrated to shadow-cljs yet Hope I can look into that at some point. I figured it might have to do with the extern declarations and depending on clojure 1.8. Wish I could just fix it, but the clojure tooling docs are so cryptic....

phronmophobic21:07:12

Yea, making membrane easier to use and web friendly is an eventual goal, but there's a few more steps along the way

phronmophobic22:07:07

I’m currently working on direct manipulation tools that also play with with programmatic usage

phronmophobic22:07:23

Currently, the best way to get a membrane ui running in the browser is the webgl backend.

phronmophobic22:07:10

I think it eventually makes sense to have an html based backend and add general support for backends to interop with existing components, but it's not currently a priority.