ぱすたけ日記

日記っぽいのを書きます。

YAPC::Tokyo 2019でボランティアスタッフをしてきました #yapcjapan

先日YAPC::Tokyo 2019が開催されました。

今回のテーマは『報恩謝徳』ということで、YAPCにこれまでの恩を返そうとボランティアスタッフをやってきました。

YAPCとの関係ですが、YAPC::Asia時代に初参加して最後の年には初めてのボランティアスタッフを体験し*1YAPC::JapanになってからはYAPC::Kansaiでコアスタッフをやったりもしつつ、HokkaidoからOkinawaまでフルコンプリートしました。

YAPC::Fukuokaに前夜祭で話しましたが、YAPCのボランティアスタッフなどで学んだ技を盗んで生かして自分でカンファレンスをやったりもしました。

YAPCでボランティアスタッフをやったからこそ知り合えた色んな人たちや、スタッフだからそこ楽しめたことが沢山ありました。それらへの感謝を込めつつボランティアスタッフをやってきました。

前夜祭の日の夕方に集結して恒例のグルグル。僕はずっとあの行為をグルグルと呼んでいるんですが、要するにトートバッグにスポンサー様から頂いたノベルティを詰める作業です。キャッシュは麻薬ですが、ノベルティを集めて収集してキャッシュしておく人々が発生して、トートバッグワーカー達はそれを集めるだけで完了するのは便利。これにより一気にチームワークが向上します。各スポンサー様は気合いを入れて多めに送って下さるので、まだまだ半分か?と思った矢先、予定していたトートバッグの作成数とぴったりのノベルティが無くなったのでグルグル終了。歓喜の渦でしたね。

そのあとは前夜祭の準備をしている部屋の様子を眺めたりしていたのですが、Twitter係を任命されたので、前夜祭LTソンの実況Tweetを公式アカウントでしていました。こういうやつです。

前夜祭は食べ物が全部一口サイズで最高。ビールも瓶ビールがあるなんて!!!と思って持ち歩いてる栓抜きをポケットに忍ばせていました。

前夜祭後は人々が飲んでいるという噂があったので合流して飲酒。「君はどっちのスパイなの?」「僕は二重スパイです」という会話などをしました。

そしてYAPC当日。起きられるか心配でしたが、前日にしっかり酒を飲んだおかげで宿のベッドに寝転んだ瞬間に熟睡。ばっちり起きて朝ごはんも食べて会場に行きました。

Room0の担当になっていたので、バックパネルの設営*2や机や椅子の移動をした後、開場前の様子を見に行こうとメイン会場のあるフロアへ。これは一緒にRoom0の準備をしたcodehexくんとチョコレートもらって喜んでいる様子。

このあとGMOさんのブースで早めにやってきたdanさんと正規表現の話をしたりして、メインホールでOPトークを控えている magnolia_k_ さんを冷やかしたりしました。

今回はピークワンさんというRubyKaigiのときもいらっしゃったイベント専門の会社の方がいらっしゃっていたので、普段のYAPCよりも会場運営などはお任せ出来ることが多かったので、扉の開け閉めをやった後とかにちょくちょくトークを見に行ったりしていました。

YAPC座談会はそれぞれ色んなYAPCの思い出がふり返れる良いセッションだと思いました。これが始まる前にcodehexくんと「今日ってなんで、東京の実行委員長なのにこばけんさん出ないの?」って話してたら、ラストにちゃんと振ってくれて良かったです。

onkさんのトークは早めに終わりそうだったので質問の途中で担当の部屋に戻ったら、どうやらチームの人にコメントを聞こうとしていたらしく、そのまま居れば良かったなと思いました。感想は本当にこのままです。

hitode909さんは「どうやって人に無駄なものを作る面白さを伝えるか」を目的に淡々と話すのが流石の技という感じでした。自分だとWebVRでああいう感じで実世界の作業まで落とし込んで話せない気がする。

akiymさんのトークcpanって今まで「Perlは書かないけどYAPCのファン」という建てつけでYAPCにはやってきているので、Perlcpanがあるのは知っていましたが、エコシステムやツールなどについてはイマイチ分かってなかったので、それが総ざらいできて便利な発表でした。

部屋の片付けがそこそこ一段落ついたところで、aerealさんとmoznionさんのLT見たさにメインホールへ。note103さんのLTが最高だった。

そのまま真ん中くらいに空いてる席を見つけてtokuhiromさんのキーノートを聞いた。Perlハッカーコミュニティは改めて面白いなと思いました。「日本人、真面目にカンファレンスでトーク聞きすぎ問題」は確かになぁと思っていて、この日もtokuhiromさんたちが3階のスペースで集まって話されてるのを横目に見ていて良いなと思ったのを思い出したりしました。そしてこばけんさんのエンディングへ。エンディングは完全にエモかったですね。こばけんさんの振り返りトークも最高だったし、Songmuさんの受賞も最高。

エンディングでスタッフみんなで舞台に上がってそこから参加者の皆さんを見るときの「やってよかった」感は何度味わっても毎回「またやりたいな」と思わせてくれます。

その後は懇親会を存分に楽しみ、そしてスタッフはスタッフ打ち上げがあります!!!めっちゃ食べ物出たけど結構余ってて豪勢だった。僕はビールをいっぱい飲みました。

そしてこれはカンファレンスに行った後にエモが高まった結果、僕が毎回連投してしまうツイートたち*3の今回分です。

Songmuさんが会場でシャウトした結果、様々な感想ブログ等で「次回は京都」と書いてありますが、本当に京都であるのでしょうか。京都で開催される場合は暗躍などやろうと思っています。そのときはよろしくおねがいします。

ではまた次回のYAPCでお会いしましょう〜

*1:OSC Kyotoなどのスタッフはやっていました

*2:バックパネルの設営、年に1〜2回はやっているはずなのに、今回は壮大で、上下も前後もパネルの順番も全部間違って大盛り上がりでした。その後何事もないかのようにRoom1の人々に伝授したのでした

*3:どうやら恒例のやつというイメージになっているっぽい?

エンジニアアルバイト振る舞いテクニック

