title: How to graphql-codegen handle schema with string templates in typescript/javascript exports
body: <p>I am using <code>graphql-codegen</code> to generate the typescript type files for given schema.</p>
  
  <p>All good except if there is string template in the exported scheme, it will complain the sytax and seems it will not compile it. Check the following files for more details.</p>
  
  <p>The <code>types.js</code> is below: </p>
  
  <pre class="lang-js prettyprint-override"><code>const gql = require("graphql-tag");
  
  const Colors = ["Red", "Yellow"];
  export default gql`
    type Person {
      name: String
    }
    enum Color {
        ${Colors.join("\n")}
    }
  # if we change the above enum to be the below, it will be good
  #   enum Color {
  #       Red
  #       Yellow
  #   }
  `;
  </code></pre>
  
  <p>And the config yml file is: </p>
  
  <pre><code>schema: 
    - types.js
  
  generates:
    generated.ts:
      plugins:
          - typescript
          - typescript-resolvers
  
  </code></pre>
  
  <p>When run <code>yarn graphql:codegen</code>, it complains the below: </p>
  
  <pre><code>Found 1 error
  
    ✖ generated.ts
      Failed to load schema from types.js:
  
          Syntax Error: Expected Name, found }
          GraphQLError: Syntax Error: Expected Name, found }
      at syntaxError (/Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/graphql/error/syntaxError.js:15:10)
      at Parser.expectToken (/Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/graphql/language/parser.js:1404:40)
      at Parser.parseName (/Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/graphql/language/parser.js:94:22)
      at Parser.parseEnumValueDefinition (/Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/graphql/language/parser.js:1014:21)
      at Parser.optionalMany (/Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/graphql/language/parser.js:1497:28)
      at Parser.parseEnumValuesDefinition (/Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/graphql/language/parser.js:1002:17)
      at Parser.parseEnumTypeDefinition (/Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/graphql/language/parser.js:986:23)
      at Parser.parseTypeSystemDefinition (/Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/graphql/language/parser.js:705:23)
      at Parser.parseDefinition (/Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/graphql/language/parser.js:146:23)
      at Parser.many (/Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/graphql/language/parser.js:1518:26)
      at Parser.parseDocument (/Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/graphql/language/parser.js:111:25)
      at Object.parse (/Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/graphql/language/parser.js:36:17)
      at Object.parseGraphQLSDL (/Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/@graphql-toolkit/common/index.cjs.js:572:28)
      at CodeFileLoader.load (/Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/@graphql-toolkit/code-file-loader/index.cjs.js:120:31)
      at async /Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/@graphql-toolkit/core/index.cjs.js:682:25
      at async Promise.all (index 0)
  
          GraphQL Code Generator supports:
            - ES Modules and CommonJS exports (export as default or named export "schema")
            - Introspection JSON File
            - URL of GraphQL endpoint
            - Multiple files with type definitions (glob expression)
            - String in config file
  
          Try to use one of above options and run codegen again.
      Error: Failed to load schema
          at loadSchema (/Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/@graphql-codegen/cli/bin.js:353:15)
      Error: Failed to load schema
          at loadSchema (/Users/rliu/study/reproduce-graphql-codegen-with-string-template-in-js-export/node_modules/@graphql-codegen/cli/bin.js:353:15)
  </code></pre>
  
  <p>Looks like <code>graphql-codegen</code> didn't like template string like: <code>${Colors.join('\n')}</code>. </p>
  
  <p>Also please have a look about the <a href="https://github.com/ron-liu/reproduce-graphql-codegen-with-string-template-in-js-export" rel="nofollow noreferrer">repo</a> containing all the above files.</p>
  
  <p>Anyone can help to fix? Thanks.</p>