ts-json-schema-generator 2.5.0-next.8 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/dist/factory/parser.js +3 -0
  2. package/dist/factory/parser.js.map +1 -1
  3. package/dist/factory/program.js +6 -3
  4. package/dist/factory/program.js.map +1 -1
  5. package/dist/package.json +28 -33
  6. package/dist/src/AnnotationsReader/BasicAnnotationsReader.js +6 -0
  7. package/dist/src/AnnotationsReader/BasicAnnotationsReader.js.map +1 -1
  8. package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.d.ts +4 -0
  9. package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.js +7 -0
  10. package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.js.map +1 -1
  11. package/dist/src/Config.d.ts +99 -0
  12. package/dist/src/Error/BaseError.d.ts +6 -1
  13. package/dist/src/Error/BaseError.js +8 -2
  14. package/dist/src/Error/BaseError.js.map +1 -1
  15. package/dist/src/Error/Errors.d.ts +3 -0
  16. package/dist/src/Error/Errors.js +5 -0
  17. package/dist/src/Error/Errors.js.map +1 -1
  18. package/dist/src/NodeParser/AnnotatedNodeParser.js +5 -0
  19. package/dist/src/NodeParser/AnnotatedNodeParser.js.map +1 -1
  20. package/dist/src/NodeParser/ArrayNodeParser.js +1 -0
  21. package/dist/src/NodeParser/ArrayNodeParser.js.map +1 -1
  22. package/dist/src/NodeParser/AsExpressionNodeParser.js +1 -0
  23. package/dist/src/NodeParser/AsExpressionNodeParser.js.map +1 -1
  24. package/dist/src/NodeParser/BinaryExpressionNodeParser.d.ts +13 -0
  25. package/dist/src/NodeParser/BinaryExpressionNodeParser.js +84 -0
  26. package/dist/src/NodeParser/BinaryExpressionNodeParser.js.map +1 -0
  27. package/dist/src/NodeParser/CallExpressionParser.js +6 -0
  28. package/dist/src/NodeParser/CallExpressionParser.js.map +1 -1
  29. package/dist/src/NodeParser/ConditionalTypeNodeParser.d.ts +16 -0
  30. package/dist/src/NodeParser/ConditionalTypeNodeParser.js +22 -0
  31. package/dist/src/NodeParser/ConditionalTypeNodeParser.js.map +1 -1
  32. package/dist/src/NodeParser/FunctionNodeParser.js +1 -0
  33. package/dist/src/NodeParser/FunctionNodeParser.js.map +1 -1
  34. package/dist/src/NodeParser/IdentifierNodeParser.d.ts +3 -0
  35. package/dist/src/NodeParser/IdentifierNodeParser.js +3 -0
  36. package/dist/src/NodeParser/IdentifierNodeParser.js.map +1 -1
  37. package/dist/src/NodeParser/IndexedAccessTypeNodeParser.js +4 -1
  38. package/dist/src/NodeParser/IndexedAccessTypeNodeParser.js.map +1 -1
  39. package/dist/src/NodeParser/InterfaceAndClassNodeParser.d.ts +7 -0
  40. package/dist/src/NodeParser/InterfaceAndClassNodeParser.js +10 -0
  41. package/dist/src/NodeParser/InterfaceAndClassNodeParser.js.map +1 -1
  42. package/dist/src/NodeParser/IntersectionNodeParser.d.ts +4 -0
  43. package/dist/src/NodeParser/IntersectionNodeParser.js +8 -0
  44. package/dist/src/NodeParser/IntersectionNodeParser.js.map +1 -1
  45. package/dist/src/NodeParser/MappedTypeNodeParser.js +12 -5
  46. package/dist/src/NodeParser/MappedTypeNodeParser.js.map +1 -1
  47. package/dist/src/NodeParser/ObjectLiteralExpressionNodeParser.js +1 -0
  48. package/dist/src/NodeParser/ObjectLiteralExpressionNodeParser.js.map +1 -1
  49. package/dist/src/NodeParser/PrefixUnaryExpressionNodeParser.js +1 -0
  50. package/dist/src/NodeParser/PrefixUnaryExpressionNodeParser.js.map +1 -1
  51. package/dist/src/NodeParser/PromiseNodeParser.d.ts +3 -0
  52. package/dist/src/NodeParser/PromiseNodeParser.js +19 -1
  53. package/dist/src/NodeParser/PromiseNodeParser.js.map +1 -1
  54. package/dist/src/NodeParser/SpreadElementNodeParser.d.ts +4 -0
  55. package/dist/src/NodeParser/SpreadElementNodeParser.js +4 -0
  56. package/dist/src/NodeParser/SpreadElementNodeParser.js.map +1 -1
  57. package/dist/src/NodeParser/TypeLiteralNodeParser.js +5 -0
  58. package/dist/src/NodeParser/TypeLiteralNodeParser.js.map +1 -1
  59. package/dist/src/NodeParser/TypeOperatorNodeParser.js +1 -0
  60. package/dist/src/NodeParser/TypeOperatorNodeParser.js.map +1 -1
  61. package/dist/src/NodeParser/TypeReferenceNodeParser.js +6 -0
  62. package/dist/src/NodeParser/TypeReferenceNodeParser.js.map +1 -1
  63. package/dist/src/NodeParser/TypeofNodeParser.js +1 -0
  64. package/dist/src/NodeParser/TypeofNodeParser.js.map +1 -1
  65. package/dist/src/SchemaGenerator.js +28 -1
  66. package/dist/src/SchemaGenerator.js.map +1 -1
  67. package/dist/src/Type/AnnotatedType.d.ts +1 -3
  68. package/dist/src/Type/AnnotatedType.js.map +1 -1
  69. package/dist/src/Type/BaseType.d.ts +3 -0
  70. package/dist/src/Type/BaseType.js +3 -0
  71. package/dist/src/Type/BaseType.js.map +1 -1
  72. package/dist/src/Type/ObjectType.js +3 -1
  73. package/dist/src/Type/ObjectType.js.map +1 -1
  74. package/dist/src/Type/UnionType.d.ts +3 -0
  75. package/dist/src/Type/UnionType.js +3 -0
  76. package/dist/src/Type/UnionType.js.map +1 -1
  77. package/dist/src/Type/UnknownType.d.ts +11 -1
  78. package/dist/src/Type/UnknownType.js +8 -1
  79. package/dist/src/Type/UnknownType.js.map +1 -1
  80. package/dist/src/TypeFormatter/AnnotatedTypeFormatter.js +2 -1
  81. package/dist/src/TypeFormatter/AnnotatedTypeFormatter.js.map +1 -1
  82. package/dist/src/TypeFormatter/EnumTypeFormatter.d.ts +3 -0
  83. package/dist/src/TypeFormatter/EnumTypeFormatter.js +7 -0
  84. package/dist/src/TypeFormatter/EnumTypeFormatter.js.map +1 -1
  85. package/dist/src/TypeFormatter/IntersectionTypeFormatter.js +3 -0
  86. package/dist/src/TypeFormatter/IntersectionTypeFormatter.js.map +1 -1
  87. package/dist/src/TypeFormatter/LiteralUnionTypeFormatter.js +7 -0
  88. package/dist/src/TypeFormatter/LiteralUnionTypeFormatter.js.map +1 -1
  89. package/dist/src/TypeFormatter/ReferenceTypeFormatter.js +6 -0
  90. package/dist/src/TypeFormatter/ReferenceTypeFormatter.js.map +1 -1
  91. package/dist/src/TypeFormatter/TupleTypeFormatter.js +12 -5
  92. package/dist/src/TypeFormatter/TupleTypeFormatter.js.map +1 -1
  93. package/dist/src/TypeFormatter/UnionTypeFormatter.js +1 -0
  94. package/dist/src/TypeFormatter/UnionTypeFormatter.js.map +1 -1
  95. package/dist/src/Utils/allOfDefinition.js +5 -0
  96. package/dist/src/Utils/allOfDefinition.js.map +1 -1
  97. package/dist/src/Utils/deepMerge.d.ts +8 -0
  98. package/dist/src/Utils/deepMerge.js +9 -0
  99. package/dist/src/Utils/deepMerge.js.map +1 -1
  100. package/dist/src/Utils/derefType.d.ts +6 -0
  101. package/dist/src/Utils/derefType.js +6 -0
  102. package/dist/src/Utils/derefType.js.map +1 -1
  103. package/dist/src/Utils/intersectionOfArrays.js +1 -0
  104. package/dist/src/Utils/intersectionOfArrays.js.map +1 -1
  105. package/dist/src/Utils/isAssignableTo.d.ts +12 -0
  106. package/dist/src/Utils/isAssignableTo.js +54 -0
  107. package/dist/src/Utils/isAssignableTo.js.map +1 -1
  108. package/dist/src/Utils/modifiers.d.ts +19 -0
  109. package/dist/src/Utils/modifiers.js +19 -0
  110. package/dist/src/Utils/modifiers.js.map +1 -1
  111. package/dist/src/Utils/narrowType.d.ts +12 -0
  112. package/dist/src/Utils/narrowType.js +15 -0
  113. package/dist/src/Utils/narrowType.js.map +1 -1
  114. package/dist/src/Utils/nodeKey.d.ts +1 -1
  115. package/dist/src/Utils/nodeKey.js +7 -1
  116. package/dist/src/Utils/nodeKey.js.map +1 -1
  117. package/dist/src/Utils/preserveAnnotation.d.ts +6 -0
  118. package/dist/src/Utils/preserveAnnotation.js +6 -0
  119. package/dist/src/Utils/preserveAnnotation.js.map +1 -1
  120. package/dist/src/Utils/removeUndefined.d.ts +3 -0
  121. package/dist/src/Utils/removeUndefined.js +3 -0
  122. package/dist/src/Utils/removeUndefined.js.map +1 -1
  123. package/dist/src/Utils/removeUnreachable.js +1 -0
  124. package/dist/src/Utils/removeUnreachable.js.map +1 -1
  125. package/dist/src/Utils/symbolAtNode.js +1 -0
  126. package/dist/src/Utils/symbolAtNode.js.map +1 -1
  127. package/dist/src/Utils/typeKeys.js +1 -0
  128. package/dist/src/Utils/typeKeys.js.map +1 -1
  129. package/dist/ts-json-schema-generator.js +6 -7
  130. package/dist/ts-json-schema-generator.js.map +1 -1
  131. package/dist/tsconfig.tsbuildinfo +1 -1
  132. package/factory/parser.ts +2 -0
  133. package/factory/program.ts +8 -4
  134. package/package.json +28 -33
  135. package/src/Error/BaseError.ts +1 -3
  136. package/src/NodeParser/BinaryExpressionNodeParser.ts +99 -0
  137. package/src/NodeParser/IndexedAccessTypeNodeParser.ts +4 -1
  138. package/src/NodeParser/MappedTypeNodeParser.ts +12 -8
  139. package/src/SchemaGenerator.ts +18 -3
  140. package/src/Type/AnnotatedType.ts +1 -3
  141. package/src/Type/UnknownType.ts +1 -1
  142. package/src/TypeFormatter/AnnotatedTypeFormatter.ts +2 -2
  143. package/src/Utils/narrowType.ts +1 -6
  144. package/src/Utils/nodeKey.ts +3 -1
  145. package/ts-json-schema-generator.ts +2 -11
@@ -11,6 +11,7 @@ const AnyTypeNodeParser_js_1 = require("../src/NodeParser/AnyTypeNodeParser.js")
11
11
  const ArrayLiteralExpressionNodeParser_js_1 = require("../src/NodeParser/ArrayLiteralExpressionNodeParser.js");
12
12
  const ArrayNodeParser_js_1 = require("../src/NodeParser/ArrayNodeParser.js");
13
13
  const AsExpressionNodeParser_js_1 = require("../src/NodeParser/AsExpressionNodeParser.js");
14
+ const BinaryExpressionNodeParser_js_1 = require("../src/NodeParser/BinaryExpressionNodeParser.js");
14
15
  const BooleanLiteralNodeParser_js_1 = require("../src/NodeParser/BooleanLiteralNodeParser.js");
15
16
  const BooleanTypeNodeParser_js_1 = require("../src/NodeParser/BooleanTypeNodeParser.js");
16
17
  const CallExpressionParser_js_1 = require("../src/NodeParser/CallExpressionParser.js");
@@ -69,6 +70,7 @@ function createParser(program, config, augmentor) {
69
70
  }
70
71
  function withTopRef(nodeParser) {
71
72
  const typeArr = (0, castArray_js_1.castArray)(config.type);
73
+ // If we have multiple types, don't set a top-level $ref.
72
74
  const topRefFullName = typeArr && typeArr.length === 1 ? typeArr[0] : undefined;
73
75
  return new TopRefNodeParser_js_1.TopRefNodeParser(chainNodeParser, topRefFullName, config.topRef);
74
76
  }
