graphql-codegen-typescript-no-pascal-template
v0.10.10
Published
This template generates TypeScript typings for both client side and server side.
Readme
TypeScript template
This template generates TypeScript typings for both client side and server side.
Generator Config
This generator supports custom config and output behavior. Use to following flags/environment variables to modify your output as you wish:
printTime (or CODEGEN_PRINT_TIME, default value: false)
Setting this to true will cause the generator to add the time of the generated output on top of the file.
prepend ( default value: null )
Will add the elements of this on top of the file.
prepend: [
"// My Comment",
"// My Other Comment"
]scalars ( default value: null )
Will map scalars to the predefined types
scalars: {
"Date": "Date"
}Combination of prepend and scalars
prepend and scalars options can be combined to map custom types to scalars.
prepend: [
"import { CustomScalarType } from './custom-types';"
"import { AnotherCustomScalarType } from './another-custom-types';"
],
scalars: {
"CustomScalar": "CustomScalarType",
"AnotherCustomScalar": "AnotherCustomScalarType"
}avoidOptionals (or CODEGEN_AVOID_OPTIONALS, default value: false)
This will cause the generator to avoid using TypeScript optionals (?), so the following definition: type A { myField: String } will output myField: string | null instead of myField?: string | null.
enumsAsTypes (or CODEGEN_ENUMS_AS_TYPES, default value: false)
Will generate the declared enums as TypeScript type instead of enums. This is useful if you can't use .ts extension.
immutableTypes (or CODEGEN_IMMUTABLE_TYPES, default value: false)
This will cause the codegen to output readonly properties and ReadonlyArray.
resolvers (or CODEGEN_RESOLVERS, default value: true)
This will cause the codegen to output types for resolvers.
noNamespaces (or CODEGEN_SCHEMA_NO_NAMESPACES, default value: null)
This will cause the codegen not to use namespace in typings
schemaNamespace (or CODEGEN_SCHEMA_NAMESPACE, default value: null)
This will cause the codegen to wrap the generated schema typings with a TypeScript namespace.
interfacePrefix (or CODEGEN_INTERFACE_PREFIX, default value: null)
This will cause the codegen to prefix graphql type interfaces with a value (if I is defined as prefix, type Foo will be generated as an interface named IFoo)
Use this feature if you need to run the codegen on multiple schemas, but getting a unified types (read more here)
