shields.ioにmergeされるまでのこぼれ話

shields.ioにchrome web store対応がmergeされるまでの、chrome extensionのバージョンのバッジを表示する | 實松アウトプット こぼれ話。
mergeされたい人は参考にしてくれ。

2015/7

shields.ioでchrome extensionのバッジ出したいな、と思う。
まず思ったのが一番間違っていた。
shields.ioに取り込まれる練習にもなりそうだ、という勘違い。

公式APIがない。

How to get chrome extension’s meta information (e.g. version, name) from Chrome Web Store? – Stack Overflow

みんなwebページをスクレイピングします。…まじっすか。

chrome web storeのhtmlをスクレイピングしてparseするモジュールを書く。

2015/8

Support chrome web store by sanemat · Pull Request #505 · badges/shields

  • htmlスクレイピングは勘弁してくれ
    • ですよね(sanemat)
  • cheerio ぶっこむなんて今までで一番大きい依存だぞ
    • そうですね(sanemat)
    • lodashまるごと使ってるcheerioがわるいだろ…
  • htmlスクレイピングだけど、未来永劫取れるのか? 少なくともオープン当時の2010年のhtmlから取れるならいいけど
    • google にpublicなAPI作ってもらうよう話をするのが正当じゃないの
      • いやまあそりゃ正論はそうだし、いちおうメーリングリストで話しかけては見るけど(sanemat)
    • !???!??! (今2015年だぞ?) web-archiveで2013年のhtmlはparseできるけど、そりゃ明日取れるとは保証できないですね(sanemat)
      • じゃあgoogle の反応待ちだね
        • そうですね(sanemat)
          • 放置

2015/11

じゃあもういいっす close(sanemat)

2016/1

add chrome extension version badge · Issue #636 · badges/shields

  • chrome extensionいれてくれー
    • そういえば前pull request来てたわ
      • なんで入れないの? 壊れたら直せばええやん どうです @sanemat
        • 今も動いてるならいれてやってもいいよ 6ヶ月ごとぐらいに直すの嫌じゃん

2016/4

ここでノコノコ出てくのもシャクではある。が、ノコノコ出て行ってマージされて世に出た。Add chrome extension support #687。めでたしめでたし。
あと、shieldsプロジェクト、nodeっぽくないアプリなんだよね。
クライアントライブラリなど使わずにrequestで全部リクエスト作る自前主義。理屈もあって、リクエストをキャッシュしないとどうにもならないので、そのへんを作りこんだことによって、自前で書かなくてはいけなくなってしまった、ある意味仕方ないともいえる。
まあ(勝手に)頑張ってくれーとは思わなくもない。

理屈もわからなくはなくて、こういうのって導入するときだけみんな頑張りに来て、あとで直すのは自分たちだ、動かなくて文句言われるのも自分たちだ、という実情がある。
ちょっと違うけど、homebrewのsanemat/fonts (ricty) もだいたいそんな感じになって読めないコードになった。なので、そういう文化圏があることは否定しない。

簡単でした(再掲)

広告

Release Do Not Merge WIP for GitHub v1.0.5

Release Do Not Merge WIP for GitHub v1.0.5. Key feature is Add ability to check tags for WIP/DNM. Thanks @Mezzle !

Do Not Merge WIP for GitHub v1.0.5 をリリースしました。Key featureはissueにwip, dnmのlabelをつけるとmergeボタンが押せなくなる、です。言われてみればなるほどすぎる。かしこい。Thanks @Mezzle !

macのchromeで二本指でダブルタップすると拡大する、もう一度ダブルタップすると戻る

TL;DR

macのchromeでブラウズしていて急に文字が大きくなっちゃっても、二本指でダブルタップすると直る。

mac-chrome-two-finger-double-tap

文字が大きくなっちゃった時に、あれ、拡大縮小したかな?と思って command + 0押しても、大きくなった状態で100%表示になってて直らなくて、どうしようもなくてそのページのタブ開きなおしてたんだけど、二本指ダブルタップで戻せた。

二本指でスクロールするから、このジェスチャーよく誤爆する。

chromeのextensionのリリースでSPOFが多い

chromeのextension確認もメンドイし俺がspofだ!ってなってしまう。複数人がリリースできるようにするにはどうするんだっけ? リリース用のグーグルグループを作って、そこにリリース権限与えて、そこにgoogle acountを追加するんだっけ? 前調べた時の情報をググるキーワード忘れたので出てこない(Group Publishingと判明!!)。あと、この場合store税はまた払うのだろうか?とか。ちょろっと試作する情報はあふれてるけど運用していく情報が足りてない うまくググれない

今回ちょっと考えたのは、app/ と dist/ の構成にしてて、READMEとCHANGELOGは外側にあるんだけど、それでいいんだっけ? なところ
あとconventional-changelog使ってみようと思ったらconventionsが覚えられそうにない。これmergeするときにcommitログ表記に気をつければいいのかなあ。いまいちまだ馴染めてない。完璧自動生成で本当にリリース前に自動生成するだけにすれば回るのかなあ。デフォルトだとタグからタグまで読むから、バージョンを上げて、そこはコミットせずに、changelog作って、とかやっていくのかな。なんか、うん、飲み込めてない。

Group Publishingだ!! SOナイス!
Allow another developer to manage a Chrome extension/app in the Chrome Web Store – Stack Overflow
About Group publishing – Chrome ウェブストア ヘルプ

Release Do Not Merge WIP for GitHub v1.0.3

tl;dr

Do Not Merge WIP for GitHub v1.0.3 catches up GitHub’s html update.
Do Not Merge WIP for Githubのv1.0.3をリリースした。GitHubのhtmlの更新をキャッチアップした。

Known issue

Do not work well with pjax
pjaxでうまくうごかないところがある。
After pjax:complete, this extension does not work well · Issue #22 · sanemat/do-not-merge-wip-for-github
After add ‘wip’ to title, then I can hit merge button · Issue #21 · sanemat/do-not-merge-wip-for-github

WIPなpull requestをmergeしないchrome extension: Do Not Merge WIP for GitHub v1.0.0

Work In Progressなpull requestをmergeしないchrome extensionのDo Not Merge WIP for GitHubのv1.0.0をリリースした。
Do Not Merge WIP for GitHub

Edited 2014-06-28 21:12, v1.0.0はインストール出来ない致命的な不具合があったため、v1.0.1リリースしてます。 Thanks, dtaniwaki-san.

github merge cautionから名前を変えたので、v1.0.0としてmajor versionを上げた。github merge cautionを使っていた場合、自動でこちらのv1.0.0に上がっていると思う。

名前を変えた理由:
– GitHub safeな名前 #=> for GitHub
– 何をするかわかりやすい名前 #=> Do Not Merge WIP

Feature:

v0.0.8以降のkey feature, task listが残っている場合もmerge出来なくした。merge後にやるtaskもpull requestに書いてるという場合もある気がするけど、それはissueでやるのがいいんじゃね。

task list

edit直後やコメント後にボタンがdisableにならないのも、直った。

interval

Thanks, fukayatsu-san. Check pull-request status at intervals. #6 提案: WIP task list #7

sanemat/do-not-merge-wip-for-github

Ship “github merge caution”

I shipped “github merge caution” on chrome webstore.
https://chrome.google.com/webstore/detail/github-merge-caution/nimelepbpejjlbmoobocpfnjhihnpked

This prevents careless merge for “[wip]” or “[Do Not Merge]” pull request.

wip-you-cant-merge

Plans
– Change extension name
– The name includes github, but github said “please avoid this name.”(https://github.com/logos)
– Enough design for chrome webstore
– The screen shot is 100% github’s copyright!
– Not only document.ready but on.submit in title change.
– Editable setting
– [WIP], [Do not merge], and more
– Not only github.com(eg. github enterprise user)

Project page:
sanemat/github-merge-caution