Registry / devops / amplify-graphql-types-generator

amplify-graphql-types-generator

JSON →
library2.8.5jsnpmunverified

Generates TypeScript/JavaScript type annotations and API code from AWS AppSync GraphQL schemas and statements. Current version: 2.8.5. Part of the AWS Amplify CLI ecosystem, it parses `.graphql` files and emits typed operations (queries, mutations, subscriptions) plus TypeScript interfaces matching the schema. Compared to `graphql-codegen`, it is tightly coupled to Amplify's workflow and automatically handles AppSync-specific directives like `@model`, `@auth`, and `@connection`. Stable but slow release cadence; primarily used within `amplify push` or `amplify codegen` workflows. Requires Node >=12.0.0. Supports both JavaScript and TypeScript output.

npm install amplify-graphql-types-generator
INSTALL
IMPORT
SIG · AMPLIFY-GRAPHQL-TY
A
amplify-graphql-types-generator
devopsjavascriptv2.8.5
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

generate
import { generate } from 'amplify-graphql-types-generator'
const generate = require('amplify-graphql-types-generator')
Module supports ESM imports. CJS require works but may have type resolution issues.
TypesGeneratorConfig
import type { TypesGeneratorConfig } from 'amplify-graphql-types-generator'
import { TypesGeneratorConfig } from 'amplify-graphql-types-generator'
Config type is exported only as a TypeScript type; use `import type` for proper isolation.
loadConfig
import { loadConfig } from 'amplify-graphql-types-generator'
import { loadConfig } from 'amplify-graphql-types-generator/src/config'
Direct path imports (src/) are unstable and break across versions.

Demonstrates how to read a GraphQL schema and documents, generate TypeScript types, and write them to a file.

import { generate } from 'amplify-graphql-types-generator'; import { readFileSync, writeFileSync } from 'fs'; const schema = readFileSync('./schema.graphql', 'utf8'); const documents = readFileSync('./operations.graphql', 'utf8'); const options = { target: 'typescript', asEnumTypes: false, scalars: { AWSDateTime: 'string', AWSJSON: 'string', }, }; generate(schema, documents, options, (err, result) => { if (err) { console.error('Generation failed:', err); return; } writeFileSync('./src/API.ts', result); console.log('Types generated successfully.'); });
Debug
Known issues
breakingVersion 2.8.0 changed the generate function signature: removed the `options` object's `generateType` field; use `target` instead.
fix
Replace `generateType: 'typescript'` with `target: 'typescript'` in options.
affects: >=2.8.0
deprecatedThe `addTypename` option is deprecated and ignored. All generated queries now include `__typename` automatically.
fix
Remove `addTypename` from options.
affects: >=2.7.0
gotchaPackage does not support `fileURLToPath` or `URL` import paths. Always use string file paths.
fix
Convert URL objects to file path strings before passing to generate.
affects: >=2.0.0
breakingIn version 2.6.0, support for JavaScript target was removed; only TypeScript and Flow are supported.
fix
Use `target: 'typescript'` or `target: 'flow'`.
affects: >=2.6.0
deprecatedThe `'flow'` target is deprecated and may be removed in a future major version.
fix
Migrate to TypeScript target.
affects: >=2.8.0
Errors
Common errors & fixes
Cannot find module 'amplify-graphql-types-generator'
Package not installed or not in node_modules.
fix
Run `npm install amplify-graphql-types-generator` or `yarn add amplify-graphql-types-generator`.
TypeError: generate is not a function
Incorrect import style; default import used but not exported.
fix
Use named import: `import { generate } from 'amplify-graphql-types-generator'`.
GraphQLError: Expected a value of type \"AWSDateTime\"
No scalar mapping provided for AWSDateTime in options.scalars.
fix
Add `scalars: { AWSDateTime: 'string' }` to the options object.
Error: Could not find any GraphQL operations
The documents string is empty or does not contain any valid GraphQL operations.
fix
Ensure the documents file contains at least one query, mutation, or subscription.
Failed to load schema: Syntax Error: Expected Name, found }
Invalid GraphQL schema syntax (e.g., mismatched braces or missing fields).
fix
Validate the schema file using a GraphQL validator or the Amplify CLI.
Upgrade
Version history
2.8.5latest on npm
Audit
Dependencies
graphqlrequiredruntime dependency for parsing GraphQL schemas and operations
Agent activity
18 hits · last 30 days
node
16
OpenAI (training)
1
Resources