graphql-codegen-typescript-no-pascal-template
v0.10.10
Published
This template generates TypeScript typings for both client side and server side.
Downloads
12
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)