ブックマーク / zenn.dev/layerx (3)

  • pnpm 9.5 でリリースされた Catalogs 機能を使ってモノレポ内の依存パッケージのバージョンを揃える

    Catalogs を使うモチベーション Catalogs のメリットについては、ドキュメントではざっくり以下の3点が挙げられています。 単一バージョンを維持できることで、パッケージの重複によるバグの発生を防ぐ pnpm-workspace.yml を編集するだけで依存関係のアップグレードが完了する 依存関係アップグレード時に package.json を編集しなくてよくなり、git でのコンフリクトを避けられる 筆者の環境では特に1つ目の、「パッケージの重複によるバグを防ぐ」というのが大きなモチベーションとなりました。 モノレポと共通パッケージとパッケージ重複 筆者の環境では一部の Web Frontend もモノレポで運用しており、そのなかで一部の共通実装はモノレポ内パッケージとして切り出されています。以下は架空の例ですが、おおまかにこのような構造となっています。 たとえば各 webap

    pnpm 9.5 でリリースされた Catalogs 機能を使ってモノレポ内の依存パッケージのバージョンを揃える
    izumin5210
    izumin5210 2024/07/30
    小ネタです。pnpm Catalogs 便利という話を書きました。
  • GraphQL 界の Babel こと Envelop を使ってスキーマの破壊的変更をごまかす

    この記事は LayerX のエンジニアブログがたくさん出る #ベッテク月間 の8記事目になります。こちらのカレンダーに、これまでの記事と今後出る予定がまとまっています。 LayerX のバクラク事業部には GraphQL Gateway というバクラク全プロダクトから参照される GraphQL スキーマが存在します[1]。今回の記事は、その GraphQL Gateway のスキーマをより良い状態にしていくためにぶつかった課題を強引に突破したときの話です。 モチベーション GraphQL スキーマの破壊的変更によって GraphQL Document がスキーマに適合しなくなる場合、そのリクエストはエラーになります。例えば以下のようなケースが考えられます: 使わなくなったフィールドを削除したい 削除されたフィールド(存在しないフィールド)を含む Document を処理することはできない

    GraphQL 界の Babel こと Envelop を使ってスキーマの破壊的変更をごまかす
    izumin5210
    izumin5210 2024/07/10
    より良い GraphQL スキーマを求めて破壊的変更をむりやりなんとかした話です / 変なことするときは用法用量と節度を守り、ちゃんと考えてからやりましょう
  • graphql-codegen Client Preset 時代(v3~)の おすすめ設定 for TypeScript

    7月はLayerX エンジニアブログを活発にする期間です。今日は誰がなんと言おうと 7/6 です。 昨日 7/5 は「Datadog のコスト最適化で月額費用を 30% 削減した」でした。 2022年10月3日に、GraphQL Code Generator(以下、graphql-codegen)のおすすめ設定に関する記事を公開しました。 しかし、その後、graphql-codegen v3のリリースに伴い、ReactVueではclient-presetが推奨されるようになりました。 client-preset前提の環境では、利用可能な設定項目などがいくつか変わるため、記事では改めて、graphql-codegen以降のClient preset時代のおすすめ設定をまとめています。 全体 設定を TypeScript で書く graphql-codegen v3から公式ドキュメントで案

    graphql-codegen Client Preset 時代(v3~)の おすすめ設定 for TypeScript
    izumin5210
    izumin5210 2023/07/07
    Webアプリ用の現代的な graphql-codegen のおすすめ設定を紹介する記事を書きました。Client preset はいいぞ。
  • 1