@mostajs/orm-adapter 0.4.0 → 0.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,35 @@
2
2
 
3
3
  All notable changes to `@mostajs/orm-adapter` will be documented in this file.
4
4
 
5
+ ## [0.5.0] — 2026-04-12
6
+
7
+ ### Added
8
+
9
+ - **YAML input for OpenApiAdapter** : native support for YAML-formatted OpenAPI specs via `js-yaml`
10
+ - Auto-detected in `canParse` when string matches `^\s*openapi:` or `^\s*swagger:`
11
+ - No need to pre-parse with external library anymore
12
+ - Fixture `petstore-3.1.yaml` added for regression
13
+ - **E2E tests on real-world specs** (`test-e2e-real.ts`) :
14
+ - YAML OpenAPI round-trip
15
+ - Realistic SaaS Prisma schema (cal.com/dub style) with 8 entities, implicit M-N, nested relations, enums, BigInt, Json, composite unique constraints
16
+ - Swagger Petstore v3 (real spec from swagger.io) — 6 entities extracted with < 10 warnings
17
+ - Cross-format registry dispatch (auto-detection Prisma + YAML + JSON)
18
+ - Cross-format equivalence (entities pass through Native without alteration)
19
+
20
+ ### Test coverage
21
+
22
+ 238 tests across 5 suites (all passing) :
23
+ - 31 native
24
+ - 55 prisma
25
+ - 60 jsonschema
26
+ - 50 openapi
27
+ - **42 e2e-real** (new)
28
+
29
+ ### Dependencies
30
+
31
+ - Added `js-yaml ^4.1.1` (for YAML parsing in OpenApiAdapter)
32
+ - Added `@types/js-yaml ^4.0.9` (dev)
33
+
5
34
  ## [0.4.0] — 2026-04-12
6
35
 
7
36
  ### Added
