Remix+CloudflareでWebサイトを作る 6(DrizzleのSQLiteの場所・Dependabotの有効化・GitHub Proに・GitHub Codespacesとは)
【2024-02-14】Drizzleの公式ドキュメントにSQLiteのexampleコードが無い
背景
Drizzleの公式PostgleSQL・MySQL・SQLite全部に対応していると見せかけて対応していない。
PostgleSQLだけ載っているみたいなこと多い。
結論:リポジトリのREADMEにはある
なぜかPostgreSQLにしか対応したexampleコードしかない。
こっちはリポジトリ内にあるSQLiteのREADME。
こっちにはSQLiteのMany-to-Manyのexampleコードが書いてある。
基本こっちを見ながら書いていた。
Drizzle を使って良かった点
Drizzleを使いながらSQLを再度勉強し直す良い勉強になっている。
PrismaがD1に対応したら乗り換えるけど。
【2024-02-16】エラー: ERROR: Unexpected end of file in source map
エラー内容
30分に1回くらい、コードを保存してrebuildしてると以下のエラーがいつの間にかサーバーのログででている。
毎回サーバー立ち上げ直しているが...。
wrangler
のバージョンは3.26.0
。
✘ [ERROR] 1 error(s) and 0 warning(s) when compiling Worker.
/node_modules/wrangler/wrangler-dist/cli.js:29572
throw a;
^
Error: Build failed with 1 error:
[[path]].js.map:1:0: ERROR: Unexpected end of file in source map
errors: [
{
detail: undefined,
id: '',
location: {
column: 0,
file: '[[path]].js.map',
length: 0,
line: 1,
lineText: '',
namespace: '',
suggestion: ''
},
notes: [
{
location: {
column: 21,
file: '[[path]].js',
length: 15,
line: 69426,
lineText: '//# sourceMappingURL=[[path]].js.map',
namespace: '',
suggestion: ''
},
text: 'The source map "[[path]].js.map" was referenced by the file "[[path]].js" here:'
}
],
pluginName: '',
text: 'Unexpected end of file in source map'
}
],
warnings: []
}
Issue見てみる
まぁIssueあるわな。
12/14の時点でコメント止まってて3.19.0で治ると良いなぁ的なこと書いてるけど今はもう3.28.2
。
Versions を見るとこれ毎週のように更新してるのか。よくわからんけどすげ〜。
とりあえず最新に更新して様子みる。
このエラーが出なくなってたら追記する。
2024-02-18追記:更新しても発生する
【2024-02-16】Dependabotを有効化
経緯
1個前 で wranglerの更新を行ったわけだけど、そういやDependabotの設定とかしてなかったのでしちゃおう。
Github上で有効化
ここで全体像を知れた。
これも助かった。
差分として、今は「Grouped security updates」というのがBata版として追加されてる。
どうやらバージョン更新でオープンされるPRをグループ化してくれるっぽい。半年くらい前からあったのね。
更新対象のパッケージが大量にあってPRぼんぼこ作られる問題とか、依存関係でコンフリクト起きる問題解消されそう。
「Dependabot version update」以外をEnableにしてみる。
作成されるPRの数が多ければまた設定し直すなどしてみる。
.github/dependabot.yml
を作成
一旦適当に作成。公式ドキュメント充実している。
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
groups:
dependencies:
patterns:
- "*"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
pushしてから5分くらい経ってからPRを覗いたら早速2件作ってくれていた👏🏻
手動実行
「Insights > Dependency graph > Dependabot」からできるらしい。
このDependency graphがサポートしているパッケージが、Dependabotが依存関係の検査をする対象になるらしい。
【2024-02-16】Dependabotが作成したPR上でCloudflareのプレビュー環境にデプロイしたいので有料プランにアップデートした
要するにEnvironmentsを使いたかったから有料プランにしたという意味
現状
1個上のコメントでDependabotの設定をしたわけだけど、デプロイが正しく行われることをチェックしたいからもうPR上でCloudflareのプレビュー環境にデプロイしてほしい。
いいのか?
と思ったんだけど、それは適切なんだっけ...。
仮にDependabotで大量にPR作成されまくって今の無料プランで持つんだっけ?(持つだろうけど)
Cloudflare Pagesの無料プランのビルド上限を調べてみると500回/月だった。
このQiitaにいろいろなサービスの料金体系まとめられてた。
最終更新2週間前だから合ってるだろうな。
とりあえず勉強がてらやってみよう
ここで書いたGithubActionsのymlファイルを修正すればいいのか。
とは言ってもここに書いてあるのはmainブランチに入ったときだから本番環境へのデプロイ。
なので、別途プレビュー環境へデプロイするコードにする必要がある。
GithubのEnvironmentsを用いればできそう。確かに会社のプロダクトのリポジトリもそうなってたわ...。
ということでやってみようかとSettingsを見てみるがどこをどう見ても動線が存在しない。
が、会社のリポジトリを見る限りサイドバーに「Environments」がある。
どうやらパブリックリポジトリの場合はFreeプランで使えるが、プライベートリポジトリの場合はGithub Proか、Github Team以上でないと使えないらしい。
有料プランにアップグレード💸
Githubさん日頃からお世話になってるしね。払おう。
ここからアップグレード。
月だと4ドル、年だと48ドル。
変わらんのかーい。
開発途中でやめたらもったいないので月払いにしておく。
円安だからこれってもう5000円弱じゃなくて150.05*48=7202円でした...。
悲しくなる。
見なかったことにしよう。
【2024-02-17】Github Codespacesとは
Environmentsの動線を探しながらそういえば使ってなかったけど「Github Codespaces」ってなんだろうと思って調べた。
直近では使うことなさそうだけど便利そう。