ts-json-schema-generator 2.0.0-next.0 → 2.0.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.
- package/README.md +45 -74
- package/dist/factory/formatter.d.ts +4 -4
- package/dist/factory/formatter.js +9 -3
- package/dist/factory/formatter.js.map +1 -1
- package/dist/factory/generator.d.ts +2 -2
- package/dist/factory/generator.js.map +1 -1
- package/dist/factory/parser.d.ts +3 -3
- package/dist/factory/parser.js +17 -14
- package/dist/factory/parser.js.map +1 -1
- package/dist/factory/program.d.ts +2 -2
- package/dist/factory/program.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/package.json +32 -31
- package/dist/src/AnnotationsReader/BasicAnnotationsReader.js +1 -0
- package/dist/src/AnnotationsReader/BasicAnnotationsReader.js.map +1 -1
- package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.d.ts +2 -1
- package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.js +9 -7
- package/dist/src/AnnotationsReader/ExtendedAnnotationsReader.js.map +1 -1
- package/dist/src/ChainNodeParser.js.map +1 -1
- package/dist/src/ChainTypeFormatter.js.map +1 -1
- package/dist/src/CircularReferenceNodeParser.js.map +1 -1
- package/dist/src/CircularReferenceTypeFormatter.js.map +1 -1
- package/dist/src/Config.d.ts +5 -0
- package/dist/src/Config.js +3 -0
- package/dist/src/Config.js.map +1 -1
- package/dist/src/Error/UnknownNodeError.js +1 -1
- package/dist/src/Error/UnknownNodeError.js.map +1 -1
- package/dist/src/ExposeNodeParser.js.map +1 -1
- package/dist/src/NodeParser/AnnotatedNodeParser.js +2 -1
- package/dist/src/NodeParser/AnnotatedNodeParser.js.map +1 -1
- package/dist/src/NodeParser/CallExpressionParser.js.map +1 -1
- package/dist/src/NodeParser/ConditionalTypeNodeParser.js.map +1 -1
- package/dist/src/NodeParser/ConstructorNodeParser.d.ts +12 -0
- package/dist/src/NodeParser/ConstructorNodeParser.js +30 -0
- package/dist/src/NodeParser/ConstructorNodeParser.js.map +1 -0
- package/dist/src/NodeParser/EnumNodeParser.js.map +1 -1
- package/dist/src/NodeParser/ExpressionWithTypeArgumentsNodeParser.js.map +1 -1
- package/dist/src/NodeParser/FunctionNodeParser.d.ts +10 -2
- package/dist/src/NodeParser/FunctionNodeParser.js +47 -4
- package/dist/src/NodeParser/FunctionNodeParser.js.map +1 -1
- package/dist/src/NodeParser/HiddenTypeNodeParser.js +2 -2
- package/dist/src/NodeParser/HiddenTypeNodeParser.js.map +1 -1
- package/dist/src/NodeParser/IndexedAccessTypeNodeParser.js +4 -0
- package/dist/src/NodeParser/IndexedAccessTypeNodeParser.js.map +1 -1
- package/dist/src/NodeParser/InferTypeNodeParser.js.map +1 -1
- package/dist/src/NodeParser/InterfaceAndClassNodeParser.js +16 -4
- package/dist/src/NodeParser/InterfaceAndClassNodeParser.js.map +1 -1
- package/dist/src/NodeParser/IntersectionNodeParser.js.map +1 -1
- package/dist/src/NodeParser/IntrinsicNodeParser.js.map +1 -1
- package/dist/src/NodeParser/MappedTypeNodeParser.d.ts +1 -1
- package/dist/src/NodeParser/MappedTypeNodeParser.js +16 -7
- package/dist/src/NodeParser/MappedTypeNodeParser.js.map +1 -1
- package/dist/src/NodeParser/NamedTupleMemberNodeParser.js.map +1 -1
- package/dist/src/NodeParser/NumberTypeNodeParser.js +1 -1
- package/dist/src/NodeParser/NumberTypeNodeParser.js.map +1 -1
- package/dist/src/NodeParser/PrefixUnaryExpressionNodeParser.js.map +1 -1
- package/dist/src/NodeParser/PropertyAccessExpressionParser.js.map +1 -1
- package/dist/src/NodeParser/SatisfiesNodeParser.d.ts +10 -0
- package/dist/src/NodeParser/SatisfiesNodeParser.js +20 -0
- package/dist/src/NodeParser/SatisfiesNodeParser.js.map +1 -0
- package/dist/src/NodeParser/StringTemplateLiteralNodeParser.js +21 -11
- package/dist/src/NodeParser/StringTemplateLiteralNodeParser.js.map +1 -1
- package/dist/src/NodeParser/TupleNodeParser.js.map +1 -1
- package/dist/src/NodeParser/TypeAliasNodeParser.js.map +1 -1
- package/dist/src/NodeParser/TypeLiteralNodeParser.d.ts +3 -1
- package/dist/src/NodeParser/TypeLiteralNodeParser.js +21 -10
- package/dist/src/NodeParser/TypeLiteralNodeParser.js.map +1 -1
- package/dist/src/NodeParser/TypeOperatorNodeParser.js.map +1 -1
- package/dist/src/NodeParser/TypeReferenceNodeParser.d.ts +2 -2
- package/dist/src/NodeParser/TypeReferenceNodeParser.js +20 -15
- package/dist/src/NodeParser/TypeReferenceNodeParser.js.map +1 -1
- package/dist/src/NodeParser/TypeofNodeParser.js +13 -6
- package/dist/src/NodeParser/TypeofNodeParser.js.map +1 -1
- package/dist/src/NodeParser/UnionNodeParser.js.map +1 -1
- package/dist/src/NodeParser.js.map +1 -1
- package/dist/src/Schema/Definition.d.ts +1 -1
- package/dist/src/Schema/RawType.d.ts +2 -2
- package/dist/src/Schema/Schema.d.ts +1 -1
- package/dist/src/SchemaGenerator.js +21 -2
- package/dist/src/SchemaGenerator.js.map +1 -1
- package/dist/src/TopRefNodeParser.js.map +1 -1
- package/dist/src/Type/AliasType.js.map +1 -1
- package/dist/src/Type/AnnotatedType.js.map +1 -1
- package/dist/src/Type/ConstructorType.d.ts +11 -0
- package/dist/src/Type/ConstructorType.js +27 -0
- package/dist/src/Type/ConstructorType.js.map +1 -0
- package/dist/src/Type/DefinitionType.js.map +1 -1
- package/dist/src/Type/EnumType.d.ts +1 -1
- package/dist/src/Type/EnumType.js.map +1 -1
- package/dist/src/Type/FunctionType.d.ts +7 -0
- package/dist/src/Type/FunctionType.js +14 -0
- package/dist/src/Type/FunctionType.js.map +1 -1
- package/dist/src/Type/HiddenType.d.ts +4 -0
- package/dist/src/Type/HiddenType.js +11 -0
- package/dist/src/Type/HiddenType.js.map +1 -0
- package/dist/src/Type/LiteralType.d.ts +1 -1
- package/dist/src/Type/ObjectType.js.map +1 -1
- package/dist/src/Type/ReferenceType.d.ts +1 -0
- package/dist/src/Type/ReferenceType.js +3 -0
- package/dist/src/Type/ReferenceType.js.map +1 -1
- package/dist/src/Type/RestType.js.map +1 -1
- package/dist/src/Type/TupleType.js.map +1 -1
- package/dist/src/Type/UnionType.js.map +1 -1
- package/dist/src/Type/UnknownType.d.ts +1 -3
- package/dist/src/Type/UnknownType.js +1 -5
- package/dist/src/Type/UnknownType.js.map +1 -1
- package/dist/src/TypeFormatter/AliasTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/AliasTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/AnnotatedTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/AnnotatedTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/AnyTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/AnyTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/ArrayTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/ArrayTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/BooleanTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/BooleanTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/ConstructorTypeFormatter.d.ts +5 -0
- package/dist/src/TypeFormatter/ConstructorTypeFormatter.js +12 -0
- package/dist/src/TypeFormatter/ConstructorTypeFormatter.js.map +1 -0
- package/dist/src/TypeFormatter/DefinitionTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/DefinitionTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/EnumTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/FunctionTypeFormatter.d.ts +14 -0
- package/dist/src/TypeFormatter/FunctionTypeFormatter.js +34 -0
- package/dist/src/TypeFormatter/FunctionTypeFormatter.js.map +1 -0
- package/dist/src/TypeFormatter/HiddenTypeFormatter.d.ts +9 -0
- package/dist/src/TypeFormatter/HiddenTypeFormatter.js +17 -0
- package/dist/src/TypeFormatter/HiddenTypeFormatter.js.map +1 -0
- package/dist/src/TypeFormatter/IntersectionTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/IntersectionTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/LiteralTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/LiteralTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/LiteralUnionTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/LiteralUnionTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/NeverTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/NeverTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/NullTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/NumberTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/NumberTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/ObjectTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/ObjectTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/OptionalTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/OptionalTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/PrimitiveUnionTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/PrimitiveUnionTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/ReferenceTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/ReferenceTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/RestTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/StringTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/StringTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/SymbolTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/SymbolTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/TupleTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/UndefinedTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/UndefinedTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/UnionTypeFormatter.d.ts +8 -2
- package/dist/src/TypeFormatter/UnionTypeFormatter.js +59 -22
- package/dist/src/TypeFormatter/UnionTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/UnknownTypeFormatter.d.ts +1 -1
- package/dist/src/TypeFormatter/UnknownTypeFormatter.js +1 -3
- package/dist/src/TypeFormatter/UnknownTypeFormatter.js.map +1 -1
- package/dist/src/TypeFormatter/VoidTypeFormatter.d.ts +1 -1
- package/dist/src/Utils/String.js.map +1 -1
- package/dist/src/Utils/allOfDefinition.js +1 -1
- package/dist/src/Utils/allOfDefinition.js.map +1 -1
- package/dist/src/Utils/assert.js.map +1 -1
- package/dist/src/Utils/deepMerge.js +1 -1
- package/dist/src/Utils/deepMerge.js.map +1 -1
- package/dist/src/Utils/derefType.js +4 -4
- package/dist/src/Utils/derefType.js.map +1 -1
- package/dist/src/Utils/extractLiterals.js +16 -7
- package/dist/src/Utils/extractLiterals.js.map +1 -1
- package/dist/src/Utils/formatError.js.map +1 -1
- package/dist/src/Utils/intersectionOfArrays.js.map +1 -1
- package/dist/src/Utils/isAssignableTo.js.map +1 -1
- package/dist/src/Utils/modifiers.d.ts +3 -3
- package/dist/src/Utils/modifiers.js.map +1 -1
- package/dist/src/Utils/narrowType.js.map +1 -1
- package/dist/src/Utils/nodeKey.d.ts +1 -1
- package/dist/src/Utils/nodeKey.js +10 -7
- package/dist/src/Utils/nodeKey.js.map +1 -1
- package/dist/src/Utils/preserveAnnotation.js.map +1 -1
- package/dist/src/Utils/removeUndefined.js.map +1 -1
- package/dist/src/Utils/removeUnreachable.js +3 -2
- package/dist/src/Utils/removeUnreachable.js.map +1 -1
- package/dist/src/Utils/typeKeys.js.map +1 -1
- package/dist/src/Utils/typeName.js.map +1 -1
- package/dist/src/Utils/uniqueArray.js.map +1 -1
- package/dist/src/Utils/uniqueTypeArray.js.map +1 -1
- package/dist/test/config.test.d.ts +3 -3
- package/dist/test/config.test.js +35 -6
- package/dist/test/config.test.js.map +1 -1
- package/dist/test/invalid-data.test.js +4 -2
- package/dist/test/invalid-data.test.js.map +1 -1
- package/dist/test/utils.d.ts +4 -3
- package/dist/test/utils.js +9 -11
- package/dist/test/utils.js.map +1 -1
- package/dist/test/valid-data/annotation-default/main.d.ts +1 -1
- package/dist/test/valid-data/object-required/main.d.ts +5 -0
- package/dist/test/valid-data/object-required/main.js +3 -0
- package/dist/test/valid-data/object-required/main.js.map +1 -0
- package/dist/test/valid-data/object-required/samples.d.ts +3 -0
- package/dist/test/valid-data/object-required/samples.js +27 -0
- package/dist/test/valid-data/object-required/samples.js.map +1 -0
- package/dist/test/valid-data-annotations.test.js +28 -22
- package/dist/test/valid-data-annotations.test.js.map +1 -1
- package/dist/test/valid-data-other.test.js +40 -8
- package/dist/test/valid-data-other.test.js.map +1 -1
- package/dist/test/valid-data-struct.test.js +2 -1
- package/dist/test/valid-data-struct.test.js.map +1 -1
- package/dist/test/valid-data-type.test.js +13 -6
- package/dist/test/valid-data-type.test.js.map +1 -1
- package/dist/test/vega-lite.test.js +4 -3
- package/dist/test/vega-lite.test.js.map +1 -1
- package/dist/ts-json-schema-generator.js +10 -2
- package/dist/ts-json-schema-generator.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/factory/formatter.ts +13 -6
- package/factory/generator.ts +2 -2
- package/factory/parser.ts +25 -16
- package/factory/program.ts +2 -2
- package/index.ts +4 -1
- package/package.json +32 -31
- package/src/AnnotationsReader/BasicAnnotationsReader.ts +2 -0
- package/src/AnnotationsReader/ExtendedAnnotationsReader.ts +14 -8
- package/src/ChainNodeParser.ts +4 -1
- package/src/Config.ts +10 -0
- package/src/Error/UnknownNodeError.ts +9 -2
- package/src/NodeParser/AnnotatedNodeParser.ts +6 -2
- package/src/NodeParser/CallExpressionParser.ts +4 -1
- package/src/NodeParser/ConditionalTypeNodeParser.ts +8 -2
- package/src/NodeParser/ConstructorNodeParser.ts +31 -0
- package/src/NodeParser/ExpressionWithTypeArgumentsNodeParser.ts +4 -1
- package/src/NodeParser/FunctionNodeParser.ts +82 -8
- package/src/NodeParser/HiddenTypeNodeParser.ts +2 -2
- package/src/NodeParser/IndexedAccessTypeNodeParser.ts +8 -1
- package/src/NodeParser/InferTypeNodeParser.ts +4 -1
- package/src/NodeParser/InterfaceAndClassNodeParser.ts +34 -15
- package/src/NodeParser/IntersectionNodeParser.ts +4 -1
- package/src/NodeParser/MappedTypeNodeParser.ts +22 -9
- package/src/NodeParser/NumberTypeNodeParser.ts +1 -1
- package/src/NodeParser/PropertyAccessExpressionParser.ts +4 -1
- package/src/NodeParser/SatisfiesNodeParser.ts +15 -0
- package/src/NodeParser/StringTemplateLiteralNodeParser.ts +25 -14
- package/src/NodeParser/TupleNodeParser.ts +4 -1
- package/src/NodeParser/TypeAliasNodeParser.ts +4 -1
- package/src/NodeParser/TypeLiteralNodeParser.ts +40 -12
- package/src/NodeParser/TypeReferenceNodeParser.ts +56 -25
- package/src/NodeParser/TypeofNodeParser.ts +18 -13
- package/src/NodeParser/UnionNodeParser.ts +4 -1
- package/src/SchemaGenerator.ts +21 -1
- package/src/Type/AliasType.ts +4 -1
- package/src/Type/AnnotatedType.ts +5 -1
- package/src/Type/ConstructorType.ts +32 -0
- package/src/Type/DefinitionType.ts +4 -1
- package/src/Type/EnumType.ts +4 -1
- package/src/Type/FunctionType.ts +23 -0
- package/src/Type/HiddenType.ts +7 -0
- package/src/Type/ObjectType.ts +5 -1
- package/src/Type/ReferenceType.ts +4 -0
- package/src/Type/RestType.ts +4 -1
- package/src/Type/UnionType.ts +0 -1
- package/src/Type/UnknownType.ts +1 -5
- package/src/TypeFormatter/AliasTypeFormatter.ts +1 -1
- package/src/TypeFormatter/AnnotatedTypeFormatter.ts +1 -1
- package/src/TypeFormatter/AnyTypeFormatter.ts +1 -1
- package/src/TypeFormatter/ArrayTypeFormatter.ts +1 -1
- package/src/TypeFormatter/BooleanTypeFormatter.ts +1 -1
- package/src/TypeFormatter/ConstructorTypeFormatter.ts +9 -0
- package/src/TypeFormatter/DefinitionTypeFormatter.ts +5 -2
- package/src/TypeFormatter/EnumTypeFormatter.ts +1 -1
- package/src/TypeFormatter/FunctionTypeFormatter.ts +39 -0
- package/src/TypeFormatter/HiddenTypeFormatter.ts +16 -0
- package/src/TypeFormatter/IntersectionTypeFormatter.ts +1 -1
- package/src/TypeFormatter/LiteralTypeFormatter.ts +1 -1
- package/src/TypeFormatter/LiteralUnionTypeFormatter.ts +1 -1
- package/src/TypeFormatter/NeverTypeFormatter.ts +1 -1
- package/src/TypeFormatter/NullTypeFormatter.ts +1 -1
- package/src/TypeFormatter/NumberTypeFormatter.ts +1 -1
- package/src/TypeFormatter/ObjectTypeFormatter.ts +1 -1
- package/src/TypeFormatter/OptionalTypeFormatter.ts +1 -1
- package/src/TypeFormatter/PrimitiveUnionTypeFormatter.ts +1 -1
- package/src/TypeFormatter/ReferenceTypeFormatter.ts +5 -2
- package/src/TypeFormatter/StringTypeFormatter.ts +1 -1
- package/src/TypeFormatter/SymbolTypeFormatter.ts +1 -1
- package/src/TypeFormatter/UndefinedTypeFormatter.ts +1 -1
- package/src/TypeFormatter/UnionTypeFormatter.ts +72 -29
- package/src/TypeFormatter/UnknownTypeFormatter.ts +2 -4
- package/src/TypeFormatter/VoidTypeFormatter.ts +1 -1
- package/src/Utils/allOfDefinition.ts +1 -1
- package/src/Utils/deepMerge.ts +1 -1
- package/src/Utils/derefType.ts +7 -6
- package/src/Utils/extractLiterals.ts +18 -7
- package/src/Utils/intersectionOfArrays.ts +2 -2
- package/src/Utils/modifiers.ts +3 -3
- package/src/Utils/nodeKey.ts +16 -9
- package/src/Utils/removeUnreachable.ts +2 -2
- package/ts-json-schema-generator.ts +21 -8
- package/dist/src/NodeParser/FunctionParser.d.ts +0 -12
- package/dist/src/NodeParser/FunctionParser.js +0 -46
- package/dist/src/NodeParser/FunctionParser.js.map +0 -1
- package/src/NodeParser/FunctionParser.ts +0 -59
package/README.md
CHANGED
|
@@ -18,6 +18,14 @@ This project is made possible by a [community of contributors](https://github.co
|
|
|
18
18
|
|
|
19
19
|
## CLI Usage
|
|
20
20
|
|
|
21
|
+
Run the schema generator with npx:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npx ts-json-schema-generator --path 'my/project/**/*.ts' --type 'My.Type.Name'
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Or install the package and then run it
|
|
28
|
+
|
|
21
29
|
```bash
|
|
22
30
|
npm install --save ts-json-schema-generator
|
|
23
31
|
./node_modules/.bin/ts-json-schema-generator --path 'my/project/**/*.ts' --type 'My.Type.Name'
|
|
@@ -25,6 +33,33 @@ npm install --save ts-json-schema-generator
|
|
|
25
33
|
|
|
26
34
|
Note that different platforms (e.g. Windows) may use different path separators so you may have to adjust the command above.
|
|
27
35
|
|
|
36
|
+
Also note that you need to quote paths with `*` as otherwise the shell will expand the paths and therefore only pass the first path to the generator.
|
|
37
|
+
|
|
38
|
+
### Options
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
-p, --path <path> Source file path
|
|
42
|
+
-t, --type <name> Type name
|
|
43
|
+
-i, --id <name> $id for generated schema
|
|
44
|
+
-f, --tsconfig <path> Custom tsconfig.json path
|
|
45
|
+
-e, --expose <expose> Type exposing (choices: "all", "none", "export", default: "export")
|
|
46
|
+
-j, --jsDoc <extended> Read JsDoc annotations (choices: "none", "basic", "extended", default: "extended")
|
|
47
|
+
--markdown-description Generate `markdownDescription` in addition to `description`.
|
|
48
|
+
--functions <functions> How to handle functions. `fail` will throw an error. `comment` will add a comment. `hide` will treat the function like a NeverType or HiddenType.
|
|
49
|
+
(choices: "fail", "comment", "hide", default: "comment")
|
|
50
|
+
--minify Minify generated schema (default: false)
|
|
51
|
+
--unstable Do not sort properties
|
|
52
|
+
--strict-tuples Do not allow additional items on tuples
|
|
53
|
+
--no-top-ref Do not create a top-level $ref definition
|
|
54
|
+
--no-type-check Skip type checks to improve performance
|
|
55
|
+
--no-ref-encode Do not encode references
|
|
56
|
+
-o, --out <file> Set the output file (default: stdout)
|
|
57
|
+
--validation-keywords [value] Provide additional validation keywords to include (default: [])
|
|
58
|
+
--additional-properties Allow additional properties for objects with no index signature (default: false)
|
|
59
|
+
-V, --version output the version number
|
|
60
|
+
-h, --help display help for command
|
|
61
|
+
```
|
|
62
|
+
|
|
28
63
|
## Programmatic Usage
|
|
29
64
|
|
|
30
65
|
```js
|
|
@@ -40,11 +75,11 @@ const config = {
|
|
|
40
75
|
type: "*", // Or <type-name> if you want to generate schema for that one type only
|
|
41
76
|
};
|
|
42
77
|
|
|
43
|
-
const
|
|
78
|
+
const outputPath = "path/to/output/file";
|
|
44
79
|
|
|
45
80
|
const schema = tsj.createGenerator(config).createSchema(config.type);
|
|
46
81
|
const schemaString = JSON.stringify(schema, null, 2);
|
|
47
|
-
fs.writeFile(
|
|
82
|
+
fs.writeFile(outputPath, schemaString, (err) => {
|
|
48
83
|
if (err) throw err;
|
|
49
84
|
});
|
|
50
85
|
```
|
|
@@ -55,7 +90,7 @@ Run the schema generator via `node main.js`.
|
|
|
55
90
|
|
|
56
91
|
Extending the built-in formatting is possible by creating a custom formatter and adding it to the main formatter:
|
|
57
92
|
|
|
58
|
-
1. First we create a formatter, in this case for formatting function types:
|
|
93
|
+
1. First we create a formatter, in this case for formatting function types (note that there is a built in one):
|
|
59
94
|
|
|
60
95
|
```ts
|
|
61
96
|
// my-function-formatter.ts
|
|
@@ -66,7 +101,7 @@ export class MyFunctionTypeFormatter implements SubTypeFormatter {
|
|
|
66
101
|
// You can skip this line if you don't need childTypeFormatter
|
|
67
102
|
public constructor(private childTypeFormatter: TypeFormatter) {}
|
|
68
103
|
|
|
69
|
-
public supportsType(type:
|
|
104
|
+
public supportsType(type: BaseType): boolean {
|
|
70
105
|
return type instanceof FunctionType;
|
|
71
106
|
}
|
|
72
107
|
|
|
@@ -121,9 +156,10 @@ const program = createProgram(config);
|
|
|
121
156
|
const parser = createParser(program, config);
|
|
122
157
|
const generator = new SchemaGenerator(program, parser, formatter, config);
|
|
123
158
|
const schema = generator.createSchema(config.type);
|
|
159
|
+
const outputPath = "path/to/output/file";
|
|
124
160
|
|
|
125
161
|
const schemaString = JSON.stringify(schema, null, 2);
|
|
126
|
-
fs.writeFile(
|
|
162
|
+
fs.writeFile(outputPath, schemaString, (err) => {
|
|
127
163
|
if (err) throw err;
|
|
128
164
|
});
|
|
129
165
|
```
|
|
@@ -173,86 +209,20 @@ const parser = createParser(program, config, (prs) => {
|
|
|
173
209
|
const formatter = createFormatter(config);
|
|
174
210
|
const generator = new SchemaGenerator(program, parser, formatter, config);
|
|
175
211
|
const schema = generator.createSchema(config.type);
|
|
212
|
+
const outputPath = "path/to/output/file";
|
|
176
213
|
|
|
177
214
|
const schemaString = JSON.stringify(schema, null, 2);
|
|
178
|
-
fs.writeFile(
|
|
215
|
+
fs.writeFile(outputPath, schemaString, (err) => {
|
|
179
216
|
if (err) throw err;
|
|
180
217
|
});
|
|
181
218
|
```
|
|
182
219
|
|
|
183
|
-
## Options
|
|
184
|
-
|
|
185
|
-
```
|
|
186
|
-
-p, --path 'index.ts'
|
|
187
|
-
The path to the TypeScript source file. If this is not provided, the type will be searched in the project specified in the `.tsconfig`.
|
|
188
|
-
|
|
189
|
-
-t, --type 'My.Type.Name'
|
|
190
|
-
The type the generated schema will represent. If omitted, the generated schema will contain all
|
|
191
|
-
types found in the files matching path. The same is true if '*' is specified.
|
|
192
|
-
|
|
193
|
-
-i, --id 'generatedSchemaId'
|
|
194
|
-
The `$id` of the generated schema. If omitted, there will be no `$id`.
|
|
195
|
-
|
|
196
|
-
-e, --expose <all|none|export>
|
|
197
|
-
all: Create shared $ref definitions for all types.
|
|
198
|
-
none: Do not create shared $ref definitions.
|
|
199
|
-
export (default): Create shared $ref definitions only for exported types (not tagged as `@internal`).
|
|
200
|
-
|
|
201
|
-
-f, --tsconfig 'my/project/tsconfig.json'
|
|
202
|
-
Use a custom tsconfig file for processing typescript (see https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) instead of the default:
|
|
203
|
-
{
|
|
204
|
-
"compilerOptions": {
|
|
205
|
-
"noEmit": true,
|
|
206
|
-
"emitDecoratorMetadata": true,
|
|
207
|
-
"experimentalDecorators": true,
|
|
208
|
-
"target": "ES5",
|
|
209
|
-
"module": "CommonJS",
|
|
210
|
-
"strictNullChecks": false,
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
-j, --jsDoc <extended|none|basic>
|
|
215
|
-
none: Do not use JsDoc annotations.
|
|
216
|
-
basic: Read JsDoc annotations to provide schema properties.
|
|
217
|
-
extended (default): Also read @nullable, and @asType annotations.
|
|
218
|
-
|
|
219
|
-
--unstable
|
|
220
|
-
Do not sort properties.
|
|
221
|
-
|
|
222
|
-
--strict-tuples
|
|
223
|
-
Do not allow additional items on tuples.
|
|
224
|
-
|
|
225
|
-
--no-top-ref
|
|
226
|
-
Do not create a top-level $ref definition.
|
|
227
|
-
|
|
228
|
-
--no-type-check
|
|
229
|
-
Skip type checks for better performance.
|
|
230
|
-
|
|
231
|
-
--no-ref-encode
|
|
232
|
-
Do not encode references. According to the standard, references must be valid URIs but some tools do not support encoded references.
|
|
233
|
-
|
|
234
|
-
--validation-keywords
|
|
235
|
-
Provide additional validation keywords to include.
|
|
236
|
-
|
|
237
|
-
-o, --out
|
|
238
|
-
Specify the output file path. Without this option, the generator logs the response in the console.
|
|
239
|
-
|
|
240
|
-
--additional-properties <true|false>
|
|
241
|
-
Controls whether or not to allow additional properties for objects that have no index signature.
|
|
242
|
-
|
|
243
|
-
true: Additional properties are allowed
|
|
244
|
-
false (default): Additional properties are not allowed
|
|
245
|
-
|
|
246
|
-
--minify
|
|
247
|
-
Minify generated schema (default: false)
|
|
248
|
-
```
|
|
249
|
-
|
|
250
220
|
## Current state
|
|
251
221
|
|
|
252
222
|
- `interface` types
|
|
253
223
|
- `enum` types
|
|
254
224
|
- `union`, `tuple`, `type[]` types
|
|
255
|
-
- `Date`, `RegExp` types
|
|
225
|
+
- `Date`, `RegExp`, `URL` types
|
|
256
226
|
- `string`, `boolean`, `number` types
|
|
257
227
|
- `"value"`, `123`, `true`, `false`, `null`, `undefined` literals
|
|
258
228
|
- type aliases
|
|
@@ -260,6 +230,7 @@ fs.writeFile(output_path, schemaString, (err) => {
|
|
|
260
230
|
- `typeof`
|
|
261
231
|
- `keyof`
|
|
262
232
|
- conditional types
|
|
233
|
+
- functions
|
|
263
234
|
|
|
264
235
|
## Run locally
|
|
265
236
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Config } from "../src/Config";
|
|
2
1
|
import { CircularReferenceTypeFormatter } from "../src/CircularReferenceTypeFormatter";
|
|
3
|
-
import {
|
|
2
|
+
import { CompletedConfig } from "../src/Config";
|
|
4
3
|
import { MutableTypeFormatter } from "../src/MutableTypeFormatter";
|
|
5
|
-
|
|
6
|
-
export
|
|
4
|
+
import { TypeFormatter } from "../src/TypeFormatter";
|
|
5
|
+
export type FormatterAugmentor = (formatter: MutableTypeFormatter, circularReferenceTypeFormatter: CircularReferenceTypeFormatter) => void;
|
|
6
|
+
export declare function createFormatter(config: CompletedConfig, augmentor?: FormatterAugmentor): TypeFormatter;
|
|
@@ -6,14 +6,17 @@ const CircularReferenceTypeFormatter_1 = require("../src/CircularReferenceTypeFo
|
|
|
6
6
|
const AliasTypeFormatter_1 = require("../src/TypeFormatter/AliasTypeFormatter");
|
|
7
7
|
const AnnotatedTypeFormatter_1 = require("../src/TypeFormatter/AnnotatedTypeFormatter");
|
|
8
8
|
const AnyTypeFormatter_1 = require("../src/TypeFormatter/AnyTypeFormatter");
|
|
9
|
-
const SymbolTypeFormatter_1 = require("../src/TypeFormatter/SymbolTypeFormatter");
|
|
10
9
|
const ArrayTypeFormatter_1 = require("../src/TypeFormatter/ArrayTypeFormatter");
|
|
11
10
|
const BooleanTypeFormatter_1 = require("../src/TypeFormatter/BooleanTypeFormatter");
|
|
11
|
+
const ConstructorTypeFormatter_1 = require("../src/TypeFormatter/ConstructorTypeFormatter");
|
|
12
12
|
const DefinitionTypeFormatter_1 = require("../src/TypeFormatter/DefinitionTypeFormatter");
|
|
13
13
|
const EnumTypeFormatter_1 = require("../src/TypeFormatter/EnumTypeFormatter");
|
|
14
|
+
const FunctionTypeFormatter_1 = require("../src/TypeFormatter/FunctionTypeFormatter");
|
|
15
|
+
const HiddenTypeFormatter_1 = require("../src/TypeFormatter/HiddenTypeFormatter");
|
|
14
16
|
const IntersectionTypeFormatter_1 = require("../src/TypeFormatter/IntersectionTypeFormatter");
|
|
15
17
|
const LiteralTypeFormatter_1 = require("../src/TypeFormatter/LiteralTypeFormatter");
|
|
16
18
|
const LiteralUnionTypeFormatter_1 = require("../src/TypeFormatter/LiteralUnionTypeFormatter");
|
|
19
|
+
const NeverTypeFormatter_1 = require("../src/TypeFormatter/NeverTypeFormatter");
|
|
17
20
|
const NullTypeFormatter_1 = require("../src/TypeFormatter/NullTypeFormatter");
|
|
18
21
|
const NumberTypeFormatter_1 = require("../src/TypeFormatter/NumberTypeFormatter");
|
|
19
22
|
const ObjectTypeFormatter_1 = require("../src/TypeFormatter/ObjectTypeFormatter");
|
|
@@ -22,12 +25,12 @@ const PrimitiveUnionTypeFormatter_1 = require("../src/TypeFormatter/PrimitiveUni
|
|
|
22
25
|
const ReferenceTypeFormatter_1 = require("../src/TypeFormatter/ReferenceTypeFormatter");
|
|
23
26
|
const RestTypeFormatter_1 = require("../src/TypeFormatter/RestTypeFormatter");
|
|
24
27
|
const StringTypeFormatter_1 = require("../src/TypeFormatter/StringTypeFormatter");
|
|
28
|
+
const SymbolTypeFormatter_1 = require("../src/TypeFormatter/SymbolTypeFormatter");
|
|
25
29
|
const TupleTypeFormatter_1 = require("../src/TypeFormatter/TupleTypeFormatter");
|
|
26
30
|
const UndefinedTypeFormatter_1 = require("../src/TypeFormatter/UndefinedTypeFormatter");
|
|
27
31
|
const UnionTypeFormatter_1 = require("../src/TypeFormatter/UnionTypeFormatter");
|
|
28
32
|
const UnknownTypeFormatter_1 = require("../src/TypeFormatter/UnknownTypeFormatter");
|
|
29
33
|
const VoidTypeFormatter_1 = require("../src/TypeFormatter/VoidTypeFormatter");
|
|
30
|
-
const NeverTypeFormatter_1 = require("../src/TypeFormatter/NeverTypeFormatter");
|
|
31
34
|
function createFormatter(config, augmentor) {
|
|
32
35
|
var _a, _b;
|
|
33
36
|
const chainTypeFormatter = new ChainTypeFormatter_1.ChainTypeFormatter([]);
|
|
@@ -46,6 +49,7 @@ function createFormatter(config, augmentor) {
|
|
|
46
49
|
.addTypeFormatter(new UndefinedTypeFormatter_1.UndefinedTypeFormatter())
|
|
47
50
|
.addTypeFormatter(new UnknownTypeFormatter_1.UnknownTypeFormatter())
|
|
48
51
|
.addTypeFormatter(new VoidTypeFormatter_1.VoidTypeFormatter())
|
|
52
|
+
.addTypeFormatter(new HiddenTypeFormatter_1.HiddenTypeFormatter())
|
|
49
53
|
.addTypeFormatter(new NeverTypeFormatter_1.NeverTypeFormatter())
|
|
50
54
|
.addTypeFormatter(new LiteralTypeFormatter_1.LiteralTypeFormatter())
|
|
51
55
|
.addTypeFormatter(new EnumTypeFormatter_1.EnumTypeFormatter())
|
|
@@ -55,11 +59,13 @@ function createFormatter(config, augmentor) {
|
|
|
55
59
|
.addTypeFormatter(new AliasTypeFormatter_1.AliasTypeFormatter(circularReferenceTypeFormatter))
|
|
56
60
|
.addTypeFormatter(new PrimitiveUnionTypeFormatter_1.PrimitiveUnionTypeFormatter())
|
|
57
61
|
.addTypeFormatter(new LiteralUnionTypeFormatter_1.LiteralUnionTypeFormatter())
|
|
62
|
+
.addTypeFormatter(new ConstructorTypeFormatter_1.ConstructorTypeFormatter(circularReferenceTypeFormatter, config.functions))
|
|
63
|
+
.addTypeFormatter(new FunctionTypeFormatter_1.FunctionTypeFormatter(circularReferenceTypeFormatter, config.functions))
|
|
58
64
|
.addTypeFormatter(new OptionalTypeFormatter_1.OptionalTypeFormatter(circularReferenceTypeFormatter))
|
|
59
65
|
.addTypeFormatter(new RestTypeFormatter_1.RestTypeFormatter(circularReferenceTypeFormatter))
|
|
60
66
|
.addTypeFormatter(new ArrayTypeFormatter_1.ArrayTypeFormatter(circularReferenceTypeFormatter))
|
|
61
67
|
.addTypeFormatter(new TupleTypeFormatter_1.TupleTypeFormatter(circularReferenceTypeFormatter))
|
|
62
|
-
.addTypeFormatter(new UnionTypeFormatter_1.UnionTypeFormatter(circularReferenceTypeFormatter))
|
|
68
|
+
.addTypeFormatter(new UnionTypeFormatter_1.UnionTypeFormatter(circularReferenceTypeFormatter, config.discriminatorType))
|
|
63
69
|
.addTypeFormatter(new IntersectionTypeFormatter_1.IntersectionTypeFormatter(circularReferenceTypeFormatter));
|
|
64
70
|
return circularReferenceTypeFormatter;
|
|
65
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../factory/formatter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../factory/formatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CompletedConfig } from "../src/Config";
|
|
2
2
|
import { SchemaGenerator } from "../src/SchemaGenerator";
|
|
3
|
-
export declare function createGenerator(config:
|
|
3
|
+
export declare function createGenerator(config: CompletedConfig): SchemaGenerator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../factory/generator.ts"],"names":[],"mappings":";;;AACA,4DAAyD;AACzD,2CAA8C;AAC9C,qCAAwC;AACxC,uCAA0C;AAE1C,SAAgB,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../factory/generator.ts"],"names":[],"mappings":";;;AACA,4DAAyD;AACzD,2CAA8C;AAC9C,qCAAwC;AACxC,uCAA0C;AAE1C,SAAgB,eAAe,CAAC,MAAuB;IACnD,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,MAAM,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAA,2BAAe,EAAC,MAAM,CAAC,CAAC;IAE1C,OAAO,IAAI,iCAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC;AAND,0CAMC"}
|
package/dist/factory/parser.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
|
-
import {
|
|
2
|
+
import { CompletedConfig } from "../src/Config";
|
|
3
3
|
import { MutableParser } from "../src/MutableParser";
|
|
4
4
|
import { NodeParser } from "../src/NodeParser";
|
|
5
|
-
export
|
|
6
|
-
export declare function createParser(program: ts.Program, config:
|
|
5
|
+
export type ParserAugmentor = (parser: MutableParser) => void;
|
|
6
|
+
export declare function createParser(program: ts.Program, config: CompletedConfig, augmentor?: ParserAugmentor): NodeParser;
|
package/dist/factory/parser.js
CHANGED
|
@@ -5,7 +5,6 @@ const BasicAnnotationsReader_1 = require("../src/AnnotationsReader/BasicAnnotati
|
|
|
5
5
|
const ExtendedAnnotationsReader_1 = require("../src/AnnotationsReader/ExtendedAnnotationsReader");
|
|
6
6
|
const ChainNodeParser_1 = require("../src/ChainNodeParser");
|
|
7
7
|
const CircularReferenceNodeParser_1 = require("../src/CircularReferenceNodeParser");
|
|
8
|
-
const Config_1 = require("../src/Config");
|
|
9
8
|
const ExposeNodeParser_1 = require("../src/ExposeNodeParser");
|
|
10
9
|
const AnnotatedNodeParser_1 = require("../src/NodeParser/AnnotatedNodeParser");
|
|
11
10
|
const AnyTypeNodeParser_1 = require("../src/NodeParser/AnyTypeNodeParser");
|
|
@@ -16,10 +15,10 @@ const BooleanLiteralNodeParser_1 = require("../src/NodeParser/BooleanLiteralNode
|
|
|
16
15
|
const BooleanTypeNodeParser_1 = require("../src/NodeParser/BooleanTypeNodeParser");
|
|
17
16
|
const CallExpressionParser_1 = require("../src/NodeParser/CallExpressionParser");
|
|
18
17
|
const ConditionalTypeNodeParser_1 = require("../src/NodeParser/ConditionalTypeNodeParser");
|
|
18
|
+
const ConstructorNodeParser_1 = require("../src/NodeParser/ConstructorNodeParser");
|
|
19
19
|
const EnumNodeParser_1 = require("../src/NodeParser/EnumNodeParser");
|
|
20
20
|
const ExpressionWithTypeArgumentsNodeParser_1 = require("../src/NodeParser/ExpressionWithTypeArgumentsNodeParser");
|
|
21
21
|
const FunctionNodeParser_1 = require("../src/NodeParser/FunctionNodeParser");
|
|
22
|
-
const FunctionParser_1 = require("../src/NodeParser/FunctionParser");
|
|
23
22
|
const HiddenTypeNodeParser_1 = require("../src/NodeParser/HiddenTypeNodeParser");
|
|
24
23
|
const IndexedAccessTypeNodeParser_1 = require("../src/NodeParser/IndexedAccessTypeNodeParser");
|
|
25
24
|
const InferTypeNodeParser_1 = require("../src/NodeParser/InferTypeNodeParser");
|
|
@@ -56,22 +55,22 @@ const UnionNodeParser_1 = require("../src/NodeParser/UnionNodeParser");
|
|
|
56
55
|
const UnknownTypeNodeParser_1 = require("../src/NodeParser/UnknownTypeNodeParser");
|
|
57
56
|
const VoidTypeNodeParser_1 = require("../src/NodeParser/VoidTypeNodeParser");
|
|
58
57
|
const TopRefNodeParser_1 = require("../src/TopRefNodeParser");
|
|
58
|
+
const SatisfiesNodeParser_1 = require("../src/NodeParser/SatisfiesNodeParser");
|
|
59
59
|
function createParser(program, config, augmentor) {
|
|
60
60
|
const typeChecker = program.getTypeChecker();
|
|
61
61
|
const chainNodeParser = new ChainNodeParser_1.ChainNodeParser(typeChecker, []);
|
|
62
|
-
const mergedConfig = { ...Config_1.DEFAULT_CONFIG, ...config };
|
|
63
62
|
function withExpose(nodeParser) {
|
|
64
|
-
return new ExposeNodeParser_1.ExposeNodeParser(typeChecker, nodeParser,
|
|
63
|
+
return new ExposeNodeParser_1.ExposeNodeParser(typeChecker, nodeParser, config.expose, config.jsDoc);
|
|
65
64
|
}
|
|
66
65
|
function withTopRef(nodeParser) {
|
|
67
|
-
return new TopRefNodeParser_1.TopRefNodeParser(chainNodeParser,
|
|
66
|
+
return new TopRefNodeParser_1.TopRefNodeParser(chainNodeParser, config.type, config.topRef);
|
|
68
67
|
}
|
|
69
68
|
function withJsDoc(nodeParser) {
|
|
70
|
-
const extraTags = new Set(
|
|
71
|
-
if (
|
|
72
|
-
return new AnnotatedNodeParser_1.AnnotatedNodeParser(nodeParser, new ExtendedAnnotationsReader_1.ExtendedAnnotationsReader(typeChecker, extraTags));
|
|
69
|
+
const extraTags = new Set(config.extraTags);
|
|
70
|
+
if (config.jsDoc === "extended") {
|
|
71
|
+
return new AnnotatedNodeParser_1.AnnotatedNodeParser(nodeParser, new ExtendedAnnotationsReader_1.ExtendedAnnotationsReader(typeChecker, extraTags, config.markdownDescription));
|
|
73
72
|
}
|
|
74
|
-
else if (
|
|
73
|
+
else if (config.jsDoc === "basic") {
|
|
75
74
|
return new AnnotatedNodeParser_1.AnnotatedNodeParser(nodeParser, new BasicAnnotationsReader_1.BasicAnnotationsReader(extraTags));
|
|
76
75
|
}
|
|
77
76
|
else {
|
|
@@ -97,7 +96,7 @@ function createParser(program, config, augmentor) {
|
|
|
97
96
|
.addNodeParser(new NeverTypeNodeParser_1.NeverTypeNodeParser())
|
|
98
97
|
.addNodeParser(new ObjectTypeNodeParser_1.ObjectTypeNodeParser())
|
|
99
98
|
.addNodeParser(new AsExpressionNodeParser_1.AsExpressionNodeParser(chainNodeParser))
|
|
100
|
-
.addNodeParser(new
|
|
99
|
+
.addNodeParser(new SatisfiesNodeParser_1.SatisfiesNodeParser(chainNodeParser))
|
|
101
100
|
.addNodeParser(withJsDoc(new ParameterParser_1.ParameterParser(chainNodeParser)))
|
|
102
101
|
.addNodeParser(new StringLiteralNodeParser_1.StringLiteralNodeParser())
|
|
103
102
|
.addNodeParser(new StringTemplateLiteralNodeParser_1.StringTemplateLiteralNodeParser(chainNodeParser))
|
|
@@ -105,7 +104,6 @@ function createParser(program, config, augmentor) {
|
|
|
105
104
|
.addNodeParser(new NumberLiteralNodeParser_1.NumberLiteralNodeParser())
|
|
106
105
|
.addNodeParser(new BooleanLiteralNodeParser_1.BooleanLiteralNodeParser())
|
|
107
106
|
.addNodeParser(new NullLiteralNodeParser_1.NullLiteralNodeParser())
|
|
108
|
-
.addNodeParser(new FunctionNodeParser_1.FunctionNodeParser())
|
|
109
107
|
.addNodeParser(new ObjectLiteralExpressionNodeParser_1.ObjectLiteralExpressionNodeParser(chainNodeParser))
|
|
110
108
|
.addNodeParser(new ArrayLiteralExpressionNodeParser_1.ArrayLiteralExpressionNodeParser(chainNodeParser))
|
|
111
109
|
.addNodeParser(new PrefixUnaryExpressionNodeParser_1.PrefixUnaryExpressionNodeParser(chainNodeParser))
|
|
@@ -116,7 +114,7 @@ function createParser(program, config, augmentor) {
|
|
|
116
114
|
.addNodeParser(new IndexedAccessTypeNodeParser_1.IndexedAccessTypeNodeParser(typeChecker, chainNodeParser))
|
|
117
115
|
.addNodeParser(new InferTypeNodeParser_1.InferTypeNodeParser(typeChecker, chainNodeParser))
|
|
118
116
|
.addNodeParser(new TypeofNodeParser_1.TypeofNodeParser(typeChecker, chainNodeParser))
|
|
119
|
-
.addNodeParser(new MappedTypeNodeParser_1.MappedTypeNodeParser(chainNodeParser,
|
|
117
|
+
.addNodeParser(new MappedTypeNodeParser_1.MappedTypeNodeParser(chainNodeParser, config.additionalProperties))
|
|
120
118
|
.addNodeParser(new ConditionalTypeNodeParser_1.ConditionalTypeNodeParser(typeChecker, chainNodeParser))
|
|
121
119
|
.addNodeParser(new TypeOperatorNodeParser_1.TypeOperatorNodeParser(chainNodeParser))
|
|
122
120
|
.addNodeParser(new UnionNodeParser_1.UnionNodeParser(typeChecker, chainNodeParser))
|
|
@@ -129,9 +127,14 @@ function createParser(program, config, augmentor) {
|
|
|
129
127
|
.addNodeParser(new PropertyAccessExpressionParser_1.PropertyAccessExpressionParser(typeChecker, chainNodeParser))
|
|
130
128
|
.addNodeParser(withCircular(withExpose(withJsDoc(new TypeAliasNodeParser_1.TypeAliasNodeParser(typeChecker, chainNodeParser)))))
|
|
131
129
|
.addNodeParser(withExpose(withJsDoc(new EnumNodeParser_1.EnumNodeParser(typeChecker))))
|
|
132
|
-
.addNodeParser(withCircular(withExpose(withJsDoc(new InterfaceAndClassNodeParser_1.InterfaceAndClassNodeParser(typeChecker, withJsDoc(chainNodeParser),
|
|
133
|
-
.addNodeParser(withCircular(withExpose(withJsDoc(new TypeLiteralNodeParser_1.TypeLiteralNodeParser(withJsDoc(chainNodeParser),
|
|
130
|
+
.addNodeParser(withCircular(withExpose(withJsDoc(new InterfaceAndClassNodeParser_1.InterfaceAndClassNodeParser(typeChecker, withJsDoc(chainNodeParser), config.additionalProperties)))))
|
|
131
|
+
.addNodeParser(withCircular(withExpose(withJsDoc(new TypeLiteralNodeParser_1.TypeLiteralNodeParser(typeChecker, withJsDoc(chainNodeParser), config.additionalProperties)))))
|
|
134
132
|
.addNodeParser(new ArrayNodeParser_1.ArrayNodeParser(chainNodeParser));
|
|
133
|
+
if (config.functions !== "fail") {
|
|
134
|
+
chainNodeParser
|
|
135
|
+
.addNodeParser(new ConstructorNodeParser_1.ConstructorNodeParser(chainNodeParser, config.functions))
|
|
136
|
+
.addNodeParser(new FunctionNodeParser_1.FunctionNodeParser(chainNodeParser, config.functions));
|
|
137
|
+
}
|
|
135
138
|
return withTopRef(chainNodeParser);
|
|
136
139
|
}
|
|
137
140
|
exports.createParser = createParser;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../factory/parser.ts"],"names":[],"mappings":";;;AACA,4FAAyF;AACzF,kGAA+F;AAC/F,4DAAyD;AACzD,oFAAiF;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../factory/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
|
-
import {
|
|
3
|
-
export declare function createProgram(config:
|
|
2
|
+
import { CompletedConfig } from "../src/Config";
|
|
3
|
+
export declare function createProgram(config: CompletedConfig): ts.Program;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../factory/program.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,2CAA6B;AAC7B,4DAA4B;AAC5B,oEAAuC;AAGvC,kEAA+D;AAC/D,wDAAqD;AACrD,oEAAiE;AACjE,kEAA+D;AAE/D,SAAS,gBAAgB,CAAC,UAAkB;IACxC,MAAM,GAAG,GAAG,oBAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../factory/program.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -44,6 +44,7 @@ export * from "./src/Type/BooleanType";
|
|
|
44
44
|
export * from "./src/Type/DefinitionType";
|
|
45
45
|
export * from "./src/Type/EnumType";
|
|
46
46
|
export * from "./src/Type/FunctionType";
|
|
47
|
+
export * from "./src/Type/HiddenType";
|
|
47
48
|
export * from "./src/Type/IntersectionType";
|
|
48
49
|
export * from "./src/Type/LiteralType";
|
|
49
50
|
export * from "./src/Type/NeverType";
|
|
@@ -75,6 +76,7 @@ export * from "./src/TypeFormatter/ArrayTypeFormatter";
|
|
|
75
76
|
export * from "./src/TypeFormatter/BooleanTypeFormatter";
|
|
76
77
|
export * from "./src/TypeFormatter/DefinitionTypeFormatter";
|
|
77
78
|
export * from "./src/TypeFormatter/EnumTypeFormatter";
|
|
79
|
+
export * from "./src/TypeFormatter/HiddenTypeFormatter";
|
|
78
80
|
export * from "./src/TypeFormatter/IntersectionTypeFormatter";
|
|
79
81
|
export * from "./src/TypeFormatter/LiteralTypeFormatter";
|
|
80
82
|
export * from "./src/TypeFormatter/LiteralUnionTypeFormatter";
|
|
@@ -93,6 +95,7 @@ export * from "./src/TypeFormatter/UndefinedTypeFormatter";
|
|
|
93
95
|
export * from "./src/TypeFormatter/UnionTypeFormatter";
|
|
94
96
|
export * from "./src/TypeFormatter/UnknownTypeFormatter";
|
|
95
97
|
export * from "./src/TypeFormatter/VoidTypeFormatter";
|
|
98
|
+
export * from "./src/TypeFormatter/FunctionTypeFormatter";
|
|
96
99
|
export * from "./src/NodeParser";
|
|
97
100
|
export * from "./src/SubNodeParser";
|
|
98
101
|
export * from "./src/ChainNodeParser";
|
|
@@ -111,7 +114,7 @@ export * from "./src/NodeParser/ConditionalTypeNodeParser";
|
|
|
111
114
|
export * from "./src/NodeParser/EnumNodeParser";
|
|
112
115
|
export * from "./src/NodeParser/ExpressionWithTypeArgumentsNodeParser";
|
|
113
116
|
export * from "./src/NodeParser/FunctionNodeParser";
|
|
114
|
-
export * from "./src/NodeParser/
|
|
117
|
+
export * from "./src/NodeParser/ConstructorNodeParser";
|
|
115
118
|
export * from "./src/NodeParser/HiddenTypeNodeParser";
|
|
116
119
|
export * from "./src/NodeParser/IndexedAccessTypeNodeParser";
|
|
117
120
|
export * from "./src/NodeParser/InterfaceAndClassNodeParser";
|
package/dist/index.js
CHANGED
|
@@ -64,6 +64,7 @@ __exportStar(require("./src/Type/BooleanType"), exports);
|
|
|
64
64
|
__exportStar(require("./src/Type/DefinitionType"), exports);
|
|
65
65
|
__exportStar(require("./src/Type/EnumType"), exports);
|
|
66
66
|
__exportStar(require("./src/Type/FunctionType"), exports);
|
|
67
|
+
__exportStar(require("./src/Type/HiddenType"), exports);
|
|
67
68
|
__exportStar(require("./src/Type/IntersectionType"), exports);
|
|
68
69
|
__exportStar(require("./src/Type/LiteralType"), exports);
|
|
69
70
|
__exportStar(require("./src/Type/NeverType"), exports);
|
|
@@ -95,6 +96,7 @@ __exportStar(require("./src/TypeFormatter/ArrayTypeFormatter"), exports);
|
|
|
95
96
|
__exportStar(require("./src/TypeFormatter/BooleanTypeFormatter"), exports);
|
|
96
97
|
__exportStar(require("./src/TypeFormatter/DefinitionTypeFormatter"), exports);
|
|
97
98
|
__exportStar(require("./src/TypeFormatter/EnumTypeFormatter"), exports);
|
|
99
|
+
__exportStar(require("./src/TypeFormatter/HiddenTypeFormatter"), exports);
|
|
98
100
|
__exportStar(require("./src/TypeFormatter/IntersectionTypeFormatter"), exports);
|
|
99
101
|
__exportStar(require("./src/TypeFormatter/LiteralTypeFormatter"), exports);
|
|
100
102
|
__exportStar(require("./src/TypeFormatter/LiteralUnionTypeFormatter"), exports);
|
|
@@ -113,6 +115,7 @@ __exportStar(require("./src/TypeFormatter/UndefinedTypeFormatter"), exports);
|
|
|
113
115
|
__exportStar(require("./src/TypeFormatter/UnionTypeFormatter"), exports);
|
|
114
116
|
__exportStar(require("./src/TypeFormatter/UnknownTypeFormatter"), exports);
|
|
115
117
|
__exportStar(require("./src/TypeFormatter/VoidTypeFormatter"), exports);
|
|
118
|
+
__exportStar(require("./src/TypeFormatter/FunctionTypeFormatter"), exports);
|
|
116
119
|
__exportStar(require("./src/NodeParser"), exports);
|
|
117
120
|
__exportStar(require("./src/SubNodeParser"), exports);
|
|
118
121
|
__exportStar(require("./src/ChainNodeParser"), exports);
|
|
@@ -131,7 +134,7 @@ __exportStar(require("./src/NodeParser/ConditionalTypeNodeParser"), exports);
|
|
|
131
134
|
__exportStar(require("./src/NodeParser/EnumNodeParser"), exports);
|
|
132
135
|
__exportStar(require("./src/NodeParser/ExpressionWithTypeArgumentsNodeParser"), exports);
|
|
133
136
|
__exportStar(require("./src/NodeParser/FunctionNodeParser"), exports);
|
|
134
|
-
__exportStar(require("./src/NodeParser/
|
|
137
|
+
__exportStar(require("./src/NodeParser/ConstructorNodeParser"), exports);
|
|
135
138
|
__exportStar(require("./src/NodeParser/HiddenTypeNodeParser"), exports);
|
|
136
139
|
__exportStar(require("./src/NodeParser/IndexedAccessTypeNodeParser"), exports);
|
|
137
140
|
__exportStar(require("./src/NodeParser/InterfaceAndClassNodeParser"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,8DAA4C;AAC5C,yDAAuC;AACvC,+DAA6C;AAC7C,8DAA4C;AAC5C,8DAA4C;AAC5C,+DAA6C;AAC7C,+DAA6C;AAE7C,+CAA6B;AAE7B,8DAA4C;AAC5C,qDAAmC;AACnC,wDAAsC;AACtC,wDAAsC;AACtC,8DAA4C;AAC5C,0DAAwC;AACxC,0DAAwC;AACxC,mEAAiD;AACjD,6DAA2C;AAC3C,uDAAqC;AACrC,wDAAsC;AACtC,yDAAuC;AACvC,sDAAoC;AACpC,uDAAqC;AACrC,iEAA+C;AAC/C,8DAA4C;AAC5C,gEAA8C;AAC9C,wDAAsC;AACtC,qDAAmC;AACnC,2DAAyC;AACzC,uDAAqC;AACrC,uDAAqC;AACrC,0DAAwC;AACxC,8DAA4C;AAE5C,qEAAmD;AACnD,iEAA+C;AAE/C,0DAAwC;AACxC,sDAAoC;AAEpC,uDAAqC;AACrC,2DAAyC;AACzC,qDAAmC;AACnC,uDAAqC;AACrC,sDAAoC;AACpC,yDAAuC;AACvC,4DAA0C;AAC1C,sDAAoC;AACpC,0DAAwC;AACxC,8DAA4C;AAC5C,yDAAuC;AACvC,uDAAqC;AACrC,sDAAoC;AACpC,wDAAsC;AACtC,wDAAsC;AACtC,0DAAwC;AACxC,2DAAyC;AACzC,2DAAyC;AACzC,sDAAoC;AACpC,wDAAsC;AACtC,wDAAsC;AACtC,uDAAqC;AACrC,2DAAyC;AACzC,uDAAqC;AACrC,yDAAuC;AACvC,sDAAoC;AAEpC,iFAA+D;AAC/D,oFAAkE;AAElE,sDAAoC;AACpC,yDAAuC;AACvC,2DAAyC;AACzC,6DAA2C;AAC3C,uEAAqD;AACrD,yEAAuD;AACvD,6EAA2D;AAC3D,uEAAqD;AACrD,yEAAuD;AACvD,2EAAyD;AACzD,8EAA4D;AAC5D,wEAAsD;AACtD,gFAA8D;AAC9D,2EAAyD;AACzD,gFAA8D;AAC9D,yEAAuD;AACvD,wEAAsD;AACtD,0EAAwD;AACxD,0EAAwD;AACxD,4EAA0D;AAC1D,kFAAgE;AAChE,6EAA2D;AAC3D,wEAAsD;AACtD,0EAAwD;AACxD,0EAAwD;AACxD,yEAAuD;AACvD,6EAA2D;AAC3D,yEAAuD;AACvD,2EAAyD;AACzD,wEAAsD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.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.0.0
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Generate JSON schema from your Typescript sources",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -44,40 +44,40 @@
|
|
|
44
44
|
"node": ">=10.0.0"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@types/json-schema": "^7.0.
|
|
48
|
-
"commander": "^
|
|
47
|
+
"@types/json-schema": "^7.0.15",
|
|
48
|
+
"commander": "^12.0.0",
|
|
49
49
|
"glob": "^8.0.3",
|
|
50
|
-
"json5": "^2.2.
|
|
50
|
+
"json5": "^2.2.3",
|
|
51
51
|
"normalize-path": "^3.0.0",
|
|
52
|
-
"safe-stable-stringify": "^2.4.
|
|
53
|
-
"typescript": "~4.
|
|
52
|
+
"safe-stable-stringify": "^2.4.3",
|
|
53
|
+
"typescript": "~5.4.5"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@auto-it/conventional-commits": "^
|
|
57
|
-
"@auto-it/first-time-contributor": "^
|
|
58
|
-
"@babel/core": "^7.
|
|
59
|
-
"@babel/preset-env": "^7.
|
|
60
|
-
"@babel/preset-typescript": "^7.
|
|
61
|
-
"@types/glob": "^8.
|
|
62
|
-
"@types/jest": "^29.
|
|
63
|
-
"@types/node": "^
|
|
64
|
-
"@types/normalize-path": "^3.0.
|
|
65
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
66
|
-
"@typescript-eslint/parser": "^
|
|
67
|
-
"ajv": "^8.
|
|
68
|
-
"ajv-formats": "^
|
|
69
|
-
"auto": "^
|
|
70
|
-
"chai": "^
|
|
56
|
+
"@auto-it/conventional-commits": "^11.1.6",
|
|
57
|
+
"@auto-it/first-time-contributor": "^11.1.6",
|
|
58
|
+
"@babel/core": "^7.24.4",
|
|
59
|
+
"@babel/preset-env": "^7.24.4",
|
|
60
|
+
"@babel/preset-typescript": "^7.24.1",
|
|
61
|
+
"@types/glob": "^8.1.0",
|
|
62
|
+
"@types/jest": "^29.5.12",
|
|
63
|
+
"@types/node": "^20.12.7",
|
|
64
|
+
"@types/normalize-path": "^3.0.2",
|
|
65
|
+
"@typescript-eslint/eslint-plugin": "^7.6.0",
|
|
66
|
+
"@typescript-eslint/parser": "^7.6.0",
|
|
67
|
+
"ajv": "^8.12.0",
|
|
68
|
+
"ajv-formats": "^3.0.1",
|
|
69
|
+
"auto": "^11.1.6",
|
|
70
|
+
"chai": "^5.1.0",
|
|
71
71
|
"cross-env": "^7.0.3",
|
|
72
|
-
"eslint": "^8.
|
|
73
|
-
"eslint-config-prettier": "^
|
|
74
|
-
"eslint-plugin-prettier": "^
|
|
75
|
-
"jest": "^29.0
|
|
76
|
-
"jest-junit": "^
|
|
77
|
-
"prettier": "^2.
|
|
78
|
-
"ts-node": "^10.9.
|
|
79
|
-
"vega": "^5.
|
|
80
|
-
"vega-lite": "^5.
|
|
72
|
+
"eslint": "^8.55.0",
|
|
73
|
+
"eslint-config-prettier": "^9.1.0",
|
|
74
|
+
"eslint-plugin-prettier": "^5.1.3",
|
|
75
|
+
"jest": "^29.7.0",
|
|
76
|
+
"jest-junit": "^16.0.0",
|
|
77
|
+
"prettier": "^3.2.5",
|
|
78
|
+
"ts-node": "^10.9.2",
|
|
79
|
+
"vega": "^5.28.0",
|
|
80
|
+
"vega-lite": "^5.18.0"
|
|
81
81
|
},
|
|
82
82
|
"scripts": {
|
|
83
83
|
"prepublishOnly": "yarn build",
|
|
@@ -92,5 +92,6 @@
|
|
|
92
92
|
"debug": "node -r ts-node/register --inspect-brk ts-json-schema-generator.ts",
|
|
93
93
|
"run": "ts-node-transpile-only ts-json-schema-generator.ts",
|
|
94
94
|
"release": "yarn build && auto shipit"
|
|
95
|
-
}
|
|
95
|
+
},
|
|
96
|
+
"packageManager": "yarn@1.22.19"
|
|
96
97
|
}
|