Closed5

Remix+CloudflareでWebサイトを作る 6(DrizzleのSQLiteの場所・Dependabotの有効化・GitHub Proに・GitHub Codespacesとは)

saneatsusaneatsu

【2024-02-14】Drizzleの公式ドキュメントにSQLiteのexampleコードが無い

背景

Drizzleの公式PostgleSQL・MySQL・SQLite全部に対応していると見せかけて対応していない。
PostgleSQLだけ載っているみたいなこと多い。

結論:リポジトリのREADMEにはある

https://orm.drizzle.team/docs/rqb#many-to-many
こっちが公式ドキュメントのMany-to-Manyの記述。
なぜかPostgreSQLにしか対応したexampleコードしかない。

https://github.com/drizzle-team/drizzle-orm/blob/main/drizzle-orm/src/sqlite-core/README.md

こっちはリポジトリ内にあるSQLiteのREADME。
こっちにはSQLiteのMany-to-Manyのexampleコードが書いてある。
基本こっちを見ながら書いていた。

Drizzle を使って良かった点

Drizzleを使いながらSQLを再度勉強し直す良い勉強になっている。
PrismaがD1に対応したら乗り換えるけど。

saneatsusaneatsu

【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見てみる

https://github.com/remix-run/remix/issues/7616

まぁIssueあるわな。
12/14の時点でコメント止まってて3.19.0で治ると良いなぁ的なこと書いてるけど今はもう3.28.2

Versions を見るとこれ毎週のように更新してるのか。よくわからんけどすげ〜。

とりあえず最新に更新して様子みる。
このエラーが出なくなってたら追記する。

2024-02-18追記:更新しても発生する

saneatsusaneatsu

【2024-02-16】Dependabotを有効化

経緯

1個前 で wranglerの更新を行ったわけだけど、そういやDependabotの設定とかしてなかったのでしちゃおう。

Github上で有効化

https://zenn.dev/dzeyelid/articles/e36d439cdeda5edb7ddc#dependabot-alerts

ここで全体像を知れた。

https://zenn.dev/yuuhu04/articles/about-github-alert

これも助かった。

差分として、今は「Grouped security updates」というのがBata版として追加されてる。
どうやらバージョン更新でオープンされるPRをグループ化してくれるっぽい。半年くらい前からあったのね。
更新対象のパッケージが大量にあってPRぼんぼこ作られる問題とか、依存関係でコンフリクト起きる問題解消されそう。

「Dependabot version update」以外をEnableにしてみる。
作成されるPRの数が多ければまた設定し直すなどしてみる。

.github/dependabot.yml を作成

一旦適当に作成。公式ドキュメント充実している。

.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が依存関係の検査をする対象になるらしい。

saneatsusaneatsu

【2024-02-16】Dependabotが作成したPR上でCloudflareのプレビュー環境にデプロイしたいので有料プランにアップデートした

要するにEnvironmentsを使いたかったから有料プランにしたという意味

現状

1個上のコメントでDependabotの設定をしたわけだけど、デプロイが正しく行われることをチェックしたいからもうPR上でCloudflareのプレビュー環境にデプロイしてほしい。

いいのか?

と思ったんだけど、それは適切なんだっけ...。
仮にDependabotで大量にPR作成されまくって今の無料プランで持つんだっけ?(持つだろうけど)

Cloudflare Pagesの無料プランのビルド上限を調べてみると500回/月だった。

https://qiita.com/RyoWakabayashi/items/bd9a96290758e11883e8#cloudflare-pages

このQiitaにいろいろなサービスの料金体系まとめられてた。
最終更新2週間前だから合ってるだろうな。

とりあえず勉強がてらやってみよう

ここで書いたGithubActionsのymlファイルを修正すればいいのか。
とは言ってもここに書いてあるのはmainブランチに入ったときだから本番環境へのデプロイ。
なので、別途プレビュー環境へデプロイするコードにする必要がある。

https://zenn.dev/yuhei_fujita/articles/deploy-with-github-environment

GithubのEnvironmentsを用いればできそう。確かに会社のプロダクトのリポジトリもそうなってたわ...。
ということでやってみようかとSettingsを見てみるがどこをどう見ても動線が存在しない。
が、会社のリポジトリを見る限りサイドバーに「Environments」がある。

https://github.com/settings/billing/plans
どうやらパブリックリポジトリの場合はFreeプランで使えるが、プライベートリポジトリの場合はGithub Proか、Github Team以上でないと使えないらしい。

有料プランにアップグレード💸

Githubさん日頃からお世話になってるしね。払おう。
ここからアップグレード。
月だと4ドル、年だと48ドル。
変わらんのかーい。
開発途中でやめたらもったいないので月払いにしておく。

円安だからこれってもう5000円弱じゃなくて150.05*48=7202円でした...。
悲しくなる。
見なかったことにしよう。

このスクラップは2ヶ月前にクローズされました