We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ts-json-schema-generator -f './tsconfig.json' -p './type.ts' -o './scheme.json' --id='api'
./type.ts
export type ApiSchema = { N: B } export type B = string
./schema.json
{ "$id": "api", "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { "ApiSchema": { "type": "object", "properties": { "N": { "$ref": "api#/definitions/B" // with api prefix } }, "required": [ "N" ], "additionalProperties": false }, "B": { "type": "string" } } }
{ "$id": "api", "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { "ApiSchema": { "type": "object", "properties": { "N": { "$ref": "#/definitions/B" // missing api prefix } }, "required": [ "N" ], "additionalProperties": false }, "B": { "type": "string" } } }
Is this by design?
I think it's a serious bug, because it sabotages the combination with ajv validation
By the way typescript-json-schema can generate the expected result
The text was updated successfully, but these errors were encountered:
Huh, can you look into why ID is being ignored?
Sorry, something went wrong.
No idea why it's designed like this, but I searched source code and got below discover
In ts-json-schema-generator, DefinitionTypeFormatter and ReferenceTypeFormatter hard coded '#/definition' as prefix
While in typescript-json-schema, $id will be used as prefix
Since ts-json-schema-generator is an extended version of typescript-json-schema, so I think their basic behavior should be same?
Yeah, looks like we accidentally broke that at some point. Let's fix it.
No branches or pull requests
How to produce
ts-json-schema-generator -f './tsconfig.json' -p './type.ts' -o './scheme.json' --id='api'
./type.ts
What to expect?
./schema.json
What is actually happening?
./schema.json
Is this by design?
I think it's a serious bug, because it sabotages the combination with ajv validation
By the way typescript-json-schema can generate the expected result
The text was updated successfully, but these errors were encountered: