Mithril.js ソースコードリーディング前編〜Virtual DOMの実装を理解する 〜

前回はBackbone.jsの社内コードリーディング会でした。今回はVirtualDOMの軽量ライブラリとして少しずつ人気が出てきている気がするMithril.jsに関して行いますので、リーディング時のメモです。

Mithril
https://lhorie.github.io/mithril/

ソースコード(執筆時点v0.2.0 2015/07/18)
https://github.com/lhorie/mithril.js/blob/master/mithril.js

Virtual DOMの実装は約300行でそこが今回のソースコードリーディングのメインとなります。
今回はそのbuild()周りを見てきます。バージョンは現時点で最新のv0.2.0です。

ビール片手にリーディングしつつ、確認程度にメモを見ていただければ。

Continue reading Mithril.js ソースコードリーディング前編〜Virtual DOMの実装を理解する 〜

npm linkが意外と便利だった

JSでライブラリを作って、そのライブラリを使うプロジェクトがあった時に、使う側がpackage.jsonのdepedenciesに依存を追加して、npm installしてbrowserifyとかでrequireしたりしています。(browserifyでのmoduleの依存解決について興味のある方は”Browserify dependencies in depth!“をご参照ください)

gitのsubmoduleなんか使うよりはnpm installだけで済むので快適なのですが、絶賛開発中にライブラリ側を更新する度に、使っている側のプロジェクトのnode_modules以下の該当ディレクトリを削除してnpm installし直したりするのは面倒ですよねー

そこでnpm linkを使うと良い感じになりますたのでメモ。意外と記事が少なかったのでまとめておきます。

Continue reading npm linkが意外と便利だった