今、Notaとはてなの2社でアルバイトしている中で学生パートタイムエンジニアとしてやっていく際の振る舞いについて最近意識的にやっていることがあるので書いてみます。はてなでマンガチームにおいて一応メンターという設定になっている*1ひとでくんさんの次の記事を読んでのアンサーソングのつもりですが、何年もNotaでアルバイトをし、はてなのエンジニアの人々とも長く交流があるからこそ出来る振る舞いなのではとも思っているので、真似してくれとかそういうの一切ないです。偶然参考になる人がいればと思って書きます。

  • とにかく何でもSlackとかGitHubとかグループウェアとかに書く
    • 困りごとはもちろん、設計のこと、コードのこと、サービスのことで気になってることとか何でも遠慮せずに書くようにしている
      • 自分の作業ペースや理解度とかを素早く把握してもらうため
        • 週に1日〜2日とかで出来ること知れることは多くないので、こういうペース感だというのは常に掴んでおいてもらって、コントロールの参考にしてもらえればと思ってる。早いので次のタスク考えておくかとか遅いので会話するかとか。次にも書くけど知らないことや追えてない話題は多くて当然だと思うのでドンドン聞いてキャッチアップできるようにしてもらう。
      • 情報のデフォルトスコープが狭い場合でもちゃんと「知りたい」と表明すれば適切にスコープが広がったり知っておいて良いことであることが増えたりするので、表明するようにしている。
      • これは自分がJavaScriptとその周辺に強い関心と興味とそこそこの自身があるからだけど、社員の人とかがシュッと何かをやろうとしているときとかも怪しそうだったらレビューでツッコミを入れたり、会話してみたりしている。
  • 自分の興味関心を明確に伝えておく
    • Notaは入社時に趣味でブラウザ拡張作ってますって言ってそのままGyazoのブラウザ拡張の大規模改善をやった
      • Gyazoのお絵かき機能周りをやったときにブラウザのパフォーマンスに関することを一通り調べてそれが強みになっているし、今はフロントエンド周りの諸々を整えたりリファクタリングを中心にやっている。
    • はてなはアルバイトする時に、マンガビューワーのJSをなんとかしたいということを強く伝えて、それ以降も1年以上JSしか書いていない
      • Perlというかサーバサイドが必要なものはひとでくんさんとかに用意してもらったり、簡単なものはシュッと書くこともあるが、基本は書いてない。Perl書いたの7行くらい?
    • 自分の最近のブランディングで一応JavaScriptとかブラウザ上でのパフォーマンス周りが得意ということにしているので、基本的に両社ともにその部分を活かしたタスクを用意してもらっている
      • 例えば、マンガビューワーに関してはServiceWorkerを用いたオフライン閲覧機能の実装でServiceWorker周りなどとガッツリ向き合わせてもらえたので感謝している
    • チームのDとかエンジニアリーダーとかがアイデアを練ったりアサインするときとかに「あーPasta-Kがいるから、フロントエンドでチャレンジ出来るな」とか「この部分もっとブラウザで頑張れるな」とか思ってもらえる状態で居たいと思っている。逆にそういう状態じゃない場合、粗雑にタスクが降ってくるみたいな状態において自分の価値をちゃんと発揮することに自信がない。
    • 以前はサーバサイド的なことでもドンドン掴むぜみたいなモチベーションがあったころもあったけど、今はあんまりそういうのない。それだったらパフォーマンス良くしたいし、JSの開発環境を改善させてくれって思う
    • 究極、興味関心とマッチすることが無くなったらアルバイトなんだしさっさと辞めて別の会社に行くとか就職するとかしたらええやんって思ってる
  • 腹案を持っておく
    • 大きいタスクとタスクの間の暇なときとかレビュー打ち返し中とかにできそうな改善アイデアとか実験したいことを隠し持ってる
    • 隠しておく必要はないんだけど、まぁこういうの試せると良いですよねみたいな感じで話してて、空き時間が見つかったらシュッとやってみて共有したりしている
    • 普段の暮らしでキャッチアップする技術を持って来れるので便利
      • 趣味ベースだと面白技術試す時にサンプルアプリケーション持ってきてゴニョゴニョしてみたいなの要るけど、実際のアプリケーションに触るバイトの中でそれが出来ると実サービスに入れることをゴールに試せるので、色々見つけられることも多いし、勢いよくいくとそのまま本番アプリケーションをそれで改善できる
    • 技術的挑戦とか改善は積極的にやっていこうという文化なのでこういうことをシュッとやっていけて助かる
  • 会話とペアプロも積極的にやる
    • なにか判断が必要なケース(例えば、技術要素の選択やタスクの優先度)などで必要な判断を勝手にやったりは出来ないし、やったところで上手くいく感じがしないので困ったらシュッと会話している。さっきの「何でも書く」と矛盾していそうだけど、ドンドン表現していこうということ。あととにかく悩み時間を減らしたいと思っている。悩み時間だいたい悩んでも解決することではなくて「決定」の問題なので、自分より上位の人と良い意味で決定の責任を分け合っていけば良いと思っている。
    • ↑の感じで自分が得意なことを他の人がやるときも積極的に会話に混ざったりペアプロをして伝授していく
  • ビジネス的な責任が大きくないことを利用する
    • 社員の人はチーム全体の「今期の目標」とかによって明確な達成目標があることがあって、それが時期によっては社員の時間や技量やパフォーマンスに制約を与えることがある
    • 締切ドリブンでドンドン完成させないといけなかったり、そのために他のことに手を回せなかったり
    • アルバイトはそういう意味では(表現として正しくないかもしれないが)無責任でいれる
    • 例えばMTGが少なかったり、締切があってここまでに出来てないとヤバいみたいなが少ない
      • 極稀になくはないが、これがめっちゃ多かったら普通にやばい会社だと思うと思う
    • そのスキを使って、細かいバグフィックス的なタスクをやるのではなくて、大きいリファクタリングや機能開発、開発環境改善をやる
      • ここら辺に自由に大きな時間を避ける(自分の環境だけかもしれないが)という意味では、社員の人々よりも自由度が高く、それを利用して例えばgulp+browserify->webpackをやったり、設計方針を立ててある機能を書き換えたりみたいなのが出来るのは逆にパートタイムの特権ではと思ってる

こういうハックをして、パートタイムとして快適に且つ良い感じにちゃんと評価してもらったり周囲に理解してもらえるような成果を上げているという感じです。自分では良いと思っているけど、他の人がどう思っているかとか分かってないので、エゴを攻めすぎてミスっているかもしれない。

なんかあったら教えてください。

*1:記事にもあるように最近は良い感じに放置して貰ってるので、ベッタリメンターというよりは一旦ひとでくんさんに話して最適な会話先を探したりする足掛かりにしたり、僕が突飛なことをやるときに相談役というか他の人とのパイプをやってもらうという感じでになってきている気がする

2018年の良かったマンガ26作品を紹介します

はじめに

皆さん、2018年もマンガを堪能しましたか?ちなみに僕は単行本換算で500冊強でした。昨年より少し少ないですね。今年も良かった作品をピックアップしましたので、読んでない作品があれば全部オススメなので上から全部読みましょう。レギュレーションとして基本的に2018年に1巻出たマンガとしています。例外的に2巻以降で良くなってピックアップしたものなどには巻数を振ってあります。参考にしてください。

2017年のまとめはこちら。

2016年のまとめはこちら。

2018年の4月まで書いていたまとめ記事たちはこちら

紹介

アクタージュ

アクタージュ act-age 1 (ジャンプコミックスDIGITAL)

アクタージュ act-age 1 (ジャンプコミックスDIGITAL)

文句なしで今年のベスト。毎年1つ選ぶなら的な質問は迷ってしまうけど、今年の『アクタージュ』はマジで迷いなしに推せる作品。読み切りで掲載された「阿佐ヶ谷芸術高校映像科へようこそ」のことをしっかりはっきりと覚えていたので、同じコンビで連載が始まってしかもめっちゃ良いので最高。マツキ先生の原作も緻密で見せ場が上手い、そして宇佐崎先生の画力が夜凪の存在感を凛と表現しきっていて、ジャンプでこんなに画面にキャラに惹き込まれる作品が読めると思わなかった。

ブルーピリオド

画力と言えば、ブルーピリオドはアフタヌーンに載っているのにジャンプっぽいストーリーでガンガン成長を見せてくれる。作中で使用される作品も美大生等による作品でそれを題材に進むので非常に分かりやすい。あととにかく主人公の熱量がスゴい。

ランウェイで笑って(8)

もう去年からずっと推してるんだけど、この8巻はこれまでを総まとめにしてマジでヤバい。2018年のベスト単行本はと言われるとこれを推す。今すぐ全部買って8巻までたどり着いてくれ!!!!!!!単行本派なので、連載で読んでいる人々からかなりずっと煽られていたけど、これは連載で読んですぐ話したくなるの分かる!!!!〜〜ってなった。途中は中弛みするかと思ったけど、ちゃんと2人の話になってきた。

アクタージュもブルーピリオドもランウェイも派手なアクションはないけど熱いバトル展開が見れるのが最高。

ひみつのはんぶんこ

ひみつのはんぶんこ【電子限定特典ペーパー付き】 (RYU COMICS)

ひみつのはんぶんこ【電子限定特典ペーパー付き】 (RYU COMICS)

こういう思春期前の男女が徐々に意識していってみたいな話に弱い。

イジらないで、長瀞さん

ナナシ先生は最高というかズルい。

金のひつじ

神様がうそをつく。』の尾崎かおり先生の新作。1話でグイグイ惹き込まれていった。3巻でどうなるかまだまだ楽しみ。

1話↓から読めるのでとにかく読んでくれ!

綺麗にしてもらえますか。

