oss-gate / workshop

OSSの開発に未参加または参加したことはあるけどまだ自信がない人を後押しするワークショップ用のリポジトリー
124 stars 547 forks source link

OSS Gate Workshop: ゆるい勉強会旭川: 2024-07-28: tetrapod418: ${OSS_NAME}: Work log #1856

Closed tetrapod418 closed 3 months ago

tetrapod418 commented 3 months ago

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 Workshop: ${LOCATION}: ${YEAR}-${MONTH}-${DAY}: ${ACCOUNT_NAME}: ${OSS_NAME}: Work log

タイトル例↓:

OSS Gate Workshop: Tokyo: 2017-01-16: kou: Rabbit: Work log

OSS Gateワークショップ関連情報

tetrapod418 commented 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と確認できました。

tetrapod418 commented 3 months ago

CONTRIBUTING.md https://github.com/kintone/js-sdk/blob/main/CONTRIBUTING.md に、コントリビュートの説明があった

tetrapod418 commented 3 months ago

https://github.com/kintone/js-sdk/blob/main/CONTRIBUTING.md にセットアップ方法が記載されていた。 このリポジトリは、pnpmを利用したモノレポと書かれていた。 This repository is a monorepo using pnpm.

tetrapod418 commented 3 months ago

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するというメールが来ていた気がする。

tetrapod418 commented 3 months ago

西村さんから、Publickeyの管理が面倒なので、GitHub CLIをお勧めされた。 WSL2のUbuntuにCLIをインストールする

tetrapod418 commented 3 months ago

https://github.com/cli/cli#installation に従って、CLIをインストールする

tetrapod418 commented 3 months ago

Ubuntuは、https://github.com/cli/cli/blob/trunk/docs/install_linux.md に従ってインストール sudo apt update sudo apt install gh を実行した

tetrapod418 commented 3 months ago

GitHub CLIがインストールできた

tetrapod418 commented 3 months ago

gh auth loginしようとしたら、WSL2のターミナル内にテキストベースのログイン画面が表示された。

image
tetrapod418 commented 3 months ago

CLIで、ローカルにcloneした gh repo clone https://github.com/tetrapod418/js-sdk

tetrapod418 commented 3 months ago

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
tetrapod418 commented 3 months ago

岡野さんから、HTTPSでcloneできるのでは?と助言をいただいて、HTTPSのURLを使ってcloneしようとした git clone https://github.com/tetrapod418/js-sdk.git

既にディレクトリが存在すると言われた。

実は、cloneできていた。

image
tetrapod418 commented 3 months ago

Contributing Guideをもとに、set upしてみた。

image

書かれている手順で、セットアップできた。うれしい。

tetrapod418 commented 3 months ago
tetrapod418 commented 3 months ago

Setupできたので、Contributing Guideをもとに、pnpm buildを実行した。

image
tetrapod418 commented 3 months ago

pnpm test を実行して、成功した。

tetrapod418 commented 3 months ago

pnpm lint を実行して、成功した。

Checking formatting...
All matched files use Prettier code style!
tetrapod418 commented 3 months ago

実行環境メモ Windows11 上のWSL2(Ubuntu 20.04)

tetrapod418 commented 3 months ago

issueの報告ページがあって、親切。bugとFeature Requestのひな型が用意されている。めちゃいい。

image image
tetrapod418 commented 3 months ago

testもlintもすべてクリアしたので、ツッコミどころがなかった。 tadsanに「社外の人が積極的にコントリビュートする感じではないかもしれないので、別のOSSを探してみるのはどうか」と助言をいただいたので、別の小さめのnodeパッケージを探してみる。

tetrapod418 commented 3 months ago

https://www.npmjs.com/package/set-function-length を選びました。

https://github.com/ljharb/set-function-length/blob/main/LICENSE にMIT Licenseと記載されていたのでOSSと確認できました。

tetrapod418 commented 3 months ago

自分のアカウントにfork

tetrapod418 commented 3 months ago

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 |
----------|----------|----------|----------|----------|----------------|
tetrapod418 commented 3 months ago

西村さんから、magic numberの解消でも良いが、テストカバレッジを解決するのも良いという助言をいただいた。

tetrapod418 commented 3 months ago

岡野さんにテストカバレッジを解決しようとしているが、大変ですか?と相談したところ、プロジェクトの方針としてカバレッジを気にしていない場合がある。カバレッジの方針について、質問してみるのは、あり。とのことだった。 別のパッケージを探してみることにする。

tetrapod418 commented 3 months ago

@colors/colors - npm https://www.npmjs.com/package/@colors/colors を選びました。 https://github.com/DABH/colors.js/blob/master/LICENSE にMIT Licenseと記載されていたのでOSSと確認できました。

tetrapod418 commented 3 months ago

実行環境を作ってテストを実行したが、lintもtestもパスした。 パスしたことがわかりにくいので、PASSしたことがわかるようになると安心できそう。

tetrapod418 commented 3 months ago

岡野さんに、テストがPASSすると何も出力されないのはISSUEにできそうか相談してみたが、あまり意味がなさそう。 岡野さんから、現在、パッケージとしてテスト済のバッジがついているか確認できると良い。と助言をうけて、 https://www.npmjs.com/package/@colors/colors を確認したところ、CIも通っている表記があった。 更に、CIの実行結果を見てみると、テストコマンドで実行したときと同じ内容をGHAのworkflowで実行しているだけ だったので、成功しているがlog出力がなかった

image

これを問題とするかどうかは微妙とのこと。 一方、assertの途中でfailすると、その先のテストが実行されなくなるので、そちらを改善できる方が良いかもしれないと助言をいただいた。 テストフレームワークを提案できると良いかも。最適なフレームワークを調べたい。

github-actions[bot] commented 3 months ago

おつかれさまでした!

ワークショップの終了にともないissueを閉じますが、このまま作業メモとして使っても構いません :ok_hand:

ワークショップの感想を集めています!

ブログなどに書かれた際は、このページへリンクの追加をお願いします :pray:

またの参加をお待ちしています!