はじめに
produce-gsc-6レポジトリは、2,3年ほど前に作成されましたが、関連モジュールのバージョンアップ等を実施していませんでしたので、実施します。また不必要なファイル等があるのかも見ていきます。
レポジトリのクローン
ローカルで作業をしていきますので、まずはレポジトリをクローンします。
config
default-sample.hjson
と
default-sample2.hjson
がありますが、違いは使用テーブル(ex. un_base::vectortile::unmap_bnda_label_03_p)や、fetchSize: 30000などです。everydayTilelistに新たに8区画が加わっていますが、これはウクライナ周辺です。
これらのファイルは修正なしとします。
produce-clearmap
clearmapについては、今は作成していませんが、今後使用することがあるかもしれませんので、そのままにしておきます。
produce-gsc-osm
modify-2022-10-12.js
などの使用していないファイルもありますが、とりあえずそのままにしておきます。
produce-gsc-small
modify-old0922.js
などの使用していないファイルもありますが、とりあえずそのままにしておきます。
produce-gsc-un
modify-backup20230320.js
などの使用していないファイルもありますが、とりあえずそのままにしておきます。
.gitignore
node_modules
を入れた方が良いかとも思いますので、含めます。
package-lock.json
については、依存関係のバージョンを固定するため、記載しません。
LICENSE
使用されている文章はこちらのサイトから引用されています。「The Unlicense(アンライセンス)」と呼ばれるライセンス文で、ソフトウェアを完全にパブリックドメイン(著作権放棄)として公開するための宣言です。
MITライセンスのコードを使う場合は、著作権表示とライセンス文を自分のソフトにコピーして残す義務がありますが、アンライセンスの場合はそれさえ必要ありません。
表示について、何も変えずにそのままとします。
package.json
"version": "1.0.0",
を
"version": "1.0.1",
とします。
Node.jsのバージョンアップ
v22.14.0 (npm v10.9.2)
を使用します。
使用していないモジュールの検出
こちらの記事に記載のあるdepcheckを使用します。
npx depcheck
以下のような結果となりました。
Unused dependencies
* hjson
* json-text-sequence
上記のうちhjsonはrequireされていませんが、使用されているので残します。
json-text-sequence
については、chatGPTに聞いたところ、以下のコードに関連があるということでした。
downstream.write(`\x1e${JSON.stringify(f)}\n`)
ここで使われている \x1e(ASCII 30)は、「JSON Text Sequences(RFC 7464)」の区切り記号ですが、コードが独自に書かれているため、json-text-sequenceパッケージがなくても動作するとのことです。しかし、chatGPTが間違っており、動作しなくなることが不安なので、このままにしておきます。
モジュールのバージョンアップデート
npm outdated と実行すると package.json に記載されているパッケージのアップデート情報を教えてくれます。
Package Current Wanted Latest Location Depended by
@mapbox/tilebelt 1.0.2 1.0.2 2.0.2 node_modules/@mapbox/tilebelt 20250327produce-gsc-6upgrade
json-text-sequence 1.0.1 1.0.1 3.0.1 node_modules/json-text-sequence 20250327produce-gsc-6upgrade
winston-daily-rotate-file 4.7.1 4.7.1 5.0.0 node_modules/winston-daily-rotate-file 20250327produce-gsc-6upgrade
最新バージョンにアップデートします。
npm install @mapbox/tilebelt@latest
npm install json-text-sequence@latest
npm install winston-daily-rotate-file@latest
README.md
こちらはそのままで問題ないと思います。
シェルスクリプト
こちらもそのままで問題ないと思います。
GitHubに登録
こちらのレポジトリに変更を反映しました。
実際にバージョンアップする
ローカルに作成したレポジトリの変更部分を実際のレポジトリに反映させます。
1. ローカルにクローン
git clone https://github.com/unvt/produce-gsc-6.git
cd produce-gsc-6
2. ブランチを作成
git checkout -b fix/updateModule
checkout: 指定したブランチに切り替えるコマンド
-b: 新しいブランチを作成
fix/updateModule: 作成したブランチの名前
3. ファイルを変更
.gitignoreに「node_modules」を追加
package.jsonのバージョンを以下に変更
"version": "1.0.1",
package.jsonモジュールのバージョンをアップデート
@mapbox/tilebelt 2.0.2
json-text-sequence 3.0.1
winston-daily-rotate-file 5.0.0
4 変更をコミットしてプッシュ
git add .
git commit -m "update Module" # 内容に応じてメッセージ変更
git push origin fix/updateModule
5 GitHub上で Pull Request(PR)を作成
- GitHub 上にアクセス → https://github.com/unvt/produce-gsc-6
- 「Compare & pull request」という緑のボタンが表示されるのでクリック
- PR のタイトルと説明を入力(何をどう変えたか簡潔に)
- 「Create pull request」ボタンをクリック!
- 「Merge pull request」ボタンをクリック!
以上で、無事にレポジトリの内容を変更出来ました。
まとめ
produce-gsc-6レポジトリのバージョンアップ等を実施しました。
Reference