Closed tetrapod418 closed 3 months ago
kintone/js-sdk https://github.com/kintone/js-sdk-jaを選びました。
https://github.com/kintone/js-sdk/blob/main/LICENSEを見ると、MIT Licenseと記載されていたのでOSSと確認できました。
CONTRIBUTING.md https://github.com/kintone/js-sdk/blob/main/CONTRIBUTING.md に、コントリビュートの説明があった
https://github.com/kintone/js-sdk/blob/main/CONTRIBUTING.md にセットアップ方法が記載されていた。 このリポジトリは、pnpmを利用したモノレポと書かれていた。 This repository is a monorepo using pnpm.
cloneしようとしたら、publickeyがPermission deniedで、取得できなかった。
Cloning into 'js-sdk'...
The authenticity of host 'github.com (20.27.177.113)' can't be established.
ECDSA key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXX.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com,20.27.177.113' (ECDSA) to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
先日、自分のPublick keyがexpireするというメールが来ていた気がする。
西村さんから、Publickeyの管理が面倒なので、GitHub CLIをお勧めされた。 WSL2のUbuntuにCLIをインストールする
https://github.com/cli/cli#installation に従って、CLIをインストールする
Ubuntuは、https://github.com/cli/cli/blob/trunk/docs/install_linux.md に従ってインストール sudo apt update sudo apt install gh を実行した
GitHub CLIがインストールできた
gh auth loginしようとしたら、WSL2のターミナル内にテキストベースのログイン画面が表示された。
CLIで、ローカルにcloneした gh repo clone https://github.com/tetrapod418/js-sdk
cloneに失敗した。
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
failed to run git: exit status 128
岡野さんから、HTTPSでcloneできるのでは?と助言をいただいて、HTTPSのURLを使ってcloneしようとした git clone https://github.com/tetrapod418/js-sdk.git
既にディレクトリが存在すると言われた。
実は、cloneできていた。
Contributing Guideをもとに、set upしてみた。
書かれている手順で、セットアップできた。うれしい。
Setupできたので、Contributing Guideをもとに、pnpm buildを実行した。
pnpm test を実行して、成功した。
pnpm lint を実行して、成功した。
Checking formatting...
All matched files use Prettier code style!
実行環境メモ Windows11 上のWSL2(Ubuntu 20.04)
issueの報告ページがあって、親切。bugとFeature Requestのひな型が用意されている。めちゃいい。
testもlintもすべてクリアしたので、ツッコミどころがなかった。 tadsanに「社外の人が積極的にコントリビュートする感じではないかもしれないので、別のOSSを探してみるのはどうか」と助言をいただいたので、別の小さめのnodeパッケージを探してみる。
https://www.npmjs.com/package/set-function-length を選びました。
https://github.com/ljharb/set-function-length/blob/main/LICENSE にMIT Licenseと記載されていたのでOSSと確認できました。
自分のアカウントにfork
npnmで環境を作ってしまったので、testで型が解決できないエラーが発生した。 西村さんに助言をいただいて、node_moduleを削除して、npmで環境構築してテストを実行した npm install npm run test 結果は、テストはPASSしたが、WARNING(magic number)が4件、テストのカバレッジが不足していた。
=============================== Coverage summary ===============================
Statements : 91.18% ( 31/34 )
Branches : 82.93% ( 34/41 )
Functions : 33.33% ( 1/3 )
Lines : 91.18% ( 31/34 )
================================================================================
----------|----------|----------|----------|----------|----------------|
File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines |
----------|----------|----------|----------|----------|----------------|
All files | 91.18 | 82.93 | 33.33 | 91.18 | |
env.js | 100 | 100 | 0 | 100 | |
index.js | 88 | 75.86 | 100 | 88 | 17,27,38 |
----------|----------|----------|----------|----------|----------------|
西村さんから、magic numberの解消でも良いが、テストカバレッジを解決するのも良いという助言をいただいた。
岡野さんにテストカバレッジを解決しようとしているが、大変ですか?と相談したところ、プロジェクトの方針としてカバレッジを気にしていない場合がある。カバレッジの方針について、質問してみるのは、あり。とのことだった。 別のパッケージを探してみることにする。
@colors/colors - npm https://www.npmjs.com/package/@colors/colors を選びました。 https://github.com/DABH/colors.js/blob/master/LICENSE にMIT Licenseと記載されていたのでOSSと確認できました。
実行環境を作ってテストを実行したが、lintもtestもパスした。 パスしたことがわかりにくいので、PASSしたことがわかるようになると安心できそう。
岡野さんに、テストがPASSすると何も出力されないのはISSUEにできそうか相談してみたが、あまり意味がなさそう。 岡野さんから、現在、パッケージとしてテスト済のバッジがついているか確認できると良い。と助言をうけて、 https://www.npmjs.com/package/@colors/colors を確認したところ、CIも通っている表記があった。 更に、CIの実行結果を見てみると、テストコマンドで実行したときと同じ内容をGHAのworkflowで実行しているだけ だったので、成功しているがlog出力がなかった
これを問題とするかどうかは微妙とのこと。 一方、assertの途中でfailすると、その先のテストが実行されなくなるので、そちらを改善できる方が良いかもしれないと助言をいただいた。 テストフレームワークを提案できると良いかも。最適なフレームワークを調べたい。
おつかれさまでした!
ワークショップの終了にともないissueを閉じますが、このまま作業メモとして使っても構いません :ok_hand:
ワークショップの感想を集めています!
ブログなどに書かれた際は、このページへリンクの追加をお願いします :pray:
またの参加をお待ちしています!
This is a work log of a "OSS Gate workshop". "OSS Gate workshop" is an activity to increase OSS developers. Here's been discussed in Japanese. Thanks.
作業ログ作成時の説明
以下のテンプレートを埋めてタイトルに設定します。埋め方例はスクロールすると見えてきます。
タイトル例↓:
OSS Gateワークショップ関連情報