Skip to content

Is there a way to make this work with apollo generate:codegen? #9

@vjpr

Description

@vjpr
import {RouteModelFragment} from 'fragments/foo.fragments'

const query = gql`
  query maintenanceRoutes {
    routes {
      ...RouteModelFragment
    }
    zones {
      id
      zoneName
    }
  }
  
  ${RouteModelFragment}
`

$ apollo codegen:generate --schema=schema.graphql --target=flow --outputFlat --queries='foo.js' $OUT_DIR/types

Unknown fragment "RouteModelFragment".

ToolError: Validation of GraphQL query document failed
    at Object.validateQueryDocument (~/nvm/versions/node/v8.9.0/pnpm-global/1/node_modules/.registry.npmjs.org/apollo/1.4.0/node_modules/apollo/lib/validation.js:17:15)
    at Object.generate [as default] (~/nvm/versions/node/v8.9.0/pnpm-global/1/node_modules/.registry.npmjs.org/apollo/1.4.0/node_modules/apollo/lib/generate.js:19:18)
    at Task.task (~/nvm/versions/node/v8.9.0/pnpm-global/1/node_modules/.registry.npmjs.org/apollo/1.4.0/node_modules/apollo/lib/commands/codegen/generate.js:152:60)
    at Promise.resolve.then.then.skipped (~/nvm/versions/node/v8.9.0/pnpm-global/1/node_modules/.registry.npmjs.org/listr/0.14.1/node_modules/listr/lib/task.js:167:30)
    at <anonymous>

I wonder if apollo codegen can reference fragments from its schema so we don't need the import?

This issue means having to choose between templated gql queries or query type generation.

graphql-cli-generate-fragments may still be useful for copy-pasting in the generated fragments instead of having to type them.

And maybe its better to keep gql queries static so IDE integrations can work properly. Although the Apollo docs suggest importing fragments into your queries here: https://www.apollographql.com/docs/react/advanced/fragments.html.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions