Vite + Apollo Client + GraphQL Codegenの組み合わせでgraphql-codegenを実行すると、gql
関数を以下のようにimportするためにエラーが出る。
import { gql } from '@apollo/client';
[vite] Named export 'gql' not found. The requested module '@apollo/client' is a CommonJS module, which may not support all module.exports as named exports. CommonJS modules can always be imported via the default export, for example using: import pkg from '@apollo/client'; const {gql} = pkg;
解決方法としては graphql-codegenの設定ファイルにgqlImportの設定を追加して再度コード生成する。
const config: CodegenConfig = { ... generates: { ... ".": { config: { gqlImport: "@apollo/client/core#gql", }, }, },
そうすると import { gql } from '@apollo/client/core';
が生成されるのでビルドエラーが回避できた 🎉