はっとりみつる先生の新作。2年前までの記憶を失ってしまったがクリーニングに関することはピカイチ記憶している金目綿花奈の話。各話ともに各登場人物にまつわるものをクリーニングするという構成なのだけど、そのエピソードがどれも綺麗で読後感も爽やかで良かった。

はなにあらし

周囲に関係を隠しているときと2人になったときとのギャップが尊くて最高。

悪舌のモルフォ

少年マンガ。セリフ回しも非常に良い。2巻の最後のハッとなる顔とかめっちゃ良い。帝のアクキーをコミケで買いに行ったりもした。

Change!

今年もいくつかラップマンガあったけど、一番良かったのはこれかな。フリースタイルを真正面から描いていこうという感じがする。ラッパーとの出会いやバトルを通してしおりが成長していったり、周りもしおりを認めていくという形が美しくて良い。『キャッチャー・イン・ザ・ライム』も良かったけど、ラストが打ち切り気味だったのが残念だった。

メタモルフォーゼの縁側

このマンガがすごい!オンナ編1位おめでとうございます。雪がBLに出会ってウキウキする感じやうららと雪の交流が楽しそうなのが良いですよね。

サバゲっぱなし

2018年に1巻が出た訳ではないのだけど、薦めてもらって読んだら面白かったので入れました。なるほど人はこうやってサバゲーにハマっていくんだなと過程をトレースできるので面白い。

ロッキンユー!!!

オルタナ好きが主人公というだけでもエモいのに、ちょくちょく入る曲名がデカデカと書かれた見開きが本当にズルい!!!!!!次のDJイベントで関連曲かけたいと思っているので、まとめておきました。

おっと思った人は今すぐ1話読んでくれ。

しったかブリリア(2)

正直に言って、1巻の時点でマウントの取り合いみたいなのがちょっと微妙かなぁと思ってたんだけど、完結の2巻で良い感じにオチもついて良かった。というかこういう感じなんだったらもう少し読みたかった‼‼‼‼‼って思った。

アンドロイドタイプワン

アンドロイドタイプワン : 1 (アクションコミックス)

アンドロイドタイプワン : 1 (アクションコミックス)

汎用アンドロイドが流通している世界を題材にしたSF作品。絵は少し荒削りだけど、タイプワンとの人々の向き合い方や黒いアンドロイドなどこれからの展開が楽しみ。

落ちてるふたり

男子高校生とその隣に住む女子大生お姉さん(留年)とのラブコメ。こういう自由奔放ではちゃめちゃな感じのお姉さんが出てくると弱い。結構好きだったのに、2巻で終わってしまった… 篠山さんをもう少し見たかった。

ボクらは魔法少年

我らが福島鉄平先生の最新作は男子小学生が魔法少女ならぬ魔法少年になる話です。福島鉄平先生は裏切らない。とにかく読みましょう。

夜と海

夜と海 1巻 (ラバココミックス)

夜と海 1巻 (ラバココミックス)

今年一番良かった百合マンガだと個人的には思ってるんですが、皆さんはどうですか?『仲の良いおともだちより無くても困らないものが欲しい』というストーリーの軸も好きだったんだけど、コマを横断したり飛び出したりするような演出とか構図もめっちゃ良いので楽しく読めました。

ムラサキ

ムラサキ 1巻 (LINEコミックス)

ムラサキ 1巻 (LINEコミックス)

画面の迫力がめっちゃあってスゴい。魅せ場が墨絵っぽい感じで黒と白がパキッとしててカッコいい。

繭、纏う

繭、纏う 1 (ビームコミックス)

繭、纏う 1 (ビームコミックス)

制服が先輩の髪から創られるという物語の通り、髪や制服を表現する線がとても繊細で美しくて見惚れる感じがします。

二度目の人生 アニメーター

ガンダム以前の70年代を回想するようなストーリーのアニメーターマンガ。板野一郎をモデルにした主人公の同級生の金野がパラパラ漫画で"サーカス"しているのが良かった。

性別「モナリザ」の君へ。

