Grooves開発ブログスマートフォン用の表示で見るGrooves開発ブログ2015-05-13Chrome拡張の継続的デリバリーNode.jsこんにちは、なんとかChrome拡張を公開できて、少し安心してる正徳です。JobsのChrome拡張の記事を公開しましたが、本記事では技術的な話を書いてみたいと思います。リポジトリリポジトリはGitHubのgrooves/forkwell_for_chromeで公開しています。実際のコードを参考にしたい方はどうぞ。Jobsで使用している技術に合わせました。JavaScriptに変換しています。使ったテストmochaとpower-assertでテストを実行できるように環境を整えました。詳細なテストの環境についてはリポジトリを読んで頂くとして、要点だけいくつか書いておきます。mochaでクライアントサイドJavaScriptのテストをするとエラーChrome拡張のJavaScriptはHTML上で動く、普通のクライアントサイドJavaScriptです。documentなどのエラーが出てしまいます。使い、クライアントサイドのJavaScriptでもNode.jsっぽく書けるようにしました。jQueryがwindowを使うためtmpvar/jsdomも導入しておきます。これにより、requireを使ったり、global.$をテスト側で上書きしたりが出来るようになります。'../../src/coffee/models/service'のように書くと分かりづらいので、プロジェクトルートをNODE_PATHに追加しています。'..')].join(':')require('module').Module._initPaths()これをmochaの実行時に引数で渡すと効くようになります。設定カバレッジを出したくて導入しました。ハマった所があったので、そこだけ書いておきます。istanbul-jsがCoffeeScriptに対応していないJavaScriptでカバレッジを計測するためにistanbul-jsを導入したのですが、CoffeeScriptではうまく動きませんでした。これ解決するためにはbenbria/coffee-coverageを別途インストールする必要があります。gulpfile.coffeeを無視するcoffee-coverageのデフォルト設定だとgulpfile.coffeeのカバレッジまで測定されるため、これを対象外にします。true});デフォルト設定であるcoffee-coverage/register-istanbulの代わりに、作成したcoffee-coverage-loader.jsの設定を読み込むようにします。werckerで自動デプロイの環境を作りました。Consoleでプロジェクトを登録します。REFRESH_TOKENが手に入ります。このため、毎回のデプロイ時にアクセストークンを再取得する必要があります。Chromewercker.ymlの例werckerで以下の環境変数を設定してあります。Releasesの作成ChromeウェブストアにzipのアップロードChromeウェブストアで新しいバージョンを公開が行われます。まとめ今回のChrome拡張は出来たばかりで、これから少しずつ改良していきたいと思っています。要望などあれば是非、Twitterで#forkwellのハッシュタグを付けてツイート頂くか、公式アカウントの@Forkwell_jaにご連絡ください。最後になりましたが、この記事がChrome拡張を作る方、作っている方の参考になれば幸いです。Fork...2017-04-04Slackのemojiをデカくするこんにちは。デザイングループの_ringogirlです。唐突ですが、...2017-01-18GitHubリポジトリが突然消えたときにやるべきこと新年あけましておめでとうございます。らくお待たせしました。フレックスでの深夜勤務を認めることができなかったか?ユーザーニーズを把握する「UXリサーチ集中講座」に参加しました月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。