clojure で Electoron できる descjop をやってみようと思った その4.8

前の続き。
ボタンを付ける。

hello-om-based2/src_front/hello_om_based2_front/core.cljs をいじる。

(ns hello-om-based2-front.core
  (:require [om.core :as om  :include-macros true]
            [om.dom  :as dom :include-macros true]))

(defonce app-state (atom {:message "Hello om world!"}))

(defn mount-root [setting]
  (om/root
   (fn [state owner]
     (reify om/IRender
       (render [_]
         (dom/h1 nil
                 ;; (:message state)
                 (:my-env setting)
                 ))))
   app-state
   {:target (. js/document
               (getElementById "app"))}))

(defn init! [setting]
  (mount-root setting))

mount-root を前と同じようにこんな風に修正:

(defn mount-root [setting]
  (om/root
   (fn [state owner]
     (reify om/IRender
       (render [_]
         (dom/div nil
                  (dom/h1 nil
                          ;; (:message state)
                          (:my-env setting))
                  (dom/button #js { :onclick (fn [e]
                                               (js/alert "pressed!")) }
                              "Hello")))))
   app-state
   {:target (. js/document
               (getElementById "app"))}))

f:id:noqisofon:20160415204944p:plain

ボタンは出たものの、ボタンを押しても何も表示されない………。

なんだか auto-complete でエラってファイルが開けない件

(ac-config-default) が原因っぽいのでとりあえずコメントアウトしてる:

;; auto-complete を自動で始まらないようにします?
(setq ac-auto-start nil)

(require-if-exists auto-complete)
(require-if-exists auto-complete-config)

;;(global-auto-complete-mode t)
;;(ac-config-default)

(add-to-list 'ac-dictionary-directories "~/.emacs.d/dict/auto-complete")

こげんエラーが出て:

eval-buffer: Cannot open load file: そのようなファイルやディレクトリはありません, seq
Error in post-command-hook (global-auto-complete-mode-check-buffers): (file-error "Cannot open load file" "そのようなファイルやディレクトリはありません" "seq")

C-f で…あ、開ける………。
Open...recently changed とかすると開けないというワナ。

あれだ。
C-f して、上キー押すと*1前に開いたファイルが開けるんだけど、開こうとするとこんなエラーが出る:

eval-buffer: Cannot open load file: そのようなファイルやディレクトリはありません, seq

(。・_・。) ほげー

*1:session つこおてるから

clojure で Electoron できる descjop をやってみようと思った その4.6

原因はなんか、lein はフォルダ名のハイフンをアンダーバーにして名前空間にしてるんだけど、何かがどうかなってハイフンのままになってたらしい:

gist.github.com

dev の方のハイフンをアンダーバーに修正して lein cljsbuild once してみた:

% lein cljsbuild once
Compiling ClojureScript...
Compiling "app/dev/js/front.js" from ["src_front" "src_front_profile/hello_om_based2_front/dev/"]...
Successfully compiled "app/dev/js/front.js" in 5.037 seconds.
Compiling "app/prod/js/cljsbuild-main.js" from ["src"]...
Successfully compiled "app/prod/js/cljsbuild-main.js" in 7.43 seconds.
Compiling "app/prod/js/front.js" from ["src_front" "src_front_profile/hello-om-based2_front/prod"]...
Compiling "app/prod/js/front.js" failed.
java.io.FileNotFoundException: src_front_profile/hello-om-based2_front/prod (そのようなファイルやディレクトリはありません)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(FileInputStream.java:195)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at clojure.java.io$fn__9189.invoke(io.clj:229)
    at clojure.java.io$fn__9102$G__9095__9109.invoke(io.clj:69)
    at clojure.java.io$fn__9163.invoke(io.clj:165)
    at clojure.java.io$fn__9115$G__9091__9122.invoke(io.clj:69)
    at clojure.java.io$reader.doInvoke(io.clj:102)
    at clojure.lang.RestFn.invoke(RestFn.java:410)
    at cljs.analyzer$parse_ns$fn__2145.invoke(analyzer.cljc:2721)
    at cljs.analyzer$parse_ns.invoke(analyzer.cljc:2706)
    at cljs.analyzer$parse_ns.invoke(analyzer.cljc:2697)
    at cljs.compiler$find_source.invoke(compiler.cljc:1415)
    at cljs.closure$eval5084$fn__5087.invoke(closure.clj:508)
    at cljs.closure$eval5020$fn__5034$G__5011__5041.invoke(closure.clj:394)
    at cljs.closure$eval5104$fn__5107.invoke(closure.clj:528)
    at cljs.closure$eval5020$fn__5034$G__5011__5041.invoke(closure.clj:394)
    at cljs.build.api$inputs$reify__5669$fn__5672.invoke(api.clj:174)
    at clojure.core$map$fn__4553.invoke(core.clj:2622)
    at clojure.lang.LazySeq.sval(LazySeq.java:40)
    at clojure.lang.LazySeq.seq(LazySeq.java:49)
    at clojure.lang.RT.seq(RT.java:507)
    at clojure.core$seq__4128.invoke(core.clj:137)
    at clojure.core$apply.invoke(core.clj:630)
    at clojure.core$mapcat.doInvoke(core.clj:2660)
    at clojure.lang.RestFn.invoke(RestFn.java:423)
    at cljs.build.api$inputs$reify__5669._find_sources(api.clj:174)
    at cljs.closure$build$fn__5576.invoke(closure.clj:1862)
    at clojure.lang.Atom.swap(Atom.java:37)
    at clojure.core$swap_BANG_.invoke(core.clj:2238)
    at cljs.closure$build.invoke(closure.clj:1856)
    at cljs.build.api$build.invoke(api.clj:207)
    at cljs.build.api$build.invoke(api.clj:201)
    at cljsbuild.compiler$compile_cljs$fn__5698.invoke(compiler.clj:60)
    at cljsbuild.compiler$compile_cljs.invoke(compiler.clj:59)
    at cljsbuild.compiler$run_compiler.invoke(compiler.clj:168)
    at user$eval5835$iter__5871__5875$fn__5876$fn__5894.invoke(form-init6877095580223984770.clj:1)
    at user$eval5835$iter__5871__5875$fn__5876.invoke(form-init6877095580223984770.clj:1)
    at clojure.lang.LazySeq.sval(LazySeq.java:40)
    at clojure.lang.LazySeq.seq(LazySeq.java:49)
    at clojure.lang.Cons.next(Cons.java:39)
    at clojure.lang.RT.next(RT.java:674)
    at clojure.core$next__4112.invoke(core.clj:64)
    at clojure.core$dorun.invoke(core.clj:3010)
    at clojure.core$doall.invoke(core.clj:3025)
    at user$eval5835.invoke(form-init6877095580223984770.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:6782)
    at clojure.lang.Compiler.eval(Compiler.java:6772)
    at clojure.lang.Compiler.load(Compiler.java:7227)
    at clojure.lang.Compiler.loadFile(Compiler.java:7165)
    at clojure.main$load_script.invoke(main.clj:275)
    at clojure.main$init_opt.invoke(main.clj:280)
    at clojure.main$initialize.invoke(main.clj:308)
    at clojure.main$null_opt.invoke(main.clj:343)
    at clojure.main$main.doInvoke(main.clj:421)
    at clojure.lang.RestFn.invoke(RestFn.java:421)
    at clojure.lang.Var.invoke(Var.java:383)
    at clojure.lang.AFn.applyToHelper(AFn.java:156)
    at clojure.lang.Var.applyTo(Var.java:700)
    at clojure.main.main(main.java:37)
Subprocess failed

prd の方も修正してみた:

% lein cljsbuild once
Compiling ClojureScript...
Compiling "app/prod/js/front.js" from ["src_front" "src_front_profile/hello_om_based2_front/prod"]...
Successfully compiled "app/prod/js/front.js" in 10.386 seconds.

README.md を見ると step4 はこうしろって書いてある。
これは前の lein trampoline figwheel frontend ってやったとの同じっぽい。

% lein descjop-figwheel

これを別の端末エミュレータで動かして………
こういう風に打つ:

% ./electron/electron ./app/dev/

すると……

f:id:noqisofon:20160410225038p:plain

キタ━━━━(゚∀゚)━━━━!!

clojure で Electoron できる descjop をやってみようと思った その4.5

前回、 Om does not work なので動かないと書いておしまっていたんだけど、作者さんから下記リプが来たのでもうちょっとやってみることに:

今のテンプレートをアップグレードする方法がよくわからなかったので、新しく hello-om-based2 というプロジェクトを作成してやってみることにした:

% lein new descjop hello-om-based2 +om
Retrieving descjop/lein-template/0.6.2/lein-template-0.6.2.pom from clojars
Retrieving descjop/lein-template/0.6.2/lein-template-0.6.2.jar from clojars

Generating fresh descjop +om project.
this template is new version.
you can use old version `$ lein new descjop myapp +om --template-version 0.5.4`.

0.6.2 が来ている。
その下の方にこれはマジで新しいバージョンだからちょっち古いバージョンを使うには lein new descjop myapp +om --template-version 0.5.4 ってやってみてくれって書いてある。

でも、使うのは 0.6.2 でいいっぽいので、シカト。

hello-om-based で使った bootstrap をコピペして実行してみる:

% ./bootstrap

npm WARN deprecated lodash@0.9.2: Grunt needs your help! See https://github.com/gruntjs/grunt/issues/1403.
npm WARN deprecated graceful-fs@1.2.3: graceful-fs version 3 and before will fail on newer node releases. Please update to graceful-fs@^4.0.0 as soon as possible.
npm WARN deprecated wrench@1.5.4: wrench.js is deprecated! You should check out fs-extra (https://github.com/jprichardson/node-fs-extra) for any operations you were using wrench for. Thanks for all the usage over the years.
hello-om-based2@0.0.0 /home/rihine/workspace/hello-om-based2
+-- closurecompiler-externs@1.0.4 
+-- grunt@0.4.5 
| +-- async@0.1.22 
| +-- coffee-script@1.3.3 
| +-- colors@0.6.2 
| +-- dateformat@1.0.2-1.2.3 
| +-- eventemitter2@0.4.14 
| +-- exit@0.1.2 
| +-- findup-sync@0.1.3 
| | +-- glob@3.2.11 
| | | +-- inherits@2.0.1 
| | | `-- minimatch@0.3.0 
| | `-- lodash@2.4.2 
| +-- getobject@0.1.0 
| +-- glob@3.1.21 
| | +-- graceful-fs@1.2.3 
| | `-- inherits@1.0.2 
| +-- grunt-legacy-log@0.1.3 
| | +-- grunt-legacy-log-utils@0.1.1 
| | | +-- lodash@2.4.2 
| | | `-- underscore.string@2.3.3 
| | +-- lodash@2.4.2 
| | `-- underscore.string@2.3.3 
| +-- grunt-legacy-util@0.2.0 
| +-- hooker@0.2.3 
| +-- iconv-lite@0.2.11 
| +-- js-yaml@2.0.5 
| | +-- argparse@0.1.16 
| | | +-- underscore@1.7.0 
| | | `-- underscore.string@2.4.0 
| | `-- esprima@1.0.4 
| +-- lodash@0.9.2 
| +-- minimatch@0.2.14 
| | +-- lru-cache@2.7.3 
| | `-- sigmund@1.0.1 
| +-- nopt@1.0.10 
| | `-- abbrev@1.0.7 
| +-- rimraf@2.2.8 
| +-- underscore.string@2.2.1 
| `-- which@1.0.9 
`-- grunt-download-electron@2.1.3 
  +-- decompress-zip@0.0.4 
  | +-- binary@0.3.0 
  | | +-- buffers@0.1.1 
  | | `-- chainsaw@0.1.0 
  | |   `-- traverse@0.3.9 
  | +-- mkpath@0.1.0 
  | +-- nopt@2.1.2 
  | +-- q@0.9.7 
  | +-- readable-stream@1.1.13 
  | | +-- core-util-is@1.0.2 
  | | +-- isarray@0.0.1 
  | | `-- string_decoder@0.10.31 
  | `-- touch@0.0.2 
  +-- github-releases@0.2.1 
  | +-- minimatch@0.2.12 
  | +-- optimist@0.4.0 
  | | `-- wordwrap@0.0.3 
  | +-- prettyjson@0.8.1 
  | | `-- colors@0.6.0-1 
  | `-- request@2.27.0 
  |   +-- aws-sign@0.3.0 
  |   +-- cookie-jar@0.3.0 
  |   +-- forever-agent@0.5.2 
  |   +-- form-data@0.1.4 
  |   | +-- async@0.9.2 
  |   | `-- combined-stream@0.0.7 
  |   |   `-- delayed-stream@0.0.5 
  |   +-- hawk@1.0.0 
  |   | +-- boom@0.4.2 
  |   | +-- cryptiles@0.2.2 
  |   | +-- hoek@0.9.1 
  |   | `-- sntp@0.2.4 
  |   +-- http-signature@0.10.1 
  |   | +-- asn1@0.1.11 
  |   | +-- assert-plus@0.1.5 
  |   | `-- ctype@0.5.3 
  |   +-- json-stringify-safe@5.0.1 
  |   +-- mime@1.2.11 
  |   +-- node-uuid@1.4.7 
  |   +-- oauth-sign@0.3.0 
  |   +-- qs@0.6.6 
  |   `-- tunnel-agent@0.3.0 
  +-- progress@1.1.2 
  `-- wrench@1.5.4 

npm WARN hello-om-based2@0.0.0 No repository field.
npm WARN hello-om-based2@0.0.0 No license field.
Running "download-electron" task
downloading [===================] 100% 0.0s
./bootstrap: 行 8: ./app/js/externs.js: そのようなファイルやディレクトリはありません
Retrieving lein-externs/lein-externs/0.1.6/lein-externs-0.1.6.pom from clojars
Retrieving lein-shell/lein-shell/0.4.1/lein-shell-0.4.1.pom from clojars
Retrieving lein-figwheel/lein-figwheel/0.5.0-SNAPSHOT/lein-figwheel-0.5.0-20151109.200827-6.pom from clojars
Retrieving figwheel-sidecar/figwheel-sidecar/0.5.0-SNAPSHOT/figwheel-sidecar-0.5.0-20151109.200757-7.pom from clojars
Retrieving org/clojure/clojurescript/1.7.170/clojurescript-1.7.170.pom from central
Retrieving com/google/javascript/closure-compiler/v20151015/closure-compiler-v20151015.pom from central
Retrieving com/google/javascript/closure-compiler-parent/v20151015/closure-compiler-parent-v20151015.pom from central
Retrieving org/clojure/core.async/0.2.371/core.async-0.2.371.pom from central
Retrieving org/clojure/tools.analyzer.jvm/0.6.7/tools.analyzer.jvm-0.6.7.pom from central
Retrieving org/clojure/tools.analyzer/0.6.6/tools.analyzer-0.6.6.pom from central
Retrieving figwheel/figwheel/0.5.0-SNAPSHOT/figwheel-0.5.0-20151109.200732-4.pom from clojars
Retrieving hawk/hawk/0.2.5/hawk-0.2.5.pom from clojars
Retrieving com/google/javascript/closure-compiler/v20151015/closure-compiler-v20151015.jar from central
Retrieving org/clojure/clojurescript/1.7.170/clojurescript-1.7.170.jar from central
Retrieving org/clojure/clojure/1.3.0/clojure-1.3.0.jar from central
Retrieving org/clojure/core.async/0.2.371/core.async-0.2.371.jar from central
Retrieving org/clojure/tools.analyzer.jvm/0.6.7/tools.analyzer.jvm-0.6.7.jar from central
Retrieving org/clojure/tools.analyzer/0.6.6/tools.analyzer-0.6.6.jar from central
Retrieving figwheel-sidecar/figwheel-sidecar/0.5.0-SNAPSHOT/figwheel-sidecar-0.5.0-20151109.200757-7.jar from clojars
Retrieving lein-shell/lein-shell/0.4.1/lein-shell-0.4.1.jar from clojars
Retrieving lein-externs/lein-externs/0.1.6/lein-externs-0.1.6.jar from clojars
Retrieving lein-figwheel/lein-figwheel/0.5.0-SNAPSHOT/lein-figwheel-0.5.0-20151109.200827-6.jar from clojars
Retrieving hawk/hawk/0.2.5/hawk-0.2.5.jar from clojars
Retrieving figwheel/figwheel/0.5.0-SNAPSHOT/figwheel-0.5.0-20151109.200732-4.jar from clojars
Compiling ClojureScript...
Compiling "app/dev/js/cljsbuild-main.js" from ["src"]...
Successfully compiled "app/dev/js/cljsbuild-main.js" in 9.763 seconds.
Compiling "app/dev/js/front.js" from ["src_front" "src_front_profile/hello-om-based2_front/dev"]...
Compiling "app/dev/js/front.js" failed.
java.io.FileNotFoundException: src_front_profile/hello-om-based2_front/dev (そのようなファイルやディレクトリはありません)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(FileInputStream.java:195)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at clojure.java.io$fn__9189.invoke(io.clj:229)
    at clojure.java.io$fn__9102$G__9095__9109.invoke(io.clj:69)
    at clojure.java.io$fn__9163.invoke(io.clj:165)
    at clojure.java.io$fn__9115$G__9091__9122.invoke(io.clj:69)
    at clojure.java.io$reader.doInvoke(io.clj:102)
    at clojure.lang.RestFn.invoke(RestFn.java:410)
    at cljs.analyzer$parse_ns$fn__2145.invoke(analyzer.cljc:2721)
    at cljs.analyzer$parse_ns.invoke(analyzer.cljc:2706)
    at cljs.analyzer$parse_ns.invoke(analyzer.cljc:2697)
    at cljs.compiler$find_source.invoke(compiler.cljc:1415)
    at cljs.closure$eval5084$fn__5087.invoke(closure.clj:508)
    at cljs.closure$eval5020$fn__5034$G__5011__5041.invoke(closure.clj:394)
    at cljs.closure$eval5104$fn__5107.invoke(closure.clj:528)
    at cljs.closure$eval5020$fn__5034$G__5011__5041.invoke(closure.clj:394)
    at cljs.build.api$inputs$reify__5669$fn__5672.invoke(api.clj:174)
    at clojure.core$map$fn__4553.invoke(core.clj:2622)
    at clojure.lang.LazySeq.sval(LazySeq.java:40)
    at clojure.lang.LazySeq.seq(LazySeq.java:49)
    at clojure.lang.RT.seq(RT.java:507)
    at clojure.core$seq__4128.invoke(core.clj:137)
    at clojure.core$apply.invoke(core.clj:630)
    at clojure.core$mapcat.doInvoke(core.clj:2660)
    at clojure.lang.RestFn.invoke(RestFn.java:423)
    at cljs.build.api$inputs$reify__5669._find_sources(api.clj:174)
    at cljs.closure$build$fn__5576.invoke(closure.clj:1862)
    at clojure.lang.Atom.swap(Atom.java:37)
    at clojure.core$swap_BANG_.invoke(core.clj:2238)
    at cljs.closure$build.invoke(closure.clj:1856)
    at cljs.build.api$build.invoke(api.clj:207)
    at cljs.build.api$build.invoke(api.clj:201)
    at cljsbuild.compiler$compile_cljs$fn__5698.invoke(compiler.clj:60)
    at cljsbuild.compiler$compile_cljs.invoke(compiler.clj:59)
    at cljsbuild.compiler$run_compiler.invoke(compiler.clj:168)
    at user$eval5835$iter__5871__5875$fn__5876$fn__5894.invoke(form-init4799210546010915643.clj:1)
    at user$eval5835$iter__5871__5875$fn__5876.invoke(form-init4799210546010915643.clj:1)
    at clojure.lang.LazySeq.sval(LazySeq.java:40)
    at clojure.lang.LazySeq.seq(LazySeq.java:49)
    at clojure.lang.Cons.next(Cons.java:39)
    at clojure.lang.RT.next(RT.java:674)
    at clojure.core$next__4112.invoke(core.clj:64)
    at clojure.core$dorun.invoke(core.clj:3010)
    at clojure.core$doall.invoke(core.clj:3025)
    at user$eval5835.invoke(form-init4799210546010915643.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:6782)
    at clojure.lang.Compiler.eval(Compiler.java:6772)
    at clojure.lang.Compiler.load(Compiler.java:7227)
    at clojure.lang.Compiler.loadFile(Compiler.java:7165)
    at clojure.main$load_script.invoke(main.clj:275)
    at clojure.main$init_opt.invoke(main.clj:280)
    at clojure.main$initialize.invoke(main.clj:308)
    at clojure.main$null_opt.invoke(main.clj:343)
    at clojure.main$main.doInvoke(main.clj:421)
    at clojure.lang.RestFn.invoke(RestFn.java:421)
    at clojure.lang.Var.invoke(Var.java:383)
    at clojure.lang.AFn.applyToHelper(AFn.java:156)
    at clojure.lang.Var.applyTo(Var.java:700)
    at clojure.main.main(main.java:37)
Subprocess failed

うーん、 lein externs > ./app/js/externs.js は要らなくなったみたい。
./app/ の下に /dev/ と /prod/ っていうディレクトリができて、その下に /js/ があるのはわかった。

% tree
.
├── Gruntfile.js
├── README.md
├── app
│   ├── dev
│   │   ├── index.html
│   │   ├── js
│   │   │   ├── cljsbuild-main.js
│   │   │   ├── externs.js
│   │   │   ├── externs_front.js
│   │   │   └── main.js
│   │   └── package.json
│   └── prod
│       ├── index.html
│       ├── js
│       │   ├── externs.js
│       │   ├── externs_front.js
│       │   └── main.js
│       └── package.json
├── bootstrap
├── electron
│   ├── LICENSE
│   ├── LICENSES.chromium.html
│   ├── content_shell.pak
│   ├── electron
│   ├── icudtl.dat
│   ├── libffmpeg.so
│   ├── libnode.so
│   ├── locales
│   │   ├── am.pak
│   │   ├── ar.pak
│   │   ├── bg.pak
│   │   ├── bn.pak
│   │   ├── ca.pak
│   │   ├── cs.pak
│   │   ├── da.pak
│   │   ├── de.pak
│   │   ├── el.pak
│   │   ├── en-GB.pak
│   │   ├── en-US.pak
│   │   ├── es-419.pak
│   │   ├── es.pak
│   │   ├── et.pak
│   │   ├── fa.pak
│   │   ├── fake-bidi.pak
│   │   ├── fi.pak
│   │   ├── fil.pak
│   │   ├── fr.pak
│   │   ├── gu.pak
│   │   ├── he.pak
│   │   ├── hi.pak
│   │   ├── hr.pak
│   │   ├── hu.pak
│   │   ├── id.pak
│   │   ├── it.pak
│   │   ├── ja.pak
│   │   ├── kn.pak
│   │   ├── ko.pak
│   │   ├── lt.pak
│   │   ├── lv.pak
│   │   ├── ml.pak
│   │   ├── mr.pak
│   │   ├── ms.pak
│   │   ├── nb.pak
│   │   ├── nl.pak
│   │   ├── pl.pak
│   │   ├── pt-BR.pak
│   │   ├── pt-PT.pak
│   │   ├── ro.pak
│   │   ├── ru.pak
│   │   ├── sk.pak
│   │   ├── sl.pak
│   │   ├── sr.pak
│   │   ├── sv.pak
│   │   ├── sw.pak
│   │   ├── ta.pak
│   │   ├── te.pak
│   │   ├── th.pak
│   │   ├── tr.pak
│   │   ├── uk.pak
│   │   ├── vi.pak
│   │   ├── zh-CN.pak
│   │   └── zh-TW.pak
│   ├── natives_blob.bin
│   ├── resources
│   │   ├── default_app.asar
│   │   └── electron.asar
│   ├── snapshot_blob.bin
│   └── version
├── node_modules
│   ├── abbrev
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── abbrev.js
│   │   ├── package.json
│   │   └── test.js
│   ├── argparse
│   │   ├── HISTORY.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── examples
│   │   │   ├── arguments.js
│   │   │   ├── choice.js
│   │   │   ├── constants.js
│   │   │   ├── help.js
│   │   │   ├── nargs.js
│   │   │   ├── parents.js
│   │   │   ├── prefix_chars.js
│   │   │   ├── sub_commands.js
│   │   │   ├── sum.js
│   │   │   └── testformatters.js
│   │   ├── index.js
│   │   ├── lib
│   │   │   ├── action
│   │   │   │   ├── append
│   │   │   │   │   └── constant.js
│   │   │   │   ├── append.js
│   │   │   │   ├── count.js
│   │   │   │   ├── help.js
│   │   │   │   ├── store
│   │   │   │   │   ├── constant.js
│   │   │   │   │   ├── false.js
│   │   │   │   │   └── true.js
│   │   │   │   ├── store.js
│   │   │   │   ├── subparsers.js
│   │   │   │   └── version.js
│   │   │   ├── action.js
│   │   │   ├── action_container.js
│   │   │   ├── argparse.js
│   │   │   ├── argument
│   │   │   │   ├── error.js
│   │   │   │   ├── exclusive.js
│   │   │   │   └── group.js
│   │   │   ├── argument_parser.js
│   │   │   ├── const.js
│   │   │   ├── help
│   │   │   │   ├── added_formatters.js
│   │   │   │   └── formatter.js
│   │   │   └── namespace.js
│   │   ├── node_modules
│   │   │   └── underscore.string
│   │   │       ├── README.markdown
│   │   │       ├── bower.json
│   │   │       ├── component.json
│   │   │       ├── foo.js
│   │   │       ├── gulpfile.js
│   │   │       ├── lib
│   │   │       │   └── underscore.string.js
│   │   │       ├── libpeerconnection.log
│   │   │       └── package.json
│   │   └── package.json
│   ├── asn1
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── lib
│   │   │   ├── ber
│   │   │   │   ├── errors.js
│   │   │   │   ├── index.js
│   │   │   │   ├── reader.js
│   │   │   │   ├── types.js
│   │   │   │   └── writer.js
│   │   │   └── index.js
│   │   ├── package.json
│   │   └── tst
│   │       └── ber
│   │           ├── reader.test.js
│   │           └── writer.test.js
│   ├── assert-plus
│   │   ├── README.md
│   │   ├── assert.js
│   │   └── package.json
│   ├── async
│   │   ├── LICENSE
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── index.js
│   │   ├── lib
│   │   │   └── async.js
│   │   └── package.json
│   ├── aws-sign
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   └── package.json
│   ├── binary
│   │   ├── README.markdown
│   │   ├── example
│   │   │   ├── buf.js
│   │   │   ├── parse.js
│   │   │   └── stream.js
│   │   ├── index.js
│   │   ├── lib
│   │   │   └── vars.js
│   │   ├── package.json
│   │   ├── perf
│   │   │   ├── loop.js
│   │   │   └── small.js
│   │   └── test
│   │       ├── bu.js
│   │       ├── deferred.js
│   │       ├── dots.js
│   │       ├── eof.js
│   │       ├── flush.js
│   │       ├── from_buffer.js
│   │       ├── get_buffer.js
│   │       ├── immediate.js
│   │       ├── interval.js
│   │       ├── into_buffer.js
│   │       ├── into_stream.js
│   │       ├── loop.js
│   │       ├── loop_scan.js
│   │       ├── lu.js
│   │       ├── negbs.js
│   │       ├── negls.js
│   │       ├── nested.js
│   │       ├── not_enough_buf.js
│   │       ├── not_enough_parse.js
│   │       ├── parse.js
│   │       ├── peek.js
│   │       ├── pipe.js
│   │       ├── posbs.js
│   │       ├── posls.js
│   │       ├── scan.js
│   │       ├── scan_buf.js
│   │       ├── scan_buf_null.js
│   │       ├── skip.js
│   │       └── split.js
│   ├── boom
│   │   ├── LICENSE
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── images
│   │   │   └── boom.png
│   │   ├── index.js
│   │   ├── lib
│   │   │   └── index.js
│   │   ├── package.json
│   │   └── test
│   │       └── index.js
│   ├── buffers
│   │   ├── README.markdown
│   │   ├── examples
│   │   │   ├── slice.js
│   │   │   └── splice.js
│   │   ├── index.js
│   │   ├── package.json
│   │   └── test
│   │       └── buffers.js
│   ├── chainsaw
│   │   ├── README.markdown
│   │   ├── examples
│   │   │   ├── add_do.js
│   │   │   └── prompt.js
│   │   ├── index.js
│   │   ├── package.json
│   │   └── test
│   │       └── chainsaw.js
│   ├── closurecompiler-externs
│   │   ├── LICENSE
│   │   ├── NodejsClosureCompilerExterns.png
│   │   ├── README.md
│   │   ├── assert.js
│   │   ├── buffer.js
│   │   ├── child_process.js
│   │   ├── cluster.js
│   │   ├── contrib
│   │   │   ├── ByteBuffer.js
│   │   │   ├── ClosureCompiler.js
│   │   │   ├── Express.js
│   │   │   ├── JustMath.js
│   │   │   ├── Long.js
│   │   │   ├── Preprocessor.js
│   │   │   ├── ProtoBuf.js
│   │   │   ├── Require.js
│   │   │   └── Ws.js
│   │   ├── core.js
│   │   ├── crypto.js
│   │   ├── dgram.js
│   │   ├── dns.js
│   │   ├── domain.js
│   │   ├── events.js
│   │   ├── fs.js
│   │   ├── http.js
│   │   ├── https.js
│   │   ├── net.js
│   │   ├── os.js
│   │   ├── package.json
│   │   ├── path.js
│   │   ├── process.js
│   │   ├── punycode.js
│   │   ├── querystring.js
│   │   ├── readline.js
│   │   ├── redundant
│   │   │   ├── stdio.js
│   │   │   └── timers.js
│   │   ├── repl.js
│   │   ├── stream.js
│   │   ├── string_decoder.js
│   │   ├── tests
│   │   │   ├── noop.js
│   │   │   └── validate.js
│   │   ├── tls.js
│   │   ├── tty.js
│   │   ├── url.js
│   │   ├── util.js
│   │   ├── vm.js
│   │   └── zlib.js
│   ├── coffee-script
│   │   ├── CNAME
│   │   ├── LICENSE
│   │   ├── README
│   │   ├── Rakefile
│   │   ├── bin
│   │   │   ├── cake
│   │   │   └── coffee
│   │   ├── extras
│   │   │   └── jsl.conf
│   │   ├── lib
│   │   │   └── coffee-script
│   │   │       ├── browser.js
│   │   │       ├── cake.js
│   │   │       ├── coffee-script.js
│   │   │       ├── command.js
│   │   │       ├── grammar.js
│   │   │       ├── helpers.js
│   │   │       ├── index.js
│   │   │       ├── lexer.js
│   │   │       ├── nodes.js
│   │   │       ├── optparse.js
│   │   │       ├── parser.js
│   │   │       ├── repl.js
│   │   │       ├── rewriter.js
│   │   │       └── scope.js
│   │   └── package.json
│   ├── colors
│   │   ├── MIT-LICENSE.txt
│   │   ├── ReadMe.md
│   │   ├── colors.js
│   │   ├── example.html
│   │   ├── example.js
│   │   ├── package.json
│   │   ├── test.js
│   │   └── themes
│   │       ├── winston-dark.js
│   │       └── winston-light.js
│   ├── combined-stream
│   │   ├── License
│   │   ├── Readme.md
│   │   ├── lib
│   │   │   └── combined_stream.js
│   │   └── package.json
│   ├── cookie-jar
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   ├── jar.js
│   │   ├── package.json
│   │   └── tests
│   │       ├── run.js
│   │       ├── test-cookie.js
│   │       └── test-cookiejar.js
│   ├── core-util-is
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── float.patch
│   │   ├── lib
│   │   │   └── util.js
│   │   ├── package.json
│   │   └── test.js
│   ├── cryptiles
│   │   ├── LICENSE
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── index.js
│   │   ├── lib
│   │   │   └── index.js
│   │   ├── package.json
│   │   └── test
│   │       └── index.js
│   ├── ctype
│   │   ├── CHANGELOG
│   │   ├── LICENSE
│   │   ├── README
│   │   ├── README.old
│   │   ├── ctf.js
│   │   ├── ctio.js
│   │   ├── ctype.js
│   │   ├── man
│   │   │   └── man3ctype
│   │   │       └── ctio.3ctype
│   │   ├── package.json
│   │   └── tools
│   │       ├── jsl.conf
│   │       └── jsstyle
│   ├── dateformat
│   │   ├── Readme.md
│   │   ├── lib
│   │   │   └── dateformat.js
│   │   ├── package.json
│   │   └── test
│   │       ├── test_weekofyear.js
│   │       └── test_weekofyear.sh
│   ├── decompress-zip
│   │   ├── Gruntfile.js
│   │   ├── README.md
│   │   ├── bin
│   │   │   └── decompress-zip
│   │   ├── download-test-assets.js
│   │   ├── lib
│   │   │   ├── decompress-zip.js
│   │   │   ├── extractors.js
│   │   │   ├── file-details.js
│   │   │   ├── signatures.js
│   │   │   └── structures.js
│   │   ├── node_modules
│   │   │   └── nopt
│   │   │       ├── LICENSE
│   │   │       ├── README.md
│   │   │       ├── bin
│   │   │       │   └── nopt.js
│   │   │       ├── examples
│   │   │       │   └── my-program.js
│   │   │       ├── lib
│   │   │       │   └── nopt.js
│   │   │       └── package.json
│   │   ├── package.json
│   │   └── test
│   │       └── test.js
│   ├── delayed-stream
│   │   ├── License
│   │   ├── Makefile
│   │   ├── Readme.md
│   │   ├── lib
│   │   │   └── delayed_stream.js
│   │   ├── package.json
│   │   └── test
│   │       ├── common.js
│   │       ├── integration
│   │       │   ├── test-delayed-http-upload.js
│   │       │   ├── test-delayed-stream-auto-pause.js
│   │       │   ├── test-delayed-stream-pause.js
│   │       │   ├── test-delayed-stream.js
│   │       │   ├── test-handle-source-errors.js
│   │       │   ├── test-max-data-size.js
│   │       │   ├── test-pipe-resumes.js
│   │       │   └── test-proxy-readable.js
│   │       └── run.js
│   ├── esprima
│   │   ├── README.md
│   │   ├── bin
│   │   │   ├── esparse.js
│   │   │   └── esvalidate.js
│   │   ├── esprima.js
│   │   ├── package.json
│   │   └── test
│   │       ├── compat.js
│   │       ├── reflect.js
│   │       ├── run.js
│   │       ├── runner.js
│   │       └── test.js
│   ├── eventemitter2
│   │   ├── README.md
│   │   ├── index.js
│   │   ├── lib
│   │   │   └── eventemitter2.js
│   │   └── package.json
│   ├── exit
│   │   ├── Gruntfile.js
│   │   ├── LICENSE-MIT
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── exit.js
│   │   ├── package.json
│   │   └── test
│   │       ├── exit_test.js
│   │       └── fixtures
│   │           ├── 10-stderr.txt
│   │           ├── 10-stdout-stderr.txt
│   │           ├── 10-stdout.txt
│   │           ├── 100-stderr.txt
│   │           ├── 100-stdout-stderr.txt
│   │           ├── 100-stdout.txt
│   │           ├── 1000-stderr.txt
│   │           ├── 1000-stdout-stderr.txt
│   │           ├── 1000-stdout.txt
│   │           ├── create-files.sh
│   │           ├── log-broken.js
│   │           └── log.js
│   ├── findup-sync
│   │   ├── Gruntfile.js
│   │   ├── LICENSE-MIT
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── findup-sync.js
│   │   ├── node_modules
│   │   │   ├── glob
│   │   │   │   ├── LICENSE
│   │   │   │   ├── README.md
│   │   │   │   ├── examples
│   │   │   │   │   ├── g.js
│   │   │   │   │   └── usr-local.js
│   │   │   │   ├── glob.js
│   │   │   │   ├── package.json
│   │   │   │   └── test
│   │   │   │       ├── 00-setup.js
│   │   │   │       ├── bash-comparison.js
│   │   │   │       ├── bash-results.json
│   │   │   │       ├── cwd-test.js
│   │   │   │       ├── globstar-match.js
│   │   │   │       ├── mark.js
│   │   │   │       ├── new-glob-optional-options.js
│   │   │   │       ├── nocase-nomagic.js
│   │   │   │       ├── pause-resume.js
│   │   │   │       ├── readme-issue.js
│   │   │   │       ├── root-nomount.js
│   │   │   │       ├── root.js
│   │   │   │       ├── stat.js
│   │   │   │       └── zz-cleanup.js
│   │   │   ├── lodash
│   │   │   │   ├── LICENSE.txt
│   │   │   │   ├── README.md
│   │   │   │   ├── dist
│   │   │   │   │   ├── lodash.compat.js
│   │   │   │   │   ├── lodash.compat.min.js
│   │   │   │   │   ├── lodash.js
│   │   │   │   │   ├── lodash.min.js
│   │   │   │   │   ├── lodash.underscore.js
│   │   │   │   │   └── lodash.underscore.min.js
│   │   │   │   ├── lodash.js
│   │   │   │   └── package.json
│   │   │   └── minimatch
│   │   │       ├── LICENSE
│   │   │       ├── README.md
│   │   │       ├── minimatch.js
│   │   │       ├── package.json
│   │   │       └── test
│   │   │           ├── basic.js
│   │   │           ├── brace-expand.js
│   │   │           ├── caching.js
│   │   │           ├── defaults.js
│   │   │           └── extglob-ending-with-state-char.js
│   │   ├── package.json
│   │   └── test
│   │       ├── findup-sync_test.js
│   │       └── fixtures
│   │           ├── a
│   │           │   ├── b
│   │           │   │   └── bar.txt
│   │           │   └── foo.txt
│   │           ├── a.txt
│   │           └── aaa.txt
│   ├── forever-agent
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   └── package.json
│   ├── form-data
│   │   ├── License
│   │   ├── Readme.md
│   │   ├── lib
│   │   │   └── form_data.js
│   │   ├── node_modules
│   │   │   └── async
│   │   │       ├── LICENSE
│   │   │       ├── README.md
│   │   │       ├── bower.json
│   │   │       ├── component.json
│   │   │       ├── lib
│   │   │       │   └── async.js
│   │   │       ├── package.json
│   │   │       └── support
│   │   │           └── sync-package-managers.js
│   │   └── package.json
│   ├── getobject
│   │   ├── Gruntfile.js
│   │   ├── LICENSE-MIT
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── getobject.js
│   │   ├── package.json
│   │   └── test
│   │       └── namespace_test.js
│   ├── github-releases
│   │   ├── Gruntfile.coffee
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── bin
│   │   │   └── github-releases
│   │   ├── lib
│   │   │   ├── cli.js
│   │   │   ├── filters.js
│   │   │   └── github.js
│   │   ├── node_modules
│   │   │   └── minimatch
│   │   │       ├── LICENSE
│   │   │       ├── README.md
│   │   │       ├── minimatch.js
│   │   │       ├── package.json
│   │   │       └── test
│   │   │           ├── basic.js
│   │   │           ├── brace-expand.js
│   │   │           ├── caching.js
│   │   │           └── defaults.js
│   │   ├── package.json
│   │   └── tasks
│   │       └── download-github-releases-task.coffee
│   ├── glob
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── examples
│   │   │   ├── g.js
│   │   │   └── usr-local.js
│   │   ├── glob.js
│   │   ├── node_modules
│   │   │   └── inherits
│   │   │       ├── LICENSE
│   │   │       ├── README.md
│   │   │       ├── inherits.js
│   │   │       └── package.json
│   │   ├── package.json
│   │   └── test
│   │       ├── 00-setup.js
│   │       ├── bash-comparison.js
│   │       ├── bash-results.json
│   │       ├── cwd-test.js
│   │       ├── mark.js
│   │       ├── nocase-nomagic.js
│   │       ├── pause-resume.js
│   │       ├── root-nomount.js
│   │       ├── root.js
│   │       └── zz-cleanup.js
│   ├── graceful-fs
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── graceful-fs.js
│   │   ├── package.json
│   │   └── test
│   │       ├── open.js
│   │       └── ulimit.js
│   ├── grunt
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE-MIT
│   │   ├── README.md
│   │   ├── appveyor.yml
│   │   ├── internal-tasks
│   │   │   ├── bump.js
│   │   │   └── subgrunt.js
│   │   ├── lib
│   │   │   ├── grunt
│   │   │   │   ├── cli.js
│   │   │   │   ├── config.js
│   │   │   │   ├── event.js
│   │   │   │   ├── fail.js
│   │   │   │   ├── file.js
│   │   │   │   ├── help.js
│   │   │   │   ├── option.js
│   │   │   │   ├── task.js
│   │   │   │   └── template.js
│   │   │   ├── grunt.js
│   │   │   └── util
│   │   │       └── task.js
│   │   └── package.json
│   ├── grunt-download-electron
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── package.json
│   │   └── tasks
│   │       └── download-atom-shell-task.coffee
│   ├── grunt-legacy-log
│   │   ├── Gruntfile.js
│   │   ├── LICENSE-MIT
│   │   ├── README.md
│   │   ├── examples.js
│   │   ├── index.js
│   │   ├── node_modules
│   │   │   ├── lodash
│   │   │   │   ├── LICENSE.txt
│   │   │   │   ├── README.md
│   │   │   │   ├── dist
│   │   │   │   │   ├── lodash.compat.js
│   │   │   │   │   ├── lodash.compat.min.js
│   │   │   │   │   ├── lodash.js
│   │   │   │   │   ├── lodash.min.js
│   │   │   │   │   ├── lodash.underscore.js
│   │   │   │   │   └── lodash.underscore.min.js
│   │   │   │   ├── lodash.js
│   │   │   │   └── package.json
│   │   │   └── underscore.string
│   │   │       ├── Gemfile
│   │   │       ├── Gemfile.lock
│   │   │       ├── README.markdown
│   │   │       ├── Rakefile
│   │   │       ├── component.json
│   │   │       ├── dist
│   │   │       │   └── underscore.string.min.js
│   │   │       ├── lib
│   │   │       │   └── underscore.string.js
│   │   │       ├── libpeerconnection.log
│   │   │       ├── package.json
│   │   │       └── test
│   │   │           ├── run-qunit.js
│   │   │           ├── speed.js
│   │   │           ├── strings.js
│   │   │           ├── strings_standalone.js
│   │   │           ├── test.html
│   │   │           ├── test_standalone.html
│   │   │           ├── test_underscore
│   │   │           │   ├── arrays.js
│   │   │           │   ├── chaining.js
│   │   │           │   ├── collections.js
│   │   │           │   ├── functions.js
│   │   │           │   ├── index.html
│   │   │           │   ├── objects.js
│   │   │           │   ├── speed.js
│   │   │           │   ├── utility.js
│   │   │           │   └── vendor
│   │   │           │       ├── jquery.js
│   │   │           │       ├── jslitmus.js
│   │   │           │       ├── qunit.css
│   │   │           │       └── qunit.js
│   │   │           └── underscore.js
│   │   ├── package.json
│   │   └── test
│   │       └── index.js
│   ├── grunt-legacy-log-utils
│   │   ├── Gruntfile.js
│   │   ├── LICENSE-MIT
│   │   ├── README.md
│   │   ├── index.js
│   │   ├── node_modules
│   │   │   ├── lodash
│   │   │   │   ├── LICENSE.txt
│   │   │   │   ├── README.md
│   │   │   │   ├── dist
│   │   │   │   │   ├── lodash.compat.js
│   │   │   │   │   ├── lodash.compat.min.js
│   │   │   │   │   ├── lodash.js
│   │   │   │   │   ├── lodash.min.js
│   │   │   │   │   ├── lodash.underscore.js
│   │   │   │   │   └── lodash.underscore.min.js
│   │   │   │   ├── lodash.js
│   │   │   │   └── package.json
│   │   │   └── underscore.string
│   │   │       ├── Gemfile
│   │   │       ├── Gemfile.lock
│   │   │       ├── README.markdown
│   │   │       ├── Rakefile
│   │   │       ├── component.json
│   │   │       ├── dist
│   │   │       │   └── underscore.string.min.js
│   │   │       ├── lib
│   │   │       │   └── underscore.string.js
│   │   │       ├── libpeerconnection.log
│   │   │       ├── package.json
│   │   │       └── test
│   │   │           ├── run-qunit.js
│   │   │           ├── speed.js
│   │   │           ├── strings.js
│   │   │           ├── strings_standalone.js
│   │   │           ├── test.html
│   │   │           ├── test_standalone.html
│   │   │           ├── test_underscore
│   │   │           │   ├── arrays.js
│   │   │           │   ├── chaining.js
│   │   │           │   ├── collections.js
│   │   │           │   ├── functions.js
│   │   │           │   ├── index.html
│   │   │           │   ├── objects.js
│   │   │           │   ├── speed.js
│   │   │           │   ├── utility.js
│   │   │           │   └── vendor
│   │   │           │       ├── jquery.js
│   │   │           │       ├── jslitmus.js
│   │   │           │       ├── qunit.css
│   │   │           │       └── qunit.js
│   │   │           └── underscore.js
│   │   ├── package.json
│   │   └── test
│   │       └── index.js
│   ├── grunt-legacy-util
│   │   ├── Gruntfile.js
│   │   ├── LICENSE-MIT
│   │   ├── README.md
│   │   ├── index.js
│   │   ├── package.json
│   │   └── test
│   │       ├── fixtures
│   │       │   ├── Gruntfile-execArgv-child.js
│   │       │   ├── Gruntfile-execArgv.js
│   │       │   ├── Gruntfile-print-text.js
│   │       │   ├── exec.cmd
│   │       │   ├── exec.sh
│   │       │   ├── spawn-multibyte.js
│   │       │   └── spawn.js
│   │       └── index.js
│   ├── hawk
│   │   ├── LICENSE
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── example
│   │   │   └── usage.js
│   │   ├── images
│   │   │   ├── hawk.png
│   │   │   └── logo.png
│   │   ├── index.js
│   │   ├── lib
│   │   │   ├── browser.js
│   │   │   ├── client.js
│   │   │   ├── crypto.js
│   │   │   ├── index.js
│   │   │   ├── server.js
│   │   │   └── utils.js
│   │   ├── package.json
│   │   └── test
│   │       ├── browser.js
│   │       ├── client.js
│   │       ├── crypto.js
│   │       ├── index.js
│   │       ├── message.js
│   │       ├── readme.js
│   │       ├── server.js
│   │       ├── uri.js
│   │       └── utils.js
│   ├── hoek
│   │   ├── LICENSE
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── images
│   │   │   └── hoek.png
│   │   ├── index.js
│   │   ├── lib
│   │   │   ├── escape.js
│   │   │   └── index.js
│   │   ├── package.json
│   │   └── test
│   │       ├── escaper.js
│   │       ├── index.js
│   │       └── modules
│   │           ├── test1.js
│   │           ├── test2.js
│   │           └── test3.js
│   ├── hooker
│   │   ├── LICENSE-MIT
│   │   ├── README.md
│   │   ├── child.js
│   │   ├── dist
│   │   │   ├── ba-hooker.js
│   │   │   └── ba-hooker.min.js
│   │   ├── grunt.js
│   │   ├── lib
│   │   │   └── hooker.js
│   │   ├── package.json
│   │   ├── parent.js
│   │   └── test
│   │       └── hooker_test.js
│   ├── http-signature
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── http_signing.md
│   │   ├── lib
│   │   │   ├── index.js
│   │   │   ├── parser.js
│   │   │   ├── signer.js
│   │   │   ├── util.js
│   │   │   └── verify.js
│   │   └── package.json
│   ├── iconv-lite
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── README.md~
│   │   ├── encodings
│   │   │   ├── big5.js
│   │   │   ├── gbk.js
│   │   │   ├── singlebyte.js
│   │   │   └── table
│   │   │       ├── big5.js
│   │   │       └── gbk.js
│   │   ├── generation
│   │   │   ├── generate-big5-table.js
│   │   │   └── generate-singlebyte.js
│   │   ├── index.js
│   │   ├── package.json
│   │   └── test
│   │       ├── big5-test.js
│   │       ├── big5File.txt
│   │       ├── cyrillic-test.js
│   │       ├── gbk-test.js
│   │       ├── gbkFile.txt
│   │       ├── greek-test.js
│   │       ├── main-test.js
│   │       ├── performance.js
│   │       └── turkish-test.js
│   ├── inherits
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── inherits.js
│   │   ├── inherits_browser.js
│   │   ├── package.json
│   │   └── test.js
│   ├── isarray
│   │   ├── README.md
│   │   ├── build
│   │   │   └── build.js
│   │   ├── component.json
│   │   ├── index.js
│   │   └── package.json
│   ├── js-yaml
│   │   ├── HISTORY.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── bin
│   │   │   └── js-yaml.js
│   │   ├── examples
│   │   │   ├── custom_types.js
│   │   │   ├── custom_types.yaml
│   │   │   ├── dumper.js
│   │   │   ├── dumper.json
│   │   │   ├── sample_document.js
│   │   │   └── sample_document.yaml
│   │   ├── index.js
│   │   ├── lib
│   │   │   ├── js-yaml
│   │   │   │   ├── common.js
│   │   │   │   ├── dumper.js
│   │   │   │   ├── exception.js
│   │   │   │   ├── loader.js
│   │   │   │   ├── mark.js
│   │   │   │   ├── require.js
│   │   │   │   ├── schema
│   │   │   │   │   ├── default.js
│   │   │   │   │   ├── minimal.js
│   │   │   │   │   └── safe.js
│   │   │   │   ├── schema.js
│   │   │   │   ├── type
│   │   │   │   │   ├── binary.js
│   │   │   │   │   ├── bool.js
│   │   │   │   │   ├── float.js
│   │   │   │   │   ├── int.js
│   │   │   │   │   ├── js
│   │   │   │   │   │   ├── function.js
│   │   │   │   │   │   ├── regexp.js
│   │   │   │   │   │   └── undefined.js
│   │   │   │   │   ├── map.js
│   │   │   │   │   ├── merge.js
│   │   │   │   │   ├── null.js
│   │   │   │   │   ├── omap.js
│   │   │   │   │   ├── pairs.js
│   │   │   │   │   ├── seq.js
│   │   │   │   │   ├── set.js
│   │   │   │   │   ├── str.js
│   │   │   │   │   └── timestamp.js
│   │   │   │   └── type.js
│   │   │   └── js-yaml.js
│   │   └── package.json
│   ├── json-stringify-safe
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── package.json
│   │   ├── stringify.js
│   │   └── test
│   │       ├── mocha.opts
│   │       └── stringify_test.js
│   ├── lodash
│   │   ├── README.md
│   │   ├── lodash.js
│   │   ├── lodash.min.js
│   │   ├── lodash.underscore.js
│   │   ├── lodash.underscore.min.js
│   │   └── package.json
│   ├── lru-cache
│   │   ├── CONTRIBUTORS
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── lru-cache.js
│   │   ├── package.json
│   │   └── test
│   │       ├── basic.js
│   │       ├── foreach.js
│   │       ├── memory-leak.js
│   │       └── serialize.js
│   ├── mime
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── mime.js
│   │   ├── package.json
│   │   ├── test.js
│   │   └── types
│   │       ├── mime.types
│   │       └── node.types
│   ├── minimatch
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── minimatch.js
│   │   ├── package.json
│   │   └── test
│   │       ├── basic.js
│   │       ├── brace-expand.js
│   │       ├── caching.js
│   │       ├── defaults.js
│   │       └── extglob-ending-with-state-char.js
│   ├── mkpath
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── mkpath.js
│   │   ├── package.json
│   │   └── test
│   │       ├── chmod.js
│   │       ├── clobber.js
│   │       ├── mkpath.js
│   │       ├── perm.js
│   │       ├── perm_sync.js
│   │       ├── rel.js
│   │       ├── root.js
│   │       ├── sync.js
│   │       ├── umask.js
│   │       └── umask_sync.js
│   ├── node-uuid
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── benchmark
│   │   │   ├── README.md
│   │   │   ├── bench.gnu
│   │   │   ├── bench.sh
│   │   │   ├── benchmark-native.c
│   │   │   └── benchmark.js
│   │   ├── bin
│   │   │   └── uuid
│   │   ├── bower.json
│   │   ├── component.json
│   │   ├── package.json
│   │   ├── test
│   │   │   ├── compare_v1.js
│   │   │   ├── test.html
│   │   │   └── test.js
│   │   └── uuid.js
│   ├── nopt
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── bin
│   │   │   └── nopt.js
│   │   ├── examples
│   │   │   └── my-program.js
│   │   ├── lib
│   │   │   └── nopt.js
│   │   └── package.json
│   ├── oauth-sign
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   ├── package.json
│   │   └── test.js
│   ├── optimist
│   │   ├── LICENSE
│   │   ├── example
│   │   │   ├── bool.js
│   │   │   ├── boolean_double.js
│   │   │   ├── boolean_single.js
│   │   │   ├── default_hash.js
│   │   │   ├── default_singles.js
│   │   │   ├── divide.js
│   │   │   ├── line_count.js
│   │   │   ├── line_count_options.js
│   │   │   ├── line_count_wrap.js
│   │   │   ├── nonopt.js
│   │   │   ├── reflect.js
│   │   │   ├── short.js
│   │   │   ├── string.js
│   │   │   ├── usage-options.js
│   │   │   └── xup.js
│   │   ├── index.js
│   │   ├── package.json
│   │   ├── readme.markdown
│   │   └── test
│   │       ├── _
│   │       │   ├── argv.js
│   │       │   └── bin.js
│   │       ├── _.js
│   │       ├── parse.js
│   │       ├── short.js
│   │       └── usage.js
│   ├── prettyjson
│   │   ├── AUTHORS
│   │   ├── CONTRIBUTING.md
│   │   ├── History.md
│   │   ├── Jakefile
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── bin
│   │   │   └── prettyjson
│   │   ├── docs
│   │   │   ├── coverage.html
│   │   │   ├── docco.css
│   │   │   ├── images
│   │   │   │   ├── example1.png
│   │   │   │   ├── example2.png
│   │   │   │   ├── example3.png
│   │   │   │   ├── example4.png
│   │   │   │   ├── example5.png
│   │   │   │   ├── github-logo.png
│   │   │   │   ├── gmail-logo.png
│   │   │   │   ├── linkedin-logo.png
│   │   │   │   └── twitter-logo.png
│   │   │   ├── index.html
│   │   │   ├── javascripts
│   │   │   │   └── highlight.pack.js
│   │   │   ├── prettyjson.html
│   │   │   └── stylesheets
│   │   │       ├── main.css
│   │   │       └── syntax.css
│   │   ├── lib
│   │   │   ├── prettyjson.js
│   │   │   └── utils.js
│   │   ├── node_modules
│   │   │   └── colors
│   │   │       ├── MIT-LICENSE.txt
│   │   │       ├── ReadMe.md
│   │   │       ├── colors.js
│   │   │       ├── example.html
│   │   │       ├── example.js
│   │   │       ├── package.json
│   │   │       └── test.js
│   │   ├── package.json
│   │   ├── site
│   │   │   ├── images
│   │   │   │   ├── example1.png
│   │   │   │   ├── example2.png
│   │   │   │   ├── example3.png
│   │   │   │   ├── example4.png
│   │   │   │   ├── example5.png
│   │   │   │   ├── github-logo.png
│   │   │   │   ├── gmail-logo.png
│   │   │   │   ├── linkedin-logo.png
│   │   │   │   └── twitter-logo.png
│   │   │   ├── index.html
│   │   │   ├── javascripts
│   │   │   │   └── highlight.pack.js
│   │   │   └── stylesheets
│   │   │       ├── main.css
│   │   │       └── syntax.css
│   │   └── test
│   │       └── prettyjson_spec.js
│   ├── progress
│   │   ├── History.md
│   │   ├── Makefile
│   │   ├── Readme.md
│   │   ├── index.js
│   │   ├── lib
│   │   │   └── node-progress.js
│   │   └── package.json
│   ├── q
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── benchmark
│   │   │   ├── compare-with-callbacks.js
│   │   │   └── scenarios.js
│   │   ├── package.json
│   │   ├── q.js
│   │   └── queue.js
│   ├── qs
│   │   ├── Readme.md
│   │   ├── index.js
│   │   └── package.json
│   ├── readable-stream
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── duplex.js
│   │   ├── float.patch
│   │   ├── lib
│   │   │   ├── _stream_duplex.js
│   │   │   ├── _stream_passthrough.js
│   │   │   ├── _stream_readable.js
│   │   │   ├── _stream_transform.js
│   │   │   └── _stream_writable.js
│   │   ├── package.json
│   │   ├── passthrough.js
│   │   ├── readable.js
│   │   ├── transform.js
│   │   └── writable.js
│   ├── request
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   ├── lib
│   │   │   ├── copy.js
│   │   │   ├── debug.js
│   │   │   └── getSafe.js
│   │   ├── package.json
│   │   ├── request.js
│   │   └── tests
│   │       ├── googledoodle.jpg
│   │       ├── run.js
│   │       ├── server.js
│   │       ├── squid.conf
│   │       ├── ssl
│   │       │   ├── ca
│   │       │   │   ├── ca.cnf
│   │       │   │   ├── ca.crl
│   │       │   │   ├── ca.crt
│   │       │   │   ├── ca.csr
│   │       │   │   ├── ca.key
│   │       │   │   ├── ca.srl
│   │       │   │   ├── server.cnf
│   │       │   │   ├── server.crt
│   │       │   │   ├── server.csr
│   │       │   │   ├── server.js
│   │       │   │   └── server.key
│   │       │   ├── npm-ca.crt
│   │       │   ├── test.crt
│   │       │   └── test.key
│   │       ├── test-agentOptions.js
│   │       ├── test-basic-auth.js
│   │       ├── test-body.js
│   │       ├── test-defaults.js
│   │       ├── test-digest-auth.js
│   │       ├── test-emptyBody.js
│   │       ├── test-errors.js
│   │       ├── test-follow-all-303.js
│   │       ├── test-follow-all.js
│   │       ├── test-form.js
│   │       ├── test-hawk.js
│   │       ├── test-headers.js
│   │       ├── test-http-signature.js
│   │       ├── test-httpModule.js
│   │       ├── test-https-strict.js
│   │       ├── test-https.js
│   │       ├── test-isUrl.js
│   │       ├── test-localAddress.js
│   │       ├── test-oauth.js
│   │       ├── test-onelineproxy.js
│   │       ├── test-params.js
│   │       ├── test-piped-redirect.js
│   │       ├── test-pipes.js
│   │       ├── test-pool.js
│   │       ├── test-protocol-changing-redirect.js
│   │       ├── test-proxy.js
│   │       ├── test-qs.js
│   │       ├── test-redirect.js
│   │       ├── test-s3.js
│   │       ├── test-timeout.js
│   │       ├── test-toJSON.js
│   │       ├── test-tunnel.js
│   │       └── unicycle.jpg
│   ├── rimraf
│   │   ├── AUTHORS
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── bin.js
│   │   ├── package.json
│   │   ├── rimraf.js
│   │   └── test
│   │       ├── run.sh
│   │       ├── setup.sh
│   │       ├── test-async.js
│   │       └── test-sync.js
│   ├── sigmund
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── bench.js
│   │   ├── package.json
│   │   ├── sigmund.js
│   │   └── test
│   │       └── basic.js
│   ├── sntp
│   │   ├── LICENSE
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── examples
│   │   │   ├── offset.js
│   │   │   └── time.js
│   │   ├── index.js
│   │   ├── lib
│   │   │   └── index.js
│   │   ├── package.json
│   │   └── test
│   │       └── index.js
│   ├── string_decoder
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   └── package.json
│   ├── touch
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── bin
│   │   │   └── touch.js
│   │   ├── package.json
│   │   ├── test
│   │   │   └── sanity.js
│   │   └── touch.js
│   ├── traverse
│   │   ├── LICENSE
│   │   ├── README.markdown
│   │   ├── examples
│   │   │   ├── json.js
│   │   │   ├── leaves.js
│   │   │   ├── negative.js
│   │   │   └── stringify.js
│   │   ├── index.js
│   │   ├── package.json
│   │   └── test
│   │       ├── circular.js
│   │       ├── date.js
│   │       ├── equal.js
│   │       ├── instance.js
│   │       ├── interface.js
│   │       ├── json.js
│   │       ├── leaves.js
│   │       ├── mutability.js
│   │       ├── negative.js
│   │       ├── obj.js
│   │       ├── stop.js
│   │       ├── stringify.js
│   │       └── super_deep.js
│   ├── tunnel-agent
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   └── package.json
│   ├── underscore
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── package.json
│   │   ├── underscore-min.js
│   │   └── underscore.js
│   ├── underscore.string
│   │   ├── Gemfile
│   │   ├── Gemfile.lock
│   │   ├── README.markdown
│   │   ├── Rakefile
│   │   ├── dist
│   │   │   └── underscore.string.min.js
│   │   ├── lib
│   │   │   └── underscore.string.js
│   │   ├── package.json
│   │   └── test
│   │       ├── run-qunit.js
│   │       ├── speed.js
│   │       ├── strings.js
│   │       ├── strings_standalone.js
│   │       ├── test.html
│   │       ├── test_standalone.html
│   │       ├── test_underscore
│   │       │   ├── arrays.js
│   │       │   ├── chaining.js
│   │       │   ├── collections.js
│   │       │   ├── functions.js
│   │       │   ├── objects.js
│   │       │   ├── speed.js
│   │       │   ├── temp.js
│   │       │   ├── temp_tests.html
│   │       │   ├── test.html
│   │       │   ├── utility.js
│   │       │   └── vendor
│   │       │       ├── jquery.js
│   │       │       ├── jslitmus.js
│   │       │       ├── qunit.css
│   │       │       └── qunit.js
│   │       └── underscore.js
│   ├── which
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── bin
│   │   │   └── which
│   │   ├── package.json
│   │   └── which.js
│   ├── wordwrap
│   │   ├── LICENSE
│   │   ├── README.markdown
│   │   ├── example
│   │   │   ├── center.js
│   │   │   └── meat.js
│   │   ├── index.js
│   │   ├── package.json
│   │   └── test
│   │       ├── break.js
│   │       ├── idleness.txt
│   │       └── wrap.js
│   └── wrench
│       ├── LICENSE
│       ├── lib
│       │   └── wrench.js
│       ├── package.json
│       ├── readme.md
│       └── tests
│           ├── copydirsync_unix.js
│           ├── mkdir.js
│           ├── readdir
│           │   ├── bar.txt
│           │   └── foo
│           │       ├── bar
│           │       │   └── ipsum.js
│           │       ├── dolor.md
│           │       └── lorem.txt
│           ├── readdir.js
│           ├── runner.js
│           ├── shown
│           │   ├── bar.txt
│           │   └── foo
│           │       ├── bar
│           │       │   └── ipsum.js
│           │       ├── dolor.md
│           │       └── lorem.txt
│           └── withsymlinks
│               └── test
├── package.json
├── project.clj
├── resources
│   └── empty
├── src
│   └── hello_om_based2
│       └── core.cljs
├── src_front
│   └── hello_om_based2_front
│       └── core.cljs
├── src_front_profile
│   └── hello_om_based2_front
│       ├── dev
│       │   ├── conf.cljs
│       │   └── init.cljs
│       └── prod
│           ├── conf.cljs
│           └── init.cljs
├── src_tools
│   └── figwheel_middleware.clj
└── target
    └── cljsbuild-compiler-0
        ├── cljs
        │   ├── core.cljs
        │   ├── core.js
        │   ├── nodejs.cljs
        │   ├── nodejs.js
        │   └── nodejscli.cljs
        ├── goog
        │   └── bootstrap
        │       └── nodejs.js
        └── hello_om_based2
            └── core.js

301 directories, 1140 files

うーん、よくわからないエラーだ………:

% ls ./src_front_profile/hello_om_based2_front/dev/
conf.cljs  init.cljs

あるっちゃあるんだけど………………。

参照

依存関係を解決できなかった件

今朝 yaourt -Syua やってみたら:

% yaourt -Syua
[sudo] rihine のパスワード:
:: パッケージデータベースの同期中...
 core                     121.1 KiB   107K/s 00:01 [######################] 100%
 extra                   1744.2 KiB   110K/s 00:16 [######################] 100%
 community                  3.4 MiB  88.8K/s 00:39 [######################] 100%
 multilib                 161.2 KiB  95.8K/s 00:02 [######################] 100%
 antergos                 252.6 KiB   204K/s 00:01 [######################] 100%
error: failed to prepare transaction (could not satisfy dependencies)
:: システム全体の更新を開始...
依存関係を解決しています...
衝突するパッケージがないか確認しています...
エラー: 処理の準備に失敗しました (依存関係を解決できませんでした)
:: light-locker-settings: python-gobject (3.20.0-1) をインストールすると 'python-gobject<3.20' の依存関係が壊れます
:: lightdm-webkit2-greeter: webkit2gtk (2.12.0-2) をインストールすると 'webkit2gtk<2.12' の依存関係が壊れます
:: lightdm-webkit2-greeter: gtk3 (3.20.2-1) をインストールすると 'gtk3<3.20' の依存関係が壊れます

antergos の lightdm 関連のパッケージ?が原因で依存関係が解決できなくてアップデートできなかった。

% yaourt -Ss lightdm-webkit2-greeter
antergos/lightdm-webkit2-greeter 2.0.0-1 (system) [installed]
    A webkit2 greeter for LightDM
aur/lightdm-webkit2-greeter 2.0.0-2 [installed: 2.0.0-1] (Out of Date) (41) (5.34)
    A webkit2 greeter for LightDM

lightdm-webkit2-greeter を -Si してみる:

% yaourt -Si lightdm-webkit2-greeter
リポジトリ             : antergos
名前                   : lightdm-webkit2-greeter
バージョン             : 2.0.0-1
説明                   : A webkit2 greeter for LightDM
アーキテクチャ         : x86_64
URL                    : https://github.com/antergos/lightdm-webkit2-greeter
ライセンス             : GPL3
グループ               : system
提供                   : lightdm-webkit-greeter
                         lightdm-webkit-theme-antergos=2.3.2
依存パッケージ         : lightdm  webkit2gtk>=2.10.2  webkit2gtk<2.12
                         gtk3>=3.18  gtk3<3.20
提案パッケージ         : なし
衝突パッケージ         : lightdm-webkit-greeter  lightdm-webkit-theme-antergos
置換パッケージ         : lightdm-webkit-greeter
                         lightdm-webkit-theme-antergos<2.2.4
ダウンロード容量       : 551.74 KiB
インストール容量       : 1692.00 KiB
パッケージ作成者       : Antergos Build Server <dev@antergos.com>
ビルド日時             : 2016年01月11日 16時30分13秒
検証方法               : MD5 Sum  SHA-256 Sum  署名

light-locker-settings を -Si してみる:

% yaourt -Si light-locker-settings
リポジトリ             : antergos
名前                   : light-locker-settings
バージョン             : 1.5.2-2
説明                   : Just a simple settings dialog for light-locker
アーキテクチャ         : any
URL                    : https://github.com/lots0logs/light-locker-settings
ライセンス             : GPL3
グループ               : なし
提供                   : なし
依存パッケージ         : light-locker  python-gobject>=3.18
                         python-gobject<3.20  python-psutil
提案パッケージ         : なし
衝突パッケージ         : なし
置換パッケージ         : なし
ダウンロード容量       : 33.44 KiB
インストール容量       : 391.00 KiB
パッケージ作成者       : Antergos Build Server <dev@antergos.com>
ビルド日時             : 2015年10月09日 12時32分52秒
検証方法               : MD5 Sum  SHA-256 Sum  署名

どうやら、python-gobject と webkit2gtk と gtk3 がアップデートされるらしい。
今、lightdm は使っていないので、引っかかるパッケージを削除してみる:

% yaourt -R light-locker-settings lightdm-webkit2-greeter
[sudo] rihine のパスワード:
依存関係を確認しています...

パッケージ (2) light-locker-settings-1.5.2-2  lightdm-webkit2-greeter-2.0.0-1

合計削除容量:  2.03 MiB

:: 以上のパッケージを削除しますか? [Y/n] y
:: パッケージの変更を処理しています...
(1/2) 削除 lightdm-webkit2-greeter                 [######################] 100%
警告: /etc/lightdm/lightdm-webkit2-greeter.conf は /etc/lightdm/lightdm-webkit2-greeter.conf.pacsave として保存されました
(2/2) 削除 light-locker-settings                   [######################] 100%
==> インストールしたパッケージから必要とされないパッケージ:
    python-psutil

gnome のアップデートがあったらしい。
めっちゃ多いwwwww

% yaourt -Syua
:: パッケージデータベースの同期中...
 core は最新です
 extra は最新です
 community は最新です
 multilib は最新です
 antergos は最新です
 外部のパッケージ: \ 47 / 47

==> パッケージの更新 (新リリース):
extra/boost                         1.60.0-2             2 -> 4
extra/boost-libs                    1.60.0-2             2 -> 4
extra/brltty                        5.3.1-2              2 -> 3
extra/cups-filters                  1.8.3-1              1 -> 2
extra/firefox                       45.0.1-1             1 -> 5
extra/harfbuzz                      1.2.4-1              1 -> 3
extra/harfbuzz-icu                  1.2.4-1              1 -> 3
extra/libcanberra                   0.30-5               5 -> 6
extra/libcanberra-pulse             0.30-5               5 -> 6
extra/libcdr                        0.1.2-1              1 -> 2
extra/libe-book                     0.1.2-4              4 -> 5
extra/libfbclient                   2.5.5.26952-1        1 -> 2
extra/libmspub                      0.1.2-4              4 -> 5
extra/libphonenumber                7.2.5-1              1 -> 2
extra/libreoffice-fresh             5.1.1-3              3 -> 4
extra/libsynctex                    2015.37497-10        10 -> 11
extra/libvisio                      0.1.5-1              1 -> 2
extra/libxml2                       2.9.3-1              1 -> 2
extra/qt4                           4.8.7-7              7 -> 8
extra/qt5-base                      5.6.0-2              2 -> 3
extra/qt5-webkit                    5.6.0-2              2 -> 4
extra/raptor                        2.0.15-3             3 -> 4
extra/texlive-bin                   2015.37497-10        10 -> 11
extra/webkitgtk                     2.4.10-1             1 -> 2
extra/webkitgtk2                    2.4.10-1             1 -> 2
community/blender                   17:2.77.a-1          1 -> 2
community/nodejs                    5.10.1-1             1 -> 2
multilib/lib32-harfbuzz             1.2.4-1              1 -> 2

==> ソフトウェアの更新 (新バージョン) :
core/glib2                          2.46.2-4             -> 2.48.0-1
extra/adwaita-icon-theme            3.18.0-1             -> 3.20-1
extra/at-spi2-atk                   2.18.1-1             -> 2.20.0-1
extra/at-spi2-core                  2.18.3-1             -> 2.20.0-1
extra/atk                           2.18.0-1             -> 2.20.0-1
extra/baobab                        3.18.1-1             -> 3.20.0-1
extra/bijiben                       3.18.2-2             -> 3.20.0-1
extra/caribou                       0.4.19-2             -> 0.4.20-1
extra/cheese                        3.18.1-1             -> 3.20.0-1
extra/chromium                      49.0.2623.110-1      -> 49.0.2623.112-1
extra/clutter                       1.24.2-1             -> 1.26.0-1
extra/clutter-gst                   3.0.16-1             -> 3.0.18-1
extra/clutter-gst2                  2.0.16-1             -> 2.0.18-1
extra/clutter-gtk                   1.6.6-1              -> 1.8.0-1
extra/cogl                          1.22.0-1             -> 1.22.0+11+g81ab4a3-1
extra/colord                        1.2.12-1             -> 1.3.2-1
extra/dconf                         0.24.0-1             -> 0.26.0-1
extra/dconf-editor                  3.18.2-1             -> 3.20.0-1
extra/eog                           3.18.2-1             -> 3.20.0-1
extra/evince                        3.18.2-2             -> 3.20.0-1
extra/evolution-data-server         3.18.5-1             -> 3.20.0-2
extra/file-roller                   3.16.4-1             -> 3.20.0-1
extra/gcr                           3.18.0-1             -> 3.20.0-1
extra/gdm                           3.18.2-1             -> 3.20.0-1
extra/gedit                         3.18.3-1             -> 3.20.1-1
extra/gegl                          0.3.4-5              -> 0.3.6-1
extra/geocode-glib                  3.18.2-1             -> 3.20.0-1
extra/gjs                           1.44.0-2             -> 1.45.3-1
extra/glib-networking               2.46.1-1             -> 2.48.0-1
extra/glibmm                        2.46.3-1             -> 2.48.1-1
extra/gnome-backgrounds             3.18.0-1             -> 3.20-1
extra/gnome-bluetooth               3.18.2-1             -> 3.18.3-1
extra/gnome-calculator              3.18.3-1             -> 3.20.0-1
extra/gnome-calendar                3.18.3-1             -> 3.20.0-1
extra/gnome-color-manager           3.18.0-2             -> 3.20.0-1
extra/gnome-contacts                3.18.1-1             -> 3.19.91-1
extra/gnome-control-center          3.18.2-1             -> 3.20.0-1
extra/gnome-desktop                 1:3.18.2-1           -> 1:3.20.0-1
extra/gnome-disk-utility            3.18.3.1-1           -> 3.20.0-1
extra/gnome-documents               3.18.2-1             -> 3.20.0-1
extra/gnome-font-viewer             3.16.2-2             -> 3.20.0-1
extra/gnome-keyring                 1:3.18.3-1           -> 1:3.20.0-1
extra/gnome-logs                    3.18.1-1             -> 3.20.0-1
extra/gnome-maps                    3.18.2-1             -> 3.20.0-1
extra/gnome-music                   3.18.2-1             -> 3.20.0-1
extra/gnome-online-accounts         3.18.2.1-1           -> 3.20.0-1
extra/gnome-online-miners           3.14.3-1             -> 3.20.0-1
extra/gnome-photos                  3.18.3-1             -> 3.20.0-2
extra/gnome-session                 3.18.1.2-1           -> 3.20.0-2
extra/gnome-settings-daemon         3.18.3-1             -> 3.20.0-1
extra/gnome-shell                   3.18.4-2             -> 3.20.0-2
extra/gnome-shell-extensions        3.18.4-1             -> 3.20.0-1
extra/gnome-sound-recorder          3.18.2-1             -> 3.19.91-1
extra/gnome-system-monitor          3.18.2-2             -> 3.20.0-1
extra/gnome-terminal                3.18.3-1             -> 3.20.0-1
extra/gnome-themes-standard         3.18.0-1             -> 3.20-1
extra/gnome-tweak-tool              3.18.1-1             -> 3.20.0-1
extra/gnome-weather                 3.18.1-1             -> 3.20.0-1
extra/gobject-introspection         1.46.0-1             -> 1.48.0-1
extra/gobject-introspection-runtime 1.46.0-1             -> 1.48.0-1
extra/grilo                         0.2.15-1             -> 0.3.0-1
extra/grilo-plugins                 0.2.17-1             -> 0.3.1-1
extra/gsettings-desktop-schemas     3.18.1-1             -> 3.20.0-1
extra/gst-libav                     1.6.3-3              -> 1.8.0-1
extra/gst-plugins-bad               1.6.3-6              -> 1.8.0-2
extra/gst-plugins-base              1.6.3-1              -> 1.8.0-1
extra/gst-plugins-base-libs         1.6.3-1              -> 1.8.0-1
extra/gst-plugins-good              1.6.3-1              -> 1.8.0-1
extra/gst-plugins-ugly              1.6.3-1              -> 1.8.0-1
extra/gstreamer                     1.6.3-1              -> 1.8.0-1
extra/gstreamer-vaapi               1.6.0-1              -> 1.8.0-1
extra/gtk-update-icon-cache         3.18.9-1             -> 3.20.2-1
extra/gtk3                          3.18.9-1             -> 3.20.2-1
extra/gtkmm3                        3.18.0-2             -> 3.20.0-1
extra/gtksourceview3                3.18.2-1             -> 3.20.1-1
extra/gvfs                          1.26.3-1             -> 1.28.0-1
extra/gvfs-mtp                      1.26.3-1             -> 1.28.0-1
extra/icu                           56.1-2               -> 57.1-1
extra/json-glib                     1.0.4-1              -> 1.2.0-1
extra/libchamplain                  0.12.12-1            -> 0.12.13-1
extra/libgdm                        3.18.2-1             -> 3.20.0-1
extra/libgit2                       1:0.23.4-3           -> 1:0.24.0-1
extra/libgtop                       2.32.0-1             -> 2.34.0-1
extra/libgweather                   3.18.1-1             -> 3.20.0-1
extra/libnautilus-extension         3.18.5-1             -> 3.20.0-1
extra/liborcus                      0.11.0-1             -> 0.11.1-1
extra/libpeas                       1.16.0-1             -> 1.18.0-1
extra/libsoup                       2.52.2-1             -> 2.54.0.1-1
extra/libtracker-sparql             1.6.1-3              -> 1.8.0-2
extra/mutter                        3.18.3-2             -> 3.20.0-1
extra/nautilus                      3.18.5-1             -> 3.20.0-1
extra/orca                          3.18.2-1             -> 3.20.0-1
extra/pango                         1.39.0-1             -> 1.40.0-1
extra/pangomm                       2.38.1-2             -> 2.40.0-1
extra/poppler                       0.41.0-1             -> 0.42.0-1
extra/poppler-glib                  0.41.0-1             -> 0.42.0-1
extra/pygobject-devel               3.18.2-1             -> 3.20.0-1
extra/python-atspi                  2.18.0-1             -> 2.20.0-1
extra/python-gobject                3.18.2-1             -> 3.20.0-1
extra/python2-atspi                 2.18.0-1             -> 2.20.0-1
extra/python2-gobject               3.18.2-1             -> 3.20.0-1
extra/seahorse                      3.18.0-2             -> 3.20.0-1
extra/thunderbird                   38.7.1-1             -> 38.7.2-1
extra/totem                         3.18.1-1             -> 3.20.0-1
extra/tracker                       1.6.1-3              -> 1.8.0-2
extra/vala                          0.30.1-1             -> 0.32.0-1
extra/vte-common                    0.42.5-1             -> 0.44.0-1
extra/vte3                          0.42.5-1             -> 0.44.0-1
extra/webkit2gtk                    2.10.9-1             -> 2.12.0-2
extra/zenity                        3.18.1.1-1           -> 3.20.0-1
community/neovim                    0.1.2-1              -> 0.1.3-1
community/openttd                   1.5.3-1              -> 1.6.0-1
multilib/lib32-giflib               5.1.2-1              -> 5.1.3-1
multilib/lib32-icu                  56.1-2               -> 57.1-1
multilib/lib32-mpg123               1.22.4-1             -> 1.23.0-1
aur/emacs-org-mode-git              8.3.4.709.g519f78d-1 -> 8.3.4.712.g0fac70e-1
aur/google-cloud-sdk                102.0.0-1            -> 104.0.0-1

==> 新規パッケージ :
                                                         (gedit から必要とされてextra/gspell                        1.0.0-1
                                                         (gnome-photos から必要extra/libraw                        0.17.1-1
                                                         (libtracker-sparql からextra/libstemmer                    0+337-2
                                                         (python-mako から必要とextra/python-beaker                 1.8.0-1
                                                         (gobject-introspection extra/python-mako                   1.0.4-1
                                                         (python-mako から必要とextra/python-markupsafe             0.23-3
                                                         (gtk3 から必要とされてextra/wayland-protocols              1.3-1
                                                         (gnome-photos から必要community/libgexiv2                 0.10.3-4

==> アップグレードを続行しますか ? [Y/n]
==> [V]パッケージの詳細表示  [M]手動でパッケージを選択
==> -----------------------------
==> 

(๑´ڡ`๑) なんか大丈夫そう

clojure で Electoron できる descjop をやってみようと思った その4

hello-om-based にボタンを付けるとかそういう感じ。
hello-om-based/src_front/hello_om_based_om/core.cljs をいじるらしい。
以下のようになってる:

(ns hello_om_based-om.core
  (:require [om.core         :as om  :include-macros true]
            [om.dom          :as dom :include-macros true]
            [figwheel.client :as fw  :include-macros true]))

(enable-console-print!)

(fw/watch-and-reload
 :websocket-url   "ws://localhost:3449/figwheel-ws"
 :jsload-callback 'mount-root)

(defonce app-state (atom {:message "Hello om world!"}))

(defn mount-root []
  (om/root
   (fn [state owner]
     (reify om/IRender
       (render [_]
         (dom/h1 nil (:message state)))))
   app-state
   {:target (. js/document
               (getElementById "app"))}))

(defn init! []
  (mount-root))

(init!)

:require の部分をちょっと合わせただけど、それ以外は変更してない。

まあ、それはともかく、このうちの mount-root ってところが画面に出力されるコンポーネントを定義しているところらしい:

(defn mount-root []
  (om/root
   (fn [state owner]
     (reify om/IRender
       (render [_]
         (dom/h1 nil (:message state)))))
   app-state
   {:target (. js/document
               (getElementById "app"))}))

dom/h1 っていうのが h1 要素を生成するらしい。
で、これを下のように変更する:

(defn mount-root []
  (om/root
   (fn [state owner]
     (reify om/IRender
       (render [_]
         (dom/div nil
                  (dom/h1 nil (:message state))
                  (dom/button #js { :onClick (fn [e]
                                               (js/alert "pressed!"))}
                              "Hello")))))
   app-state
   {:target (. js/document
               (getElementById "app"))}))

dom/h1dom/div でくるんで、dom/h1 の下に dom/button を配置した。
見ての通り、 dom/button はボタンらしい。
で、これをクリックすると pressed! というアラートウィンドウが出るようになっている。

というか、Om does not work になってるのに動くわけないんだよな…………………。

参照

clojure で Electoron できる descjop をやってみようと思った その3

Om を使うので別のプロジェクトを作る

+om を追加することで Om を使えるようにする。

% lein new descjop hello-om-based +om

なんかめんどいので初期化のためのすくりぷよ書く

また同じようにやるのは味気ないので、すくりぷよを書く。
Makefile に書こうかなーとか思ったんだけど、とりあえず bootstrap ってファイルに書いておく。

#!/usr/bin/bash
# -*- mode: shell-script; coding: utf-8; -*-

npm install

grunt download-electron

lein externs > ./app/js/externs.js

lein cljsbuild once

こんな感じに打つ:

% ./bootstrap

そういえば、2 つビルドされている:

Compiling "app/js/cljsbuild-main.js" from ["src"]...
Successfully compiled "app/js/cljsbuild-main.js" in 19.467 seconds.
Compiling "app/js/front.js" from ["src_front"]...
Successfully compiled "app/js/front.js" in 10.117 seconds.

Figwheel サーバーの起動

Figwheel ってサーバーだったの?

% lein trampoline figwheel frontend

って打つと:

Figwheel: Starting server at http://localhost:3449
Focusing on build ids: frontend
Compiling "app/js/front.js" from ["src_front"]...
Successfully compiled "app/js/front.js" in 5.025 seconds.
Started Figwheel autobuilder

Launching ClojureScript REPL for build: frontend
Figwheel Controls:
          (stop-autobuild)                ;; stops Figwheel autobuilder
          (start-autobuild [id ...])      ;; starts autobuilder focused on optional ids
          (switch-to-build id ...)        ;; switches autobuilder to different build
          (reset-autobuild)               ;; stops, cleans, and starts autobuilder
          (reload-config)                 ;; reloads build config and resets autobuild
          (build-once [id ...])           ;; builds source one time
          (clean-builds [id ..])          ;; deletes compiled cljs target files
          (fig-status)                    ;; displays current state of system
          (add-dep [org.om/om "0.8.1"]) ;; add a dependency. very experimental
  Switch REPL build focus:
          :cljs/quit                      ;; allows you to switch REPL to another build
    Docs: (doc function-name-here)
    Exit: Control+C or :cljs/quit
 Results: Stored in vars *1, *2, *3, *e holds last exception object
Prompt will show when figwheel connects to your application

って表示されるので、別の端末エミュを開いて:

% ./electron/electron ./app/

って打つと…………

f:id:noqisofon:20160407212512p:plain

Hello Om World! とは表示されなかった。

参考

clojure で Electoron できる descjop をやってみようと思った その2

html の修正

Hello して World するために ./app/index.html を修正する。
こんな感じ:

<!DOCTYPE html>

<html>
 <head>
  <title>Hello, World!</title>
 </head>
 <body>
  <h1>Hello, World!</h1>
  <div>Hello, World!</div>
 </body>
</html>

で:

% ./electron/electron ./app/

アプリを起動する。

f:id:noqisofon:20160407054449p:plain

(๑´ڡ`๑) でけた

参考

clojure で Electoron できる descjop をやってみようと思った

やってみたことをクズ記事でもいいので書いておくことにしたような気配。
書かないと忘れちゃうからね。

lein でプロジェクトを作る

descjop を使うらしい。
lein new の使い方はこんな感じ:

% lein new <テンプレート名> <プロジェクト・ディレクトリパス>

descjop というテンプレートを使うらしい。
とりあえず、hello-descjop というプロジェクト名にする:

% lein new descjop hello-descjop

grunt くらいあんよのインストール

npm で grunt-cli をグローバルでインストールする。
これは grunt 更新していなかった気がするのでやっただけで、既に更新済みだよっ!ってひとはやんなくても大丈夫。

% sudo npm install -g grunt-cli

更新してなかったみたいなのでこんな感じのログ?が表示されたよ:

/usr/bin/grunt -> /usr/lib/node_modules/grunt-cli/bin/grunt
/usr/lib
`-- grunt-cli@1.2.0 
  +-- findup-sync@0.3.0 
  | `-- glob@5.0.15 
  |   +-- inflight@1.0.4 
  |   | `-- wrappy@1.0.1 
  |   +-- inherits@2.0.1 
  |   +-- minimatch@3.0.0 
  |   | `-- brace-expansion@1.1.3 
  |   |   +-- balanced-match@0.3.0 
  |   |   `-- concat-map@0.0.1 
  |   +-- once@1.3.3 
  |   `-- path-is-absolute@1.0.0 
  +-- grunt-known-options@1.1.0 
  +-- nopt@3.0.6 
  | `-- abbrev@1.0.7 
  `-- resolve@1.1.7 

ローカルな npm モジュールのインストール

npm はローカルにもモジュール?パッケージ?をインストールできるし、グローバルにもインストールできるのであれがそれ。
Electoron は npm 側のモジュールなので、これが大事:

% npm install

こんな感じのログが出た:

npm WARN deprecated lodash@0.9.2: Grunt needs your help! See https://github.com/gruntjs/grunt/issues/1403.
npm WARN deprecated graceful-fs@1.2.3: graceful-fs version 3 and before will fail on newer node releases. Please update to graceful-fs@^4.0.0 as soon as possible.
npm WARN deprecated wrench@1.5.4: wrench.js is deprecated! You should check out fs-extra (https://github.com/jprichardson/node-fs-extra) for any operations you were using wrench for. Thanks for all the usage over the years.
hello-descjop@0.0.0 /home/rihine/workspace/hello-descjop
+-- closurecompiler-externs@1.0.4 
+-- grunt@0.4.5 
| +-- async@0.1.22 
| +-- coffee-script@1.3.3 
| +-- colors@0.6.2 
| +-- dateformat@1.0.2-1.2.3 
| +-- eventemitter2@0.4.14 
| +-- exit@0.1.2 
| +-- findup-sync@0.1.3 
| | +-- glob@3.2.11 
| | | +-- inherits@2.0.1 
| | | `-- minimatch@0.3.0 
| | `-- lodash@2.4.2 
| +-- getobject@0.1.0 
| +-- glob@3.1.21 
| | +-- graceful-fs@1.2.3 
| | `-- inherits@1.0.2 
| +-- grunt-legacy-log@0.1.3 
| | +-- grunt-legacy-log-utils@0.1.1 
| | | +-- lodash@2.4.2 
| | | `-- underscore.string@2.3.3 
| | +-- lodash@2.4.2 
| | `-- underscore.string@2.3.3 
| +-- grunt-legacy-util@0.2.0 
| +-- hooker@0.2.3 
| +-- iconv-lite@0.2.11 
| +-- js-yaml@2.0.5 
| | +-- argparse@0.1.16 
| | | +-- underscore@1.7.0 
| | | `-- underscore.string@2.4.0 
| | `-- esprima@1.0.4 
| +-- lodash@0.9.2 
| +-- minimatch@0.2.14 
| | +-- lru-cache@2.7.3 
| | `-- sigmund@1.0.1 
| +-- nopt@1.0.10 
| | `-- abbrev@1.0.7 
| +-- rimraf@2.2.8 
| +-- underscore.string@2.2.1 
| `-- which@1.0.9 
`-- grunt-download-electron@2.1.3 
  +-- decompress-zip@0.0.4 
  | +-- binary@0.3.0 
  | | +-- buffers@0.1.1 
  | | `-- chainsaw@0.1.0 
  | |   `-- traverse@0.3.9 
  | +-- mkpath@0.1.0 
  | +-- nopt@2.1.2 
  | +-- q@0.9.7 
  | +-- readable-stream@1.1.13 
  | | +-- core-util-is@1.0.2 
  | | +-- isarray@0.0.1 
  | | `-- string_decoder@0.10.31 
  | `-- touch@0.0.2 
  +-- github-releases@0.2.1 
  | +-- minimatch@0.2.12 
  | +-- optimist@0.4.0 
  | | `-- wordwrap@0.0.3 
  | +-- prettyjson@0.8.1 
  | | `-- colors@0.6.0-1 
  | `-- request@2.27.0 
  |   +-- aws-sign@0.3.0 
  |   +-- cookie-jar@0.3.0 
  |   +-- forever-agent@0.5.2 
  |   +-- form-data@0.1.4 
  |   | +-- async@0.9.2 
  |   | `-- combined-stream@0.0.7 
  |   |   `-- delayed-stream@0.0.5 
  |   +-- hawk@1.0.0 
  |   | +-- boom@0.4.2 
  |   | +-- cryptiles@0.2.2 
  |   | +-- hoek@0.9.1 
  |   | `-- sntp@0.2.4 
  |   +-- http-signature@0.10.1 
  |   | +-- asn1@0.1.11 
  |   | +-- assert-plus@0.1.5 
  |   | `-- ctype@0.5.3 
  |   +-- json-stringify-safe@5.0.1 
  |   +-- mime@1.2.11 
  |   +-- node-uuid@1.4.7 
  |   +-- oauth-sign@0.3.0 
  |   +-- qs@0.6.6 
  |   `-- tunnel-agent@0.3.0 
  +-- progress@1.1.2 
  `-- wrench@1.5.4 

npm WARN hello-descjop@0.0.0 No repository field.
npm WARN hello-descjop@0.0.0 No license field.

electoron のインストール

「grunt-download-electoron」というモジュールがインストールされているらしいので、探してみたら、インストールされていた。
これが文字通り Electoron をインストールするためのモジュールらしい。

こーいう感じに打って、Electron をインストールするよ:

% grunt download-electron

こんな感じのログが表示された:

Running "download-electron" task
downloading [===================] 100% 0.0s

こんな感じのディレクトリができる:

% tree ./electron/
./electron/
├── LICENSE
├── LICENSES.chromium.html
├── content_shell.pak
├── electron
├── icudtl.dat
├── libgcrypt.so.11
├── libnode.so
├── locales
│   ├── am.pak
│   ├── ar.pak
│   ├── bg.pak
│   ├── bn.pak
│   ├── ca.pak
│   ├── cs.pak
│   ├── da.pak
│   ├── de.pak
│   ├── el.pak
│   ├── en-GB.pak
│   ├── en-US.pak
│   ├── es-419.pak
│   ├── es.pak
│   ├── et.pak
│   ├── fa.pak
│   ├── fi.pak
│   ├── fil.pak
│   ├── fr.pak
│   ├── gu.pak
│   ├── he.pak
│   ├── hi.pak
│   ├── hr.pak
│   ├── hu.pak
│   ├── id.pak
│   ├── it.pak
│   ├── ja.pak
│   ├── kn.pak
│   ├── ko.pak
│   ├── lt.pak
│   ├── lv.pak
│   ├── ml.pak
│   ├── mr.pak
│   ├── ms.pak
│   ├── nb.pak
│   ├── nl.pak
│   ├── pl.pak
│   ├── pt-BR.pak
│   ├── pt-PT.pak
│   ├── ro.pak
│   ├── ru.pak
│   ├── sk.pak
│   ├── sl.pak
│   ├── sr.pak
│   ├── sv.pak
│   ├── sw.pak
│   ├── ta.pak
│   ├── te.pak
│   ├── th.pak
│   ├── tr.pak
│   ├── uk.pak
│   ├── vi.pak
│   ├── zh-CN.pak
│   └── zh-TW.pak
├── natives_blob.bin
├── resources
│   ├── atom.asar
│   └── default_app
│       ├── default_app.js
│       ├── index.html
│       ├── main.js
│       └── package.json
├── snapshot_blob.bin
└── version

Electoron の準備かんりょー。

descjop プロジェクトをビルドして見るテスト

なんか lein externs の出力を externs.js にリダイレクトする。
おまじないらしい。

% lein externs > ./app/js/externs.js

次に cljsbuild する:

% lein cljsbuild once

あぷいの起動

コンパイルが終わったらしいので Electoron あぷいを起動してみる。
Linux の場合は ./electron/electoron を使うのかな?

% ./electron/electron ./app/

出た。

f:id:noqisofon:20160406221817p:plain

参考

くろーじゃすくりぷよってみた

% lein new figwheel hello-cljs

なんか figwheel っていうテンプレートがあるらしい。

% lein cljsbuild once

でじゃばすくりぷよをアレしてくれるらしい。
今日はここまで。

╰( ´◔ ω ◔ `)╯ まだ何もやってないな