1話を読んで、シアンの使い方が特徴的でその意味に途中で気付いてなるほどってなった。本当によく出来ていると思う。今後も楽しみ。

鬼のようなラブコメ

表紙からして可愛すぎませんか????

事情を知らない転校生がグイグイくる。

いじめの呪縛をこうやって解くのように表現するのあるようでなかったと思う。本当に優しい世界がある。次の夏休み編が楽しみで仕方ない。

花待ついばら めぐる春

スガワラエスコ先生の最新作。いばらが設定も表現上も魅力的なキャラになってて、主人公と青春時代をなぞって恋をやり直していく様子も最高。そこに割り込んでいばらに猛アタックする蘭も良い。最高。

尾かしら付き。

「みんなと違う」ことにどう向き合うか。「相手を誰よりも知りたい」で始まる恋。こういうテーマが読みやすいポップさで描かれてて良かった。最後のヒキも秀逸でどうやってここから1話の冒頭にたどり着けるんだろうと楽しみになる1巻だった。早く続きを読ませてくれ!!!!!!

まとめ

2018年は旅行に行くことが多かった結果、時間と金が足りずAmazonのタブが開いたまま買えてないやつとか読めてないやつが多いので、去年出てまだ気づけてないのもありそうなのが反省点ではあります。去年の分も2019年はマンガをどんどん読んでいく所存です。良いやつあったらTwitterやらブコメやら何かしらでどんどん教えてください。よろしくおねがいします!!!!!!!

漫画『ロッキンユー』 関連曲リスト

昨年良かった漫画何作もあるけど、個人的なトップ5のうちの1つだと思っている作品にジャンプ+で連載中の『ロッキンユー』という作品があります。

オルタナ好きと出会ってバンドにハマる話です。最近は初ライブもやって絶好調。序盤のナンバガとの出会いで衝撃を受けるところや、ゆら帝で合わせるとことか最高です。見開きと曲名の組み合わせの使い方がズルいと思う。

ところで、SMTP++ #5が来週にあるのですが、そこでこの作品に出てくる曲を集めてプレイしようと思っているので、それに向けて読み直して一覧を作ったのですが、自分だけで所有しているのもアレなので共有します。

15話以降はサブタイトルがジャンププラス上では明記されていないので、文字配置とかからこれだろうというものを書いてます。多分合ってるはず。一部曲名じゃなくてアルバムやバンド名があります。

npmモジュールのアップデートのハードルを下げたい話

このエントリーはKMC Advent Calendar 2018の13日目の記事であり、はてなエンジニア Advent Calendar 2018の13日目の記事でもあります。クロスポストです。よろしくおねがいします。

12日目の記事はそれぞれ以下の記事でした。

npmモジュールのアップデートとの向き合い

皆さん、npmモジュールのアップデート、やっていっていますか?

npmモジュールのアップデートをやっていくこうとしても、フロントエンドで使っている結果としてブラウザを用いた動作確認が大変だったり、そもそもnpmモジュールに詳しくないと影響範囲が分からなくて敬遠されてしまった結果、詳しい一部の人がnpmモジュールのアップデートを気が向いたときにやって治安をなんとか維持しているという状況も少なくないと思います。

  • npmモジュールのアップデートは頻繁に行いたい
    • しかし、ChangeLogの追随や差分検証、動作検証など色々やることがあって億劫
    • npmモジュールに対するコンテキストを有していないと、どれがどのように作用をするのかもイマイチ当たりがつかない
  • なので、npmモジュールのアップデートは気合がある人が月1とかにガッとやる羽目になっていて、なかなか横展開できていない
    • 依存性が高い
  • 月1くらいだと積まれているモジュールも多いので、なかなかその状態からmajorアップデートもやるぞとはならない

こういったnpmモジュールのアップデートのコストが高いとメンバーが感じている状況を少しでも緩和するためのアイデアとそれを具体化するCLIツールを作ったのでご紹介です。

npm-safety-updater