package/README.md CHANGED
@@ -148,6 +148,7 @@ export class MyCustomAdapter extends AbstractAdapter {
148
148
  - **v0.2.0** — PrismaAdapter (scalars, relations, enums, implicit M-N) ✅
149
149
  - **v0.3.0** — JsonSchemaAdapter (Draft 2020-12 + Draft-07 + allOf + x-mostajs-*) ✅
150
150
  - **v0.4.0** — OpenApiAdapter (3.1 + 3.0 normalization + Swagger 2.0 detect) ✅
151
+ - **v0.5.0** — YAML input + E2E tests on real specs (238 tests passing) ✅
151
152
  - **v1.0.0** — Production-ready, all 4 adapters with reverse conversion
152
153
 
153
154
  ## OpenApiAdapter example
@@ -45,8 +45,13 @@ export declare class OpenApiAdapter extends AbstractAdapter {
45
45
  private cloneForParser;
46
46
  /**
47
47
  * Normalize input to object form.
48
+ * Supports:
49
+ * - plain JS object (no parsing)
50
+ * - JSON string (starts with `{`)
51
+ * - YAML string (common OpenAPI format)
52
+ *
48
53
  * @readme/openapi-parser treats strings as file paths (not content),
49
- * so we JSON.parse strings ourselves here.
54
+ * so we parse strings ourselves here.
50
55
  */
51
56
  private resolveInput;
52
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/openapi.adapter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAe,KAAK,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AAkBzF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAe,SAAQ,eAAe;IACjD,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,MAAM,kBAAkB;IACjC,QAAQ,CAAC,OAAO,WAAW;IAE3B,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;IAE7D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAcnC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA8E5F;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAuBjC,kEAAkE;IAClE,OAAO,CAAC,cAAc;IAMtB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAkBpB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAU1B,wEAAwE;IACxE,OAAO,CAAC,WAAW;CAWpB"}
1
+ {"version":3,"file":"openapi.adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/openapi.adapter.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAe,KAAK,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AAkBzF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAe,SAAQ,eAAe;IACjD,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,MAAM,kBAAkB;IACjC,QAAQ,CAAC,OAAO,WAAW;IAE3B,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;IAE7D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAkBnC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA8E5F;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAuBjC,kEAAkE;IAClE,OAAO,CAAC,cAAc;IAMtB;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;IA6BpB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAU1B,wEAAwE;IACxE,OAAO,CAAC,WAAW;CAWpB"}
@@ -5,6 +5,7 @@
5
5
  // Author: Dr Hamid MADANI drmdh@msn.com
6
6
  // License: AGPL-3.0-or-later
7
7
  import { dereference, validate } from '@readme/openapi-parser';
8
+ import yaml from 'js-yaml';
8
9
  import { AbstractAdapter } from '../core/abstract.adapter.js';
9
10
  import { WarningCode } from '../core/types.js';
10
11
  import { InvalidSchemaError } from '../core/errors.js';
@@ -48,6 +49,11 @@ export class OpenApiAdapter extends AbstractAdapter {
48
49
  // Swagger 2.0 shape (not yet supported but let us detect and warn)
49
50
  if (obj.swagger === '2.0')
50
51
  return true;
52
+ // YAML heuristic on raw string input
53
+ if (typeof input === 'string' && /^\s*openapi\s*:\s*['"]?3\./m.test(input))
54
+ return true;
55
+ if (typeof input === 'string' && /^\s*swagger\s*:\s*['"]?2\.0/m.test(input))
56
+ return true;
51
57
  return false;
52
58
  }
53
59
  async toEntitySchema(input, opts) {
@@ -167,14 +173,20 @@ export class OpenApiAdapter extends AbstractAdapter {
167
173
  }
168
174
  /**
169
175
  * Normalize input to object form.
176
+ * Supports:
177
+ * - plain JS object (no parsing)
178
+ * - JSON string (starts with `{`)
179
+ * - YAML string (common OpenAPI format)
180
+ *
170
181
  * @readme/openapi-parser treats strings as file paths (not content),
171
- * so we JSON.parse strings ourselves here.
182
+ * so we parse strings ourselves here.
172
183
  */
173
184
  resolveInput(input) {
174
185
  if (typeof input !== 'string')
175
186
  return input;
176
187
  const trimmed = input.trim();
177
- if (trimmed.startsWith('{')) {
188
+ // JSON
189
+ if (trimmed.startsWith('{') || trimmed.startsWith('[')) {
178
190
  try {
179
191
  return JSON.parse(trimmed);
180
192
  }
@@ -182,8 +194,17 @@ export class OpenApiAdapter extends AbstractAdapter {
182
194
  throw new InvalidSchemaError(`Invalid JSON input: ${e instanceof Error ? e.message : String(e)}`);
183
195
  }
184
196
  }
185
- // YAML parsing not implemented yet — recommend pre-parsing
186
- throw new InvalidSchemaError('OpenApiAdapter accepts objects or JSON strings. For YAML, pre-parse with js-yaml.');
197
+ // YAML
198
+ try {
199
+ const parsed = yaml.load(trimmed, { schema: yaml.JSON_SCHEMA });
200
+ if (parsed && typeof parsed === 'object') {
201
+ return parsed;
202
+ }
203
+ throw new InvalidSchemaError('YAML parsed to non-object value');
204
+ }
205
+ catch (e) {
206
+ throw new InvalidSchemaError(`Invalid YAML/JSON input: ${e instanceof Error ? e.message : String(e)}`);
207
+ }
187
208
  }
188
209
  /**
189
210
  * Ensure each schema in components.schemas has `title: <key>`.
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.adapter.js","sourceRoot":"","sources":["../../src/adapters/openapi.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi.adapter.js","sourceRoot":"","sources":["../../src/adapters/openapi.adapter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mostajs/orm-adapter",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Third-party schema adapters for @mostajs/orm — convert Prisma, JSON Schema, OpenAPI to EntitySchema",
5
5
  "author": "Dr Hamid MADANI <drmdh@msn.com>",
6
6
  "license": "AGPL-3.0-or-later",
@@ -71,15 +71,17 @@
71
71
  "@mostajs/orm": "^1.9.0"
72
72
  },
73
73
  "dependencies": {
74
- "@mrleebo/prisma-ast": "^0.12.0",
75
74
  "@apidevtools/json-schema-ref-parser": "^11.0.0",
75
+ "@mrleebo/prisma-ast": "^0.12.0",
76
+ "@readme/openapi-parser": "^6.0.1",
76
77
  "ajv": "^8.12.0",
77
78
  "ajv-formats": "^3.0.1",
78
- "@readme/openapi-parser": "^6.0.1",
79
+ "js-yaml": "^4.1.1",
79
80
  "openapi-types": "^12.1.3"
80
81
  },
81
82
  "devDependencies": {
82
83
  "@mostajs/orm": "^1.9.0",
84
+ "@types/js-yaml": "^4.0.9",
83
85
  "@types/node": "^20.0.0",
84
86
  "tsx": "^4.0.0",
85
87
  "typescript": "^5.3.0"