@tsofist/schema-forge 1.27.0 → 1.29.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/lib/types.d.ts CHANGED
@@ -63,6 +63,16 @@ export interface SchemaForgeOptions extends SchemaForgeBaseOptions {
63
63
  * @default false
64
64
  */
65
65
  readonly openapiCompatible?: boolean;
66
+ /**
67
+ * Determines whether to sort the properties of object schemas in alphabetical order.
68
+ * If set to `true`, the tool will sort both the fields in the `properties` section
69
+ * and the field names in the `required` array for object-schema definitions.
70
+ * Sorting can improve readability and consistency,
71
+ * but may affect the order in which properties appear in generated outputs.
72
+ * Applicable only to schemas of type `object`.
73
+ * @default false
74
+ */
75
+ readonly sortObjectProperties?: boolean;
66
76
  }
67
77
  export interface SchemaForgeMetadata {
68
78
  $id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,oBAAY,0BAA0B;IAClC,eAAe,IAAA;IACf,YAAY,IAAA;CACf;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAC9D;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;KACzD,CAAC;IACF;;;;;OAKG;IACH,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChD;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC;;;;;;;;OAQG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAC3C;AAED,MAAM,WAAW,mBAAmB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAC7C,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACtC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IACpD,YAAY,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC1C,uBAAuB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,0BAA0B,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;CACxE;AAED,eAAO,MAAM,uBAAuB,EAAE,SAAiC,CAAC;AACxE,MAAM,MAAM,0BAA0B,GAAG,gCAAgC,GAAG;IACxE,MAAM,EAAE,wBAAwB,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,SAAyC,CAAC;AACvF,MAAM,MAAM,iCAAiC,GAAG,qCAAqC,GAAG;IACpF,MAAM,EAAE,wBAAwB,CAAC;IACjC,MAAM,EAAE,WAAW,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,gCAAgC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qCAAsC,SAAQ,gCAAgC;IAC3F,MAAM,EAAE,wBAAwB,CAAC;IACjC,MAAM,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,wBAAwB,GAAG,EAAE,GAAG,GAAG,MAAM,iBAAiB,MAAM,EAAE,CAAC;AAE/E,oBAAY,oBAAoB;IAC5B,IAAI,IAAA;IACJ,GAAG,IAAA;IACH,eAAe,IAAA;IACf,kBAAkB,IAAA;CACrB;AAED,UAAU,OAAO;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,wBAAwB,CAAC;IAC9B,IAAI,EAAE,oBAAoB,CAAC;CAC9B;AAED,MAAM,WAAW,OAAQ,SAAQ,OAAO;IACpC,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC5C,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IAC/C,IAAI,EAAE,oBAAoB,CAAC,kBAAkB,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC5C,IAAI,EAAE,oBAAoB,CAAC,eAAe,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,eAAe,GAAG,kBAAkB,GAAG,eAAe,CAAC;AAEpG,MAAM,WAAW,2BAA2B;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAEhC,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC;CACnD;AAED,MAAM,MAAM,6BAA6B,CAAC,CAAC,GAAG,OAAO,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC7E,MAAM,MAAM,2BAA2B,GAAG,WAAW,EAAE,CAAC"}
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAKA,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IAClC,iGAAe,CAAA;IACf,2FAAY,CAAA;AAChB,CAAC,EAHW,0BAA0B,0CAA1B,0BAA0B,QAGrC;AAiFY,QAAA,uBAAuB,GAAc,qBAAqB,CAAC;AAK3D,QAAA,8BAA8B,GAAc,6BAA6B,CAAC;AAkBvF,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC5B,+DAAI,CAAA;IACJ,6DAAG,CAAA;IACH,qFAAe,CAAA;IACf,2FAAkB,CAAA;AACtB,CAAC,EALW,oBAAoB,oCAApB,oBAAoB,QAK/B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAKA,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IAClC,iGAAe,CAAA;IACf,2FAAY,CAAA;AAChB,CAAC,EAHW,0BAA0B,0CAA1B,0BAA0B,QAGrC;AA2FY,QAAA,uBAAuB,GAAc,qBAAqB,CAAC;AAK3D,QAAA,8BAA8B,GAAc,6BAA6B,CAAC;AAkBvF,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC5B,+DAAI,CAAA;IACJ,6DAAG,CAAA;IACH,qFAAe,CAAA;IACf,2FAAkB,CAAA;AACtB,CAAC,EALW,oBAAoB,oCAApB,oBAAoB,QAK/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsofist/schema-forge",
3
- "version": "1.27.0",
3
+ "version": "1.29.0",
4
4
  "description": "Generate JSON schema from TypeScript types",
5
5
  "author": "Andrew Berdnikov <tsofistgudmen@gmail.com>",
6
6
  "license": "MIT",
@@ -21,8 +21,8 @@
21
21
  "test:watch": "jest --watch"
22
22
  },
23
23
  "dependencies": {
24
- "@faker-js/faker": "^9.0.1",
25
- "@tsofist/stem": "^1.29.1",
24
+ "@faker-js/faker": "^9.0.3",
25
+ "@tsofist/stem": "^1.31.2",
26
26
  "ajv": "^8.17.1",
27
27
  "ajv-formats": "^3.0.1",
28
28
  "json-schema-faker": "^0.5.6",
@@ -30,15 +30,15 @@
30
30
  "tslib": "^2.7.0"
31
31
  },
32
32
  "devDependencies": {
33
- "@tsofist/web-buddy": "^1.12.0",
33
+ "@tsofist/web-buddy": "^1.12.3",
34
34
  "@types/jest": "^29.5.13",
35
- "@types/node": "^18.19.50",
35
+ "@types/node": "^20.16.11",
36
36
  "@types/supertest": "^6.0.2",
37
37
  "jest": "^29.7.0",
38
- "rimraf": "^5.0.10",
39
- "supertest": "^6.3.4",
38
+ "rimraf": "^6.0.1",
39
+ "supertest": "^7.0.0",
40
40
  "ts-jest": "^29.2.5",
41
- "typescript": "~5.6.2"
41
+ "typescript": "~5.6.3"
42
42
  },
43
43
  "publishConfig": {
44
44
  "registry": "https://registry.npmjs.org/",