上記のような問題について話していたときにこの問題に向き合うアイデアとして次のようなことが挙がりました

  • ユーザーに配っているJSの中身が変わったら何はともあれ結局手で確認することからは逃れられない
  • 逆に言うと、それに差分が無いときはリリースに載せても問題ないと判断して良さそう
    • 今はここも手で上げてみて差分があるかないかを見ているので、それを自動化出来ると、人間は動作確認が必要だったり、複雑なメジャーバージョンアップに注力できそう
  • また、buildやテストのプロセスが成功するかどうかもコマンドを叩いてみれば分かるはずなので自動化されたい

こういったアイデアを元に作ったのがnpm-safety-updaterです。

主な機能として以下のようなものがあります。

  • アップデートしたいdepsの種類を指定できる
    • 例えば、devDependencies だけを指定するということが出来ます
  • アップデートするバージョン差分をpatch,minor,majorから選択できます
    • patchバージョンアップなら破壊的変更がない細やかな変更だけなので自動化できそうということで対象にするとか出来る
  • テストコマンドを実行して成功したものだけアップデート
    • 設定ファイルで諸々指定できます
  • 失敗するとpackage.jsonやlockを巻き戻す
    • npm ciなどのコマンドを使った掃除もやってくれます

例えば次のような設定ファイルを用意すると、初期状態でbuildしたものとjs,cssのdiffが無い場合に成功となった後にgitのcommitまでやってくれるような設定を書くことが出来ます。

{
  "prepare": [
    "yarn run build",
    "mkdir -p /tmp/safety-build",
    "cp -f public/dist/{admin,application}.{js,css} /tmp/safety-build"
  ],
  "testCommand": [
    "yarn run build",
    "diff public/dist/admin.js  /tmp/safety-build/admin.js",
    "diff public/dist/admin.css /tmp/safety-build/admin.css",
    "diff public/dist/application.js /tmp/safety-build/application.js",
    "diff public/dist/application.css /tmp/safety-build/application.css"
  ],
  "onlySuccess": [
    "cp -f public/dist/{admin,application}.{js,css} /tmp/safety-build",
    "git add package.json yarn.lock",
    "git commit -m 'update %PACKAGE_NAME% to v%GOTO_VERSION%'"
  ]
}

1つずつのモジュールをインストールしてはビルドし検証しnpm ci等で環境を整えというのが行われるので、実行自体には時間がかかりますが、それでも人間がちまちまと確認していたのを空き時間やJenkinsなどを利用して実行することが出来るので、まずはこのコマンドを叩いてみるだけでも、アップデート一部は出来るようになるので便利だと感じています。

また、この結果例えば@typesから持ってきているものがpatchバージョンアップで型定義が改善された結果buildに失敗するということにも気づけるので助かっています(こういったものは後で結果を見て人間が手で調整することになるのですが、それでも対象モジュールを手で眺めていくのに比べれば大きな進歩なのではないでしょうか)。

オススメはひとまず npx npm-safety-updater patch,minor --only-devを実行してみることです。普段なかなかアップデートしていないと初回は時間がかかりがちですが、2回目移行は数も減り、確認が本当に必要なものだけに注力できるようになると思います。

また、以前id:masawadaが紹介していたyarn-outdated-formatterとmackerelの組み合わせなどでアラートを出すようにして、そのタイミングでひとまずsafety-updaterを使うというのも良いのではないかなと思っています。

今後の展望について

  • 現在、npm|yarn outdated --json の出力順に結果が依存しているのでなんか上手いこと順番に依存しないようにしたい
  • 設定ファイルの良い感じの雛形を提供したい

何かあれば是非GitHubのissueなどで教えてください → https://github.com/pastak/npm-safety-updater/issues/new

宣伝コーナー

京大マイコンクラブでは部内のシステムのアップデートをやっていきたい新入部員を年中無休で募集しています。京大生はもちろん、他学の大学生や社会人、高校生でも歓迎です。詳細は以下を御覧ください。

株式会社はてなではこのような開発における問題をエンジニアリングで解決するのが好きな方を募集しています。正社員はもちろん僕みたいなアルバイトでも歓迎です。まずはお気軽にランチでもどうですか?