@@ -103,6 +105,7 @@ function createParser(program, config, augmentor) {
103
105
  .addNodeParser(new NeverTypeNodeParser_js_1.NeverTypeNodeParser())
104
106
  .addNodeParser(new ObjectTypeNodeParser_js_1.ObjectTypeNodeParser())
105
107
  .addNodeParser(new AsExpressionNodeParser_js_1.AsExpressionNodeParser(chainNodeParser))
108
+ .addNodeParser(new BinaryExpressionNodeParser_js_1.BinaryExpressionNodeParser(chainNodeParser))
106
109
  .addNodeParser(new SatisfiesNodeParser_js_1.SatisfiesNodeParser(chainNodeParser))
107
110
  .addNodeParser(withJsDoc(new ParameterParser_js_1.ParameterParser(chainNodeParser)))
108
111
  .addNodeParser(new StringLiteralNodeParser_js_1.StringLiteralNodeParser())
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../factory/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../factory/parser.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ const path = tslib_1.__importStar(require("node:path"));
6
6
  const normalize_path_1 = tslib_1.__importDefault(require("normalize-path"));
7
7
  const typescript_1 = tslib_1.__importDefault(require("typescript"));
8
8
  const Errors_js_1 = require("../src/Error/Errors.js");
9
- const glob_1 = require("glob");
9
+ const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
10
10
  function loadTsConfigFile(configFile) {
11
11
  const raw = typescript_1.default.sys.readFile(configFile);
12
12
  if (!raw) {
@@ -43,15 +43,18 @@ function getTsConfig(config) {
43
43
  noEmit: true,
44
44
  emitDecoratorMetadata: true,
45
45
  experimentalDecorators: true,
46
- target: typescript_1.default.ScriptTarget.ES5,
46
+ target: typescript_1.default.ScriptTarget.ES2022,
47
47
  module: typescript_1.default.ModuleKind.CommonJS,
48
48
  strictNullChecks: false,
49
+ skipLibCheck: true,
50
+ skipDefaultLibCheck: true,
51
+ esModuleInterop: true,
49
52
  },
50
53
  };
51
54
  }
52
55
  function createProgram(config) {
53
56
  const rootNamesFromPath = config.path
54
- ? (0, glob_1.globSync)((0, normalize_path_1.default)(path.resolve(config.path))).map((rootName) => (0, normalize_path_1.default)(rootName))
57
+ ? node_fs_1.default.globSync((0, normalize_path_1.default)(path.resolve(config.path))).map((rootName) => (0, normalize_path_1.default)(rootName))
55
58
  : [];
56
59
  const tsconfig = getTsConfig(config);
57
60
  const rootNames = rootNamesFromPath.length ? rootNamesFromPath : tsconfig.fileNames;
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../factory/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../factory/program.ts"],"names":[],"mappings":"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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-json-schema-generator",
3
- "version": "2.5.0-next.8",
3
+ "version": "2.5.0",
4
4
  "description": "Generate JSON schema from your Typescript sources",
5
5
  "keywords": [
6
6
  "ts",
@@ -49,53 +49,48 @@
49
49
  "prepublishOnly": "npm run build",
50
50
  "release": "npm run build && auto shipit",
51
51
  "run": "tsx ts-json-schema-generator.ts",
52
- "test": "jest test/ --verbose",
53
- "test:coverage": "npm run jest -- test/ --collectCoverage=true",
54
- "test:fast": "cross-env FAST_TEST=1 jest test/ --verbose",
55
- "test:update": "cross-env UPDATE_SCHEMA=true npm run test:fast",
52
+ "test": "tsx --test \"test/**/*.test.ts\"",
53
+ "test:debug": "tsx --inspect-brk --test-concurrency=1 --test",
54
+ "test:fast": "cross-env FAST_TEST=1 tsx --test \"test/**/*.test.ts\"",
55
+ "test:update": "cross-env FAST_TEST=1 UPDATE_SCHEMA=true tsx --test \"test/**/*.test.ts\"",
56
+ "test:coverage": "c8 --reporter lcov --reporter text tsx --test \"test/**/*.test.ts\"",
56
57
  "watch": "tsc -w"
57
58
  },
58
59
  "dependencies": {
59
60
  "@types/json-schema": "^7.0.15",
60
- "commander": "^14.0.0",
61
- "glob": "^13.0.0",
61
+ "commander": "^14.0.2",
62
62
  "json5": "^2.2.3",
63
63
  "normalize-path": "^3.0.0",
64
64
  "safe-stable-stringify": "^2.5.0",
65
65
  "tslib": "^2.8.1",
66
- "typescript": "^5.8.3",
67
- "@typescript/vfs": "1.6.2"
66
+ "typescript": "^5.9.3"
68
67
  },
69
68
  "devDependencies": {
70
- "@auto-it/conventional-commits": "^11.3.0",
71
- "@auto-it/first-time-contributor": "^11.3.0",
72
- "@babel/core": "^7.28.0",
73
- "@babel/preset-env": "^7.28.0",
74
- "@babel/preset-typescript": "^7.27.1",
75
- "@eslint/js": "^9.30.1",
69
+ "@auto-it/conventional-commits": "^11.3.6",
70
+ "@auto-it/first-time-contributor": "^11.3.6",
71
+ "@eslint/js": "^9.39.1",
76
72
  "@types/eslint": "^9.6.1",
77
- "@types/jest": "^30.0.0",
78
- "@types/node": "^24.0.10",
73
+ "@types/node": "^24.10.1",
79
74
  "@types/normalize-path": "^3.0.2",
75
+ "@typescript/vfs": "1.6.2",
80
76
  "ajv": "^8.17.1",
81
77
  "ajv-formats": "^3.0.1",
82
- "auto": "^11.3.0",
83
- "chai": "^6.0.1",
84
- "cross-env": "^10.0.0",
85
- "eslint": "9.39.1",
86
- "eslint-config-prettier": "^10.1.5",
87
- "eslint-plugin-prettier": "^5.5.1",
88
- "globals": "^16.3.0",
89
- "jest": "^30.0.4",
90
- "jest-junit": "^16.0.0",
91
- "prettier": "^3.6.2",
92
- "tsx": "^4.20.3",
93
- "typescript-eslint": "^8.35.1",
94
- "vega": "^6.1.2",
95
- "vega-lite": "^6.2.0"
78
+ "auto": "^11.3.6",
79
+ "c8": "^10.1.3",
80
+ "cross-env": "^10.1.0",
81
+ "eslint": "9.39.2",
82
+ "eslint-config-prettier": "^10.1.8",
83
+ "eslint-plugin-prettier": "^5.5.4",
84
+ "globals": "^17.0.0",
85
+ "prettier": "^3.7.3",
86
+ "try": "^1.0.1",
87
+ "tsx": "^4.21.0",
88
+ "typescript-eslint": "^8.48.0",
89
+ "vega": "^6.2.0",
90
+ "vega-lite": "^6.4.1"
96
91
  },
97
- "packageManager": "npm@11.4.2",
92
+ "packageManager": "npm@11.6.4",
98
93
  "engines": {
99
- "node": ">=18.0.0"
94
+ "node": ">=22.0.0"
100
95
  }
101
96
  }
@@ -14,9 +14,11 @@ class BasicAnnotationsReader {
14
14
  "format",
15
15
  "pattern",
16
16
  "ref",
17
+ // New since draft-07:
17
18
  "comment",
18
19
  "contentMediaType",
19
20
  "contentEncoding",
21
+ // Custom tag for if-then-else support.
20
22
  "discriminator",
21
23
  ]);
22
24
  static jsonTags = new Set([
@@ -38,11 +40,13 @@ class BasicAnnotationsReader {
38
40
  "examples",
39
41
  "default",
40
42
  "required",
43
+ // New since draft-07:
41
44
  "if",
42
45
  "then",
43
46
  "else",
44
47
  "readOnly",
45
48
  "writeOnly",
49
+ // New since draft 2019-09:
46
50
  "deprecated",
47
51
  ]);
48
52
  constructor(extraTags) {
@@ -73,6 +77,7 @@ class BasicAnnotationsReader {
73
77
  }
74
78
  parseJsDocTag(jsDocTag) {
75
79
  const isTextTag = BasicAnnotationsReader.textTags.has(jsDocTag.name);
80
+ // Non-text tags without explicit value (e.g. `@deprecated`) default to `true`.
76
81
  const defaultText = isTextTag ? "" : "true";
77
82
  const text = jsDocTag.text?.map((part) => part.text).join("") || defaultText;
78
83
  if (isTextTag) {
@@ -87,6 +92,7 @@ class BasicAnnotationsReader {
87
92
  return parsed;
88
93
  }
89
94
  else {
95
+ // Unknown jsDoc tag.
90
96
  return undefined;
91
97
  }
92
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BasicAnnotationsReader.js","sourceRoot":"","sources":["../../../src/AnnotationsReader/BasicAnnotationsReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BasicAnnotationsReader.js","sourceRoot":"","sources":["../../../src/AnnotationsReader/BasicAnnotationsReader.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,9 @@ export declare class ExtendedAnnotationsReader extends BasicAnnotationsReader {
10
10
  isNullable(node: ts.Node): boolean;
11
11
  private getDescriptionAnnotation;
12
12
  private getTypeAnnotation;
13
+ /**
14
+ * Attempts to gather examples from the @-example jsdoc tag.
15
+ * See https://tsdoc.org/pages/tags/example/
16
+ */
13
17
  private getExampleAnnotation;
14
18
  }
@@ -79,6 +79,10 @@ class ExtendedAnnotationsReader extends BasicAnnotationsReader_js_1.BasicAnnotat
79
79
  const text = (jsDocTag.text ?? []).map((part) => part.text).join("");
80
80
  return { type: text };
81
81
  }
82
+ /**
83
+ * Attempts to gather examples from the @-example jsdoc tag.
84
+ * See https://tsdoc.org/pages/tags/example/
85
+ */
82
86
  getExampleAnnotation(node) {
83
87
  const symbol = (0, symbolAtNode_js_1.symbolAtNode)(node);
84
88
  if (!symbol) {
@@ -95,6 +99,9 @@ class ExtendedAnnotationsReader extends BasicAnnotationsReader_js_1.BasicAnnotat
95
99
  examples.push(json5_1.default.parse(text));
96
100
  }
97
101
  catch {
102
+ // ignore examples which don't parse to valid JSON
103
+ // This could be improved to support a broader range of usages,
104
+ // such as if the example has a title (as explained in the tsdoc spec).
98
105
  }
99
106
  }
100
107
  if (examples.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"ExtendedAnnotationsReader.js","sourceRoot":"","sources":["../../../src/AnnotationsReader/ExtendedAnnotationsReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExtendedAnnotationsReader.js","sourceRoot":"","sources":["../../../src/AnnotationsReader/ExtendedAnnotationsReader.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,122 @@
1
1
  import type ts from "typescript";
2
2
  export interface Config {
3
+ /**
4
+ * Glob pattern(s) for source TypeScript files to process.
5
+ * If not provided, falls back to files from tsconfig.
6
+ */
3
7
  path?: string;
8
+ /**
9
+ * Name of the type(s)/interface(s) to generate schema for.
10
+ * Use "*" to generate schemas for all exported types.
11
+ */
4
12
  type?: string | string[];
13
+ /**
14
+ * Minify the output JSON schema (no whitespace).
15
+ * When false, the schema is pretty-printed with 2-space indentation.
16
+ * @default false
17
+ */
5
18
  minify?: boolean;
19
+ /**
20
+ * Sets the `$id` property in the root of the generated schema.
21
+ * Used for schema identification and referencing.
22
+ */
6
23
  schemaId?: string;
24
+ /**
25
+ * Path to a custom tsconfig.json file for TypeScript compilation.
26
+ * If not provided, uses default TypeScript configuration.
27
+ */
7
28
  tsconfig?: string;
29
+ /**
30
+ * Controls which types are exposed as definitions in the schema.
31
+ * - "all": Exposes all types except type literals
32
+ * - "none": Exposes no types automatically
33
+ * - "export": Only exposes exported types (respects @internal JSDoc tag)
34
+ * @default "export"
35
+ */
8
36
  expose?: "all" | "none" | "export";
37
+ /**
38
+ * Wraps the root type in a `$ref` definition.
39
+ * When false, inlines the root type definition directly.
40
+ * @default true
41
+ */
9
42
  topRef?: boolean;
43
+ /**
44
+ * Controls how JSDoc comments are parsed and included in the schema.
45
+ * - "none": Ignores all JSDoc annotations
46
+ * - "basic": Parses standard JSON Schema JSDoc tags
47
+ * - "extended": Parses all tags plus descriptions, examples, and type overrides
48
+ * @default "extended"
49
+ */
10
50
  jsDoc?: "none" | "extended" | "basic";
51
+ /**
52
+ * Adds a `markdownDescription` field alongside `description` in the schema.
53
+ * Preserves markdown formatting including newlines.
54
+ * Only works with `jsDoc: "extended"`.
55
+ * @default false
56
+ */
11
57
  markdownDescription?: boolean;
58
+ /**
59
+ * Includes the complete raw JSDoc comment as `fullDescription` in the schema.
60
+ * Only works with `jsDoc: "extended"`.
61
+ * @default false
62
+ */
12
63
  fullDescription?: boolean;
64
+ /**
65
+ * Sorts object properties alphabetically in the output.
66
+ * @default true
67
+ */
13
68
  sortProps?: boolean;
69
+ /**
70
+ * Controls whether tuples allow additional items beyond their defined length.
71
+ * @default false
72
+ */
14
73
  strictTuples?: boolean;
74
+ /**
75
+ * Skips TypeScript type checking to improve performance.
76
+ * Speeds up generation but may miss type errors.
77
+ * @default false
78
+ */
15
79
  skipTypeCheck?: boolean;
80
+ /**
81
+ * URI-encodes `$ref` values (e.g., `#/definitions/Foo%3CBar%3E`).
82
+ * When false, uses raw names in reference paths.
83
+ * @default true
84
+ */
16
85
  encodeRefs?: boolean;
86
+ /**
87
+ * Array of additional JSDoc tag names to include in the schema.
88
+ * Custom tags (e.g., `@customProperty`) are parsed and included in output.
89
+ * Values are parsed as JSON5.
90
+ * @default []
91
+ */
17
92
  extraTags?: string[];
93
+ /**
94
+ * Sets default value for `additionalProperties` on objects without index signatures.
95
+ * When false, objects get `additionalProperties: false` by default.
96
+ * When true, allows additional properties on all objects.
97
+ * @default false
98
+ */
18
99
  additionalProperties?: boolean;
100
+ /**
101
+ * Controls discriminator style for discriminated unions.
102
+ * - "json-schema": Uses `if`/`then`/`allOf` with properties containing discriminator enum
103
+ * - "open-api": Uses OpenAPI 3.x style with `discriminator: { propertyName }` and `oneOf`
104
+ * @default "json-schema"
105
+ */
19
106
  discriminatorType?: "json-schema" | "open-api";
107
+ /**
108
+ * Controls how function types are handled in the schema.
109
+ * - "fail": Throws error when encountering function types
110
+ * - "comment": Generates schema with `$comment` describing the function signature
111
+ * - "hide": Treats functions as NeverType (excluded from schema)
112
+ * @default "comment"
113
+ */
20
114
  functions?: FunctionOptions;
115
+ /**
116
+ * Pre-compiled TypeScript Program instance to use.
117
+ * Bypasses the default setup of a TypeScript program, and so some configuration options may not be applied.
118
+ * Useful for programmatic usage with existing TypeScript compilation, or for vfs scenarios where you do not want file-system representation.
119
+ */
21
120
  tsProgram?: ts.Program;
22
121
  }
23
122
  export type CompletedConfig = Config & typeof DEFAULT_CONFIG;
@@ -3,12 +3,17 @@ export type PartialDiagnostic = Omit<ts.Diagnostic, "category" | "file" | "start
3
3
  file?: ts.SourceFile;
4
4
  start?: number;
5
5
  length?: number;
6
+ /** If we should populate `file`, `source`, `start` and `length` with this node information */
6
7
  node?: ts.Node;
8
+ /** @default Error */
7
9
  category?: ts.DiagnosticCategory;
8
10
  };
11
+ /**
12
+ * Base error for ts-json-schema-generator
13
+ */
9
14
  export declare abstract class BaseError extends Error {
10
15
  readonly diagnostic: ts.Diagnostic;
11
16
  constructor(diagnostic: PartialDiagnostic);
12
17
  static createDiagnostic(diagnostic: PartialDiagnostic): ts.Diagnostic;
13
- format(): string;
18
+ format(isTTY?: string | boolean): string;
14
19
  }
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseError = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const typescript_1 = tslib_1.__importDefault(require("typescript"));
6
- const isTTY = process.env.TTY || process.stdout.isTTY;
6
+ /**
7
+ * Base error for ts-json-schema-generator
8
+ */
7
9
  class BaseError extends Error {
8
10
  diagnostic;
9
11
  constructor(diagnostic) {
@@ -11,12 +13,16 @@ class BaseError extends Error {
11
13
  this.diagnostic = BaseError.createDiagnostic(diagnostic);
12
14
  }
13
15
  static createDiagnostic(diagnostic) {
16
+ // Swap the node for the file, source, start and length properties
17
+ // sourceless nodes cannot be referenced in the diagnostic
14
18
  if (diagnostic.node && diagnostic.node.pos !== -1) {
15
19
  diagnostic.file = diagnostic.node.getSourceFile();
16
20
  diagnostic.start = diagnostic.node.getStart();
17
21
  diagnostic.length = diagnostic.node.getWidth();
18
22
  diagnostic.node = undefined;
19
23
  }
24
+ // @ts-expect-error - Differentiates from errors from the TypeScript compiler
25
+ // error TSJ - 100: message
20
26
  diagnostic.code = `J - ${diagnostic.code}`;
21
27
  return Object.assign({
22
28
  category: typescript_1.default.DiagnosticCategory.Error,
@@ -25,7 +31,7 @@ class BaseError extends Error {
25
31
  start: 0,
26
32
  }, diagnostic);
27
33
  }
28
- format() {
34
+ format(isTTY = process.env.TTY || process.stdout.isTTY) {
29
35
  const formatter = isTTY ? typescript_1.default.formatDiagnosticsWithColorAndContext : typescript_1.default.formatDiagnostics;
30
36
  return formatter([this.diagnostic], {
31
37
  getCanonicalFileName: (fileName) => fileName,
@@ -1 +1 @@
1
- {"version":3,"file":"BaseError.js","sourceRoot":"","sources":["../../../src/Error/BaseError.ts"],"names":[],"mappings":";;;;AAAA,oEAA4B;AAc5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;AAKtD,MAAsB,SAAU,SAAQ,KAAK;IAChC,UAAU,CAAgB;IAEnC,YAAY,UAA6B;QACrC,KAAK,CAAC,oBAAE,CAAC,4BAA4B,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,UAA6B;QAGjD,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YAChD,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAClD,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9C,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAE/C,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC;QAChC,CAAC;QAID,UAAU,CAAC,IAAI,GAAG,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;QAE3C,OAAO,MAAM,CAAC,MAAM,CAChB;YACI,QAAQ,EAAE,oBAAE,CAAC,kBAAkB,CAAC,KAAK;YACrC,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;SACX,EACD,UAAU,CACb,CAAC;IACN,CAAC;IAED,MAAM;QACF,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,oBAAE,CAAC,oCAAoC,CAAC,CAAC,CAAC,oBAAE,CAAC,iBAAiB,CAAC;QAEzF,OAAO,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAChC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ;YAC5C,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAE;YAC7B,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;SACzB,CAAC,CAAC;IACP,CAAC;CACJ;AA3CD,8BA2CC"}
1
+ {"version":3,"file":"BaseError.js","sourceRoot":"","sources":["../../../src/Error/BaseError.ts"],"names":[],"mappings":";;;;AAAA,oEAA4B;AAc5B;;GAEG;AACH,MAAsB,SAAU,SAAQ,KAAK;IAChC,UAAU,CAAgB;IAEnC,YAAY,UAA6B;QACrC,KAAK,CAAC,oBAAE,CAAC,4BAA4B,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,UAA6B;QACjD,kEAAkE;QAClE,0DAA0D;QAC1D,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YAChD,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAClD,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9C,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAE/C,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC;QAChC,CAAC;QAED,6EAA6E;QAC7E,2BAA2B;QAC3B,UAAU,CAAC,IAAI,GAAG,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;QAE3C,OAAO,MAAM,CAAC,MAAM,CAChB;YACI,QAAQ,EAAE,oBAAE,CAAC,kBAAkB,CAAC,KAAK;YACrC,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;SACX,EACD,UAAU,CACb,CAAC;IACN,CAAC;IAED,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK;QAClD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,oBAAE,CAAC,oCAAoC,CAAC,CAAC,CAAC,oBAAE,CAAC,iBAAiB,CAAC;QAEzF,OAAO,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAChC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ;YAC5C,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAE;YAC7B,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;SACzB,CAAC,CAAC;IACP,CAAC;CACJ;AA3CD,8BA2CC"}
@@ -42,5 +42,8 @@ export declare class BuildError extends BaseError {
42
42
  export declare class UnhandledError extends BaseError {
43
43
  readonly cause?: unknown | undefined;
44
44
  private constructor();
45
+ /**
46
+ * Creates a new error with a cause and optional node information and ensures it is not wrapped in another UnhandledError
47
+ */
45
48
  static from(message: string, node?: ts.Node, cause?: unknown): BaseError | UnhandledError;
46
49
  }
@@ -114,7 +114,12 @@ class UnhandledError extends BaseError_js_1.BaseError {
114
114
  super({ code: 109, messageText, node });
115
115
  this.cause = cause;
116
116
  }
117
+ /**
118
+ * Creates a new error with a cause and optional node information and ensures it is not wrapped in another UnhandledError
119
+ */
117
120
  static from(message, node, cause) {
121
+ // This might be called deeply inside the parser chain
122
+ // this ensures it doesn't end up with error.cause.cause.cause...
118
123
  return cause instanceof BaseError_js_1.BaseError ? cause : new UnhandledError(message, node, cause);
119
124
  }
120
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Errors.js","sourceRoot":"","sources":["../../../src/Error/Errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Errors.js","sourceRoot":"","sources":["../../../src/Error/Errors.ts"],"names":[],"mappings":"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"}
@@ -23,15 +23,20 @@ class AnnotatedNodeParser {
23
23
  const annotatedNode = this.getAnnotatedNode(node);
24
24
  let annotations = this.annotationsReader.getAnnotations(annotatedNode);
25
25
  const nullable = this.getNullable(annotatedNode);
26
+ // Short-circuit parsing the underlying type if an explicit ref annotation was passed.
26
27
  if (annotations && "$ref" in annotations) {
27
28
  return new AnnotatedType_js_1.AnnotatedType(new AnyType_js_1.AnyType(), annotations, nullable);
28
29
  }
29
30
  const baseType = this.childNodeParser.createType(node, context, reference);
31
+ // Don't return annotations for lib types such as Exclude.
32
+ // Sourceless nodes may not have a fileName, just ignore them.
30
33
  if (node.getSourceFile()?.fileName.match(/[/\\]typescript[/\\]lib[/\\]lib\.[^/\\]+\.d\.ts$/i)) {
31
34
  let specialCase = false;
35
+ // Special case for Exclude<T, U>: use the annotation of T.
32
36
  if (node.kind === typescript_1.default.SyntaxKind.TypeAliasDeclaration &&
33
37
  node.name.text === "Exclude") {
34
38
  let t = context.getArgument("T");
39
+ // Handle optional properties.
35
40
  if (t instanceof UnionType_js_1.UnionType) {
36
41
  t = (0, removeUndefined_js_1.removeUndefined)(t).newType;
37
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AnnotatedNodeParser.js","sourceRoot":"","sources":["../../../src/NodeParser/AnnotatedNodeParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnnotatedNodeParser.js","sourceRoot":"","sources":["../../../src/NodeParser/AnnotatedNodeParser.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ class ArrayNodeParser {
15
15
  }
16
16
  createType(node, context) {
17
17
  const type = this.childNodeParser.createType(node.elementType, context);
18
+ // Generics without `extends` or `defaults` cannot be resolved, so we fallback to `any`
18
19
  return new ArrayType_js_1.ArrayType(type ?? new AnyType_js_1.AnyType());
19
20
  }
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayNodeParser.js","sourceRoot":"","sources":["../../../src/NodeParser/ArrayNodeParser.ts"],"names":[],"mappings":";;;;AAAA,oEAA4B;AAG5B,mDAA6C;AAC7C,uDAAiD;AAGjD,MAAa,eAAe;IACK;IAA7B,YAA6B,eAA2B;QAA3B,oBAAe,GAAf,eAAe,CAAY;IAAG,CAAC;IAErD,YAAY,CAAC,IAAsB;QACtC,OAAO,IAAI,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,SAAS,CAAC;IACjD,CAAC;IAEM,UAAU,CAAC,IAAsB,EAAE,OAAgB;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAExE,OAAO,IAAI,wBAAS,CAAC,IAAI,IAAI,IAAI,oBAAO,EAAE,CAAC,CAAC;IAChD,CAAC;CACJ;AAZD,0CAYC"}
1
+ {"version":3,"file":"ArrayNodeParser.js","sourceRoot":"","sources":["../../../src/NodeParser/ArrayNodeParser.ts"],"names":[],"mappings":";;;;AAAA,oEAA4B;AAG5B,mDAA6C;AAC7C,uDAAiD;AAGjD,MAAa,eAAe;IACK;IAA7B,YAA6B,eAA2B;QAA3B,oBAAe,GAAf,eAAe,CAAY;IAAG,CAAC;IAErD,YAAY,CAAC,IAAsB;QACtC,OAAO,IAAI,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,SAAS,CAAC;IACjD,CAAC;IAEM,UAAU,CAAC,IAAsB,EAAE,OAAgB;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACxE,uFAAuF;QACvF,OAAO,IAAI,wBAAS,CAAC,IAAI,IAAI,IAAI,oBAAO,EAAE,CAAC,CAAC;IAChD,CAAC;CACJ;AAZD,0CAYC"}
@@ -12,6 +12,7 @@ class AsExpressionNodeParser {
12
12
  return node.kind === typescript_1.default.SyntaxKind.AsExpression;
13
13
  }
14
14
  createType(node, context) {
15
+ // only implement `as const` for now where we just ignore the as expression
15
16
  return this.childNodeParser.createType(node.expression, context);
16
17
  }
17
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AsExpressionNodeParser.js","sourceRoot":"","sources":["../../../src/NodeParser/AsExpressionNodeParser.ts"],"names":[],"mappings":";;;;AACA,oEAA4B;AAK5B,MAAa,sBAAsB;IACF;IAA7B,YAA6B,eAA2B;QAA3B,oBAAe,GAAf,eAAe,CAAY;IAAG,CAAC;IAErD,YAAY,CAAC,IAAqB;QACrC,OAAO,IAAI,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,YAAY,CAAC;IACpD,CAAC;IACM,UAAU,CAAC,IAAqB,EAAE,OAAgB;QAErD,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;CACJ;AAVD,wDAUC"}
1
+ {"version":3,"file":"AsExpressionNodeParser.js","sourceRoot":"","sources":["../../../src/NodeParser/AsExpressionNodeParser.ts"],"names":[],"mappings":";;;;AACA,oEAA4B;AAK5B,MAAa,sBAAsB;IACF;IAA7B,YAA6B,eAA2B;QAA3B,oBAAe,GAAf,eAAe,CAAY;IAAG,CAAC;IAErD,YAAY,CAAC,IAAqB;QACrC,OAAO,IAAI,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,YAAY,CAAC;IACpD,CAAC;IACM,UAAU,CAAC,IAAqB,EAAE,OAAgB;QACrD,2EAA2E;QAC3E,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;CACJ;AAVD,wDAUC"}
@@ -0,0 +1,13 @@
1
+ import ts from "typescript";
2
+ import type { Context, NodeParser } from "../NodeParser.js";
3
+ import type { SubNodeParser } from "../SubNodeParser.js";
4
+ import type { BaseType } from "../Type/BaseType.js";
5
+ export declare class BinaryExpressionNodeParser implements SubNodeParser {
6
+ protected childNodeParser: NodeParser;
7
+ constructor(childNodeParser: NodeParser);
8
+ supportsNode(node: ts.Node): boolean;
9
+ createType(node: ts.BinaryExpression, context: Context): BaseType;
10
+ private isStringLike;
11
+ private isBooleanLike;
12
+ private isDefinitelyNumberLike;
13
+ }