2018-W33 の目標 の『PureScript の HTTP リクエストライブラリのパッケージ化』に取り組んでいる。 bouzuya/purescript-bouzuya-http-client をつくっている。たぶん動く。機能が足りない気はするけど、ここ最近のぼくのプロジェクトの範囲だとこれで良さそう。
明日には v0.1.0 にする。
『トリック劇場版』を観た。 Prime Video に来てたので、懐かしさから。こんな感じだった。
2018-W33 の目標 の『PureScript の HTTP リクエストライブラリのパッケージ化』に取り組んでいる。 bouzuya/purescript-bouzuya-http-client をつくっている。たぶん動く。機能が足りない気はするけど、ここ最近のぼくのプロジェクトの範囲だとこれで良さそう。
明日には v0.1.0 にする。
『トリック劇場版』を観た。 Prime Video に来てたので、懐かしさから。こんな感じだった。
2018-W32 をふりかえる。
目標。
記事。
目標。とりあえず OK 。 cltw のことは前に書いていた。 shiba はいま試したら壊れてるっぽい。来週で直す。
2018-08-06/2018-08-12
shiba の作成と、過去につくったものの psc-package 対応とパッケージセットへの追加。自分の道具箱を整えよう。
spacchetti に Pull Request を OK として見るなら、毎日コミットできている。コミット数 > ツイート数はダメっぽい。
(なし)
(なし)
2018-05 から週 2 本の制限がある。今週は OK 。
手首の痛みが治らない。病院に行ったらおやすみで、来週は盆だろうな……。
Oxygen Not Included を遊んでいる。 87 時間 7 回目 112 サイクル。今回はまだ伸びそうだ。
Oxygen Not Included の進捗。
PureScript ではどのパッケージが人気なのだろう。調べてみたくなった。
ここでは多くのパッケージから依存されているものを「人気パッケージ」と考えることにし、現時点で最新のパッケージセットである purescript/package-sets の psc-0.12.0-20180803 を対象に調べた。
調べ方は素朴に jq で。 justinwoo/spacchetti が jq で reverse dependencies をとっていたので、それを参考にした。
my @reverseDeps = `cat packages.json | jq 'to_entries[] | select(.value.dependencies[] | contains("$name")) | .key'`;
参考にしたけど、相当改変した。あと contains("$name")
だと部分一致になるのはバグっぽかったので、修正する Pull Request を投げた (justinwoo/spacchetti#15) 。
で、↓が調べるためのスクリプト。とりあえず上限 10 (| limit(10; .[])
) にしている。
git clone https://github.com/purescript/package-sets cd package-sets git checkout psc-0.12.0-20180803 cat packages.json | jq ' [ to_entries as $entries | $entries | .[] | .["key"] as $name | { "name": $name , "count": ( [ $entries | .[] | select(.["value"] | .["dependencies"] | .[] | . == $name) | .key ] | length ) } ] | sort_by(.["count"]) | reverse | limit(10; .[]) '
結果 (TOP 10) は↓のとおり。
{ "name": "prelude", "count": 88 } { "name": "maybe", "count": 54 } { "name": "effect", "count": 37 } { "name": "foldable-traversable", "count": 35 } { "name": "either", "count": 35 } { "name": "tuples", "count": 31 } { "name": "newtype", "count": 29 } { "name": "control", "count": 27 } { "name": "lists", "count": 23 } { "name": "strings", "count": 21 }
当然のように prelude が一位。ただ全部で 160 パッケージあるのに、依存していないものもあるのは気になる。使っていないのか、それとも dependencies
に書かなくても動くのか。とりあえず上位は本当によく見るパッケージなので、特に思うところはない。
目標に従って bouzuya/cltw 1.0.0 のことを書こうと思ったのだけど、 2018-07-19 にすでに書いてあった。
予定が狂ったので、 2018 に入ってつくった PureScript リポジトリを挙げてみた。
作成順ではなく、記事順にした。なので、 tamaru より後につくっているはずの cltw や bouzuya-datetime が上に来ている。
思ったほど、つくっていない。
user:bouzuya で GitHub を検索したところ、 language は↓のようになっている。
208 CoffeeScript 88 JavaScript 67 TypeScript 24 Clojure 12 PureScript 10 Ruby 7 Haskell 6 Java 5 CSS 5 Vim script
数が多ければ良いってものではないけど (CoffeeScript と JavaScript のほとんどは Hubot Script のはず) 、なんとなく不満だ。 TypeScript の 67 を目指していこう。あと 55 リポジトリ……数字を出すと厳しく感じるので、意識せずにやっていこう。
bouzuya/shiba 0.1.0 をつくった。
shiba は今週コミットのあったリポジトリとそれに今週つけたタグを出力するスクリプト。
たとえば 2018-W31 ふりかえり にある、 ↓みたいのを出力する。
2018-07-30/2018-08-05 - [bouzuya/package-sets][] ... bouzuya-20180803 - [bouzuya/purescript-bouzuya-datetime][] ... 0.1.0 - [bouzuya/shiba][] ... (none)
Node.js で動く。 PureScript 0.12 から JavaScript に変換する。 psc-package を使っている。 GitHub API を axios 使って呼び出している。ページングや認証などは無視している。件数的に十分なはず。
こういう curl
と jq
でできそうなものは、もっとさっと実装できるようになりたいところ。