こんにちは。
今日は個人的に作成したnpmモジュールを一応公開したので、それを書こうと思います。
一応と付けているのは後半で書きますが、課題(やるべきこと)が残っているからです。
まず、作成したnpmモジュールはcordovaのプラグインです。
https://github.com/2takaanthony85/cordova-plugin-swift-camera
cordova-plugin-swift-camera - npm
npmモジュールとは言っても全然javascriptは書いてません。笑
cordovaのカメラプラグインをswiftで作ったのは作成自体はほとんどswiftのネイティブ部分につぎ込みました。
これを作成した理由、経緯としては、
cordovaを仕事でいじることになり、、、
・カメラ機能が必要だった
・そのカメラ機能をswiftで実装しなければならなかった
ということから当初はプラグインすでに転がっていないかなーと思って
githubやnpmをあさっていましたが、、、、
ありませんでした!!!。。。。
ということで自作することになり、、、
npmとかpackage.jsonとか何?というところから始まりました。
てんやわんやしながらもなんとかcordovaのプロジェクトでカメラを使用できるところまではいきました。
そしたら、自身の中でこんな思いが生まれました。
「もしまたカメラ使うことになったら、、、流用できるようにしといた方がいいじゃん。」
「いっそのこと公開しちゃえばいいんじゃね??」
と思い、まずは基本機能だけでもと思い、npmモジュール公開に向け始動しました。
とは言っても最低限での公開だったので、意外とすぐにできてしまいました。
上記の記事を参考にさせていただきました。ありがとうございます。
ただ、今回「一応」とか「課題」があると書かせていただきましたが、
まだ、使ってもらうには早いのではと思っています。
(ただ、公開までの流れを体験してみたかったので、、、公開しました。。。)
理由としては
・機能が本当に最低限(ズーム、フラッシュ、バックとフロントの切り替え、クオリティの切り替えがまだ実装されていない)
・テストを本格的にやっていないまま公開した
(ちょこっと動作確認しただけなので、テストしてCIにのせるということをしていません、、、)
テスト〜継続的CIについてはまだ、ペーぺーの身、全然知らなかったためこれから勉強して次のバージョンアップの際に
クリアできればと思ってます!
とりあえず、unit testとbitriseやtravisCIのテスト関連の勉強の必要性を実感した
はじめてのnpmモジュール公開でした。