micro-contracts 0.12.3 → 0.13.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 +51 -0
- package/dist/cli/templates.d.ts +6 -0
- package/dist/cli/templates.d.ts.map +1 -1
- package/dist/cli/templates.js +68 -0
- package/dist/cli/templates.js.map +1 -1
- package/dist/cli.js +148 -4
- package/dist/cli.js.map +1 -1
- package/dist/generator/index.d.ts +1 -0
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +4 -1
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/linter.d.ts +2 -0
- package/dist/generator/linter.d.ts.map +1 -1
- package/dist/generator/linter.js +76 -17
- package/dist/generator/linter.js.map +1 -1
- package/dist/generator/templateProcessor.d.ts +38 -1
- package/dist/generator/templateProcessor.d.ts.map +1 -1
- package/dist/generator/templateProcessor.js +89 -0
- package/dist/generator/templateProcessor.js.map +1 -1
- package/dist/types.d.ts +33 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/docs/screen-spec.md +366 -0
- package/package.json +1 -1
package/dist/types.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ export interface OperationObject {
|
|
|
41
41
|
parameters?: ParameterObject[];
|
|
42
42
|
requestBody?: RequestBodyObject | ReferenceObject;
|
|
43
43
|
responses: Record<string, ResponseObject | ReferenceObject>;
|
|
44
|
+
security?: Array<Record<string, string[]>>;
|
|
44
45
|
'x-micro-contracts-service'?: string;
|
|
45
46
|
'x-micro-contracts-method'?: string;
|
|
46
47
|
'x-micro-contracts-published'?: boolean;
|
|
@@ -48,6 +49,26 @@ export interface OperationObject {
|
|
|
48
49
|
'x-auth'?: 'required' | 'optional' | 'none';
|
|
49
50
|
'x-authz'?: string[];
|
|
50
51
|
'x-middleware'?: string[];
|
|
52
|
+
'x-screen-const'?: string;
|
|
53
|
+
'x-screen-id'?: string;
|
|
54
|
+
'x-screen-name'?: string;
|
|
55
|
+
'x-back-navigation'?: boolean;
|
|
56
|
+
'x-events'?: ScreenEventDefinition[];
|
|
57
|
+
'x-view-model'?: string;
|
|
58
|
+
'x-view-props'?: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Screen analytics event definition (used in x-events)
|
|
62
|
+
*/
|
|
63
|
+
export interface ScreenEventDefinition {
|
|
64
|
+
/** Event name (e.g., 'home_view') */
|
|
65
|
+
name: string;
|
|
66
|
+
/** Event type (e.g., 'screen_view', 'user_action') */
|
|
67
|
+
type: string;
|
|
68
|
+
/** Generated method name (e.g., 'trackView') */
|
|
69
|
+
method: string;
|
|
70
|
+
/** Event parameters with their types */
|
|
71
|
+
params?: Record<string, string>;
|
|
51
72
|
}
|
|
52
73
|
export interface ParameterObject {
|
|
53
74
|
name: string;
|
|
@@ -64,6 +85,14 @@ export interface RequestBodyObject {
|
|
|
64
85
|
export interface ResponseObject {
|
|
65
86
|
description: string;
|
|
66
87
|
content?: Record<string, MediaTypeObject>;
|
|
88
|
+
links?: Record<string, LinkObject>;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* OpenAPI Link Object (used for screen navigation targets)
|
|
92
|
+
*/
|
|
93
|
+
export interface LinkObject {
|
|
94
|
+
operationId?: string;
|
|
95
|
+
description?: string;
|
|
67
96
|
}
|
|
68
97
|
export interface MediaTypeObject {
|
|
69
98
|
schema?: SchemaObject | ReferenceObject;
|
|
@@ -228,6 +257,8 @@ export interface ModuleDependencies {
|
|
|
228
257
|
export interface ModuleConfig {
|
|
229
258
|
/** Path to OpenAPI spec file (required) */
|
|
230
259
|
openapi: string;
|
|
260
|
+
/** Enable screen spec mode (parses x-screen-* extensions into ScreenContext) */
|
|
261
|
+
screen?: boolean;
|
|
231
262
|
/** Override contract output */
|
|
232
263
|
contract?: {
|
|
233
264
|
output?: string;
|
|
@@ -328,6 +359,8 @@ export interface ResolvedModuleConfig {
|
|
|
328
359
|
name: string;
|
|
329
360
|
/** Path to OpenAPI spec file */
|
|
330
361
|
openapi: string;
|
|
362
|
+
/** Screen spec mode enabled */
|
|
363
|
+
screen: boolean;
|
|
331
364
|
/** Contract output directory */
|
|
332
365
|
contractOutput: string;
|
|
333
366
|
/** Public contract output directory */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,6BAA6B,CAAC,EAAE,MAAM,EAAE,CAAC;KAC1C,CAAC;IACF,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACvC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC3C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC7C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;KACnD,CAAC;IACF,IAAI,CAAC,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,iBAAiB,GAAG,eAAe,CAAC;IAClD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,eAAe,CAAC,CAAC;IAE5D,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,6BAA6B,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzC,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,YAAY,GAAG,eAAe,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,YAAY,GAAG,eAAe,CAAC;CACzC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,mCAAmC;AACnC,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEpG,MAAM,WAAW,YAAY;IAC3B,8FAA8F;IAC9F,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,YAAY,GAAG,eAAe,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,CAAC,CAAC;IAC5D,oBAAoB,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,eAAe,CAAC;IAChE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,eAAe,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,eAAe,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,eAAe,CAAC,CAAC;IAE9C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEtC,6CAA6C;IAC7C,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,MAAM,CAAC,EAAE;QACP,qCAAqC;QACrC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,+BAA+B;QAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,8BAA8B;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,oCAAoC;QACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,EAAE;QACT,uDAAuD;QACvD,MAAM,EAAE,MAAM,CAAC;QACf,0EAA0E;QAC1E,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF,wCAAwC;IACxC,cAAc,CAAC,EAAE;QACf,uDAAuD;QACvD,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,oCAAoC;IACpC,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B,2BAA2B;IAC3B,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB,sCAAsC;IACtC,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEvC,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,oBAAoB,GAAG,aAAa,GAAG,QAAQ,CAAC;IAC5D,iCAAiC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CASpE;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wEAAwE;IACxE,eAAe,EAAE,aAAa,EAAE,CAAC;IACjC,mCAAmC;IACnC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IACjD,8BAA8B;IAC9B,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAEhB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,0EAA0E;QAC1E,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF,sCAAsC;IACtC,cAAc,CAAC,EAAE;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,sCAAsC;IACtC,MAAM,CAAC,EAAE,YAAY,GAAG;QACtB,gDAAgD;QAChD,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF,wCAAwC;IACxC,QAAQ,CAAC,EAAE,cAAc,GAAG;QAC1B,kDAAkD;QAClD,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF,2BAA2B;IAC3B,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,yCAAyC;IACzC,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAExE,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,MAAM,CAAC,EAAE;QACP,uBAAuB;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,uDAAuD;QACvD,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,SAAS,EAAE,oBAAoB,GAAG,aAAa,GAAG,QAAQ,CAAC;IAC3D,cAAc;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;IACT,kDAAkD;IAClD,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;SAChB,GAAG,IAAI,CAAC;KACV,GAAG,IAAI,CAAC;IACT,kBAAkB;IAClB,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,wCAAwC;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,+BAA+B;IAC/B,gBAAgB,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;IACjD,6CAA6C;IAC7C,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAMD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,qCAAqC;IACrC,QAAQ,CAAC,EAAE;QACT,4CAA4C;QAC5C,MAAM,EAAE,MAAM,CAAC;QACf,0DAA0D;QAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,wCAAwC;IACxC,cAAc,CAAC,EAAE;QACf,2CAA2C;QAC3C,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,2BAA2B;IAC3B,MAAM,CAAC,EAAE;QACP,uBAAuB;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,uBAAuB;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,6BAA6B;IAC7B,QAAQ,CAAC,EAAE;QACT,uBAAuB;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,uBAAuB;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,kDAAkD;QAClD,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,2BAA2B;IAC3B,IAAI,CAAC,EAAE;QACL,sCAAsC;QACtC,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,yBAAyB;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAGF,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,iBAAiB,CAEhF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQ/E;AAsDD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,YAAY,EAC1B,QAAQ,GAAE,cAAmB,GAC5B,oBAAoB,CA+GtB;AAGD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAGD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,eAAe,CAEhE;AAGD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI9C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,kBAAkB,CAgDzE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,CAAC,GAAG,SAAS,CAEf;AAGD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,GAAG,eAAe,EACtC,IAAI,EAAE,WAAW,EACjB,OAAO,cAAoB,GAC1B,OAAO,CAoCT;AAGD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,GAAG,eAAe,EACtC,IAAI,EAAE,WAAW,EACjB,MAAM,cAAoB,GACzB,GAAG,CAAC,MAAM,CAAC,CAoCb"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -153,6 +153,7 @@ export function resolveModuleConfig(moduleName, moduleConfig, defaults = {}) {
|
|
|
153
153
|
return {
|
|
154
154
|
name: moduleName,
|
|
155
155
|
openapi: moduleConfig.openapi,
|
|
156
|
+
screen: moduleConfig.screen === true,
|
|
156
157
|
contractOutput,
|
|
157
158
|
contractPublicOutput,
|
|
158
159
|
serviceTemplate,
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
# Screen Spec — Frontend Screen Contracts in OpenAPI
|
|
2
|
+
|
|
3
|
+
The Screen Spec feature repurposes standard OpenAPI constructs (`paths`, `schemas`, `links`, `security`) to declaratively define **frontend screen contracts** — bridging the API layer and UI components. A single YAML file drives frontend types, test scaffolding, and quality analysis.
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
Screen Spec (OpenAPI YAML)
|
|
7
|
+
├── micro-contracts generate ──┬── ViewModel Types (type-safe)
|
|
8
|
+
│ ├── Navigation Map (typed routing)
|
|
9
|
+
│ └── Event Hooks (typed analytics)
|
|
10
|
+
├── E2E scaffold ─── Playwright test stubs + coverage
|
|
11
|
+
└── Data lineage ─── ViewModel → API → DB traceability
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
> **Important**: This is NOT "auto-generated UI from schema" but rather **screen-level contract definition**, which aligns with micro-contracts' "Contract-first vertical slices" philosophy.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## The HTTP-Screen Analogy
|
|
19
|
+
|
|
20
|
+
Standard OpenAPI semantics map directly to screen specification concepts:
|
|
21
|
+
|
|
22
|
+
| OpenAPI Construct | API Usage | Screen Spec Usage |
|
|
23
|
+
| ---------------------- | ---------------------- | ------------------------------------------------------- |
|
|
24
|
+
| `paths: /home` | Endpoint | React/Vue route |
|
|
25
|
+
| `GET /home` | Fetch resource | **Render screen** — what the user sees |
|
|
26
|
+
| `POST /home` | Create/modify resource | **User action** — what the user can do |
|
|
27
|
+
| `parameters` | Filter/identify | **Screen init params** — route/query params |
|
|
28
|
+
| `responses.200.schema` | Response shape | **ViewModel** — typed interface for the screen |
|
|
29
|
+
| `requestBody` | Submitted data shape | **Action payload** — typed user action interface |
|
|
30
|
+
| `links` | HATEOAS related resources | **Forward navigation** — statically known screen targets |
|
|
31
|
+
| `security` | Auth requirement | **Auth guard** — does the screen require login? |
|
|
32
|
+
|
|
33
|
+
All standard OpenAPI tooling works out of the box: linters, documentation generators, and diff tools.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Required Extensions (`x-*`)
|
|
38
|
+
|
|
39
|
+
Only concerns with **no OpenAPI-native representation** need extensions:
|
|
40
|
+
|
|
41
|
+
| Extension | Required | Purpose | Justification |
|
|
42
|
+
| ------------------- | -------- | ----------------------------------------- | --------------------------------------------------------------- |
|
|
43
|
+
| `x-screen-const` | Yes* | Stable constant name (e.g., `HOME`) | No OpenAPI equivalent for generated symbol names |
|
|
44
|
+
| `x-screen-id` | Yes | Traceability ID (e.g., `SCR-001`) | Links to requirements and E2E annotations |
|
|
45
|
+
| `x-screen-name` | Yes* | Generated symbol name (e.g., `HomePage`) | Drives `use{Name}Events()`, `wrap{Name}ViewModel()` |
|
|
46
|
+
| `x-back-navigation` | No | History-based back navigation support | `links` only cover forward navigation with known targets |
|
|
47
|
+
| `x-events` | No | Analytics event declarations | No OpenAPI concept for client-side event tracking |
|
|
48
|
+
| `x-view-model` | No | Explicit ViewModel schema name | Alternative to auto-inference from `$ref` |
|
|
49
|
+
| `x-view-props` | No | ViewProps interface name | For framework-specific wrapper generation |
|
|
50
|
+
|
|
51
|
+
\* When `x-screen-id` is present, `x-screen-const` and `x-screen-name` are required (enforced by lint).
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Quick Start
|
|
56
|
+
|
|
57
|
+
### 1. Initialize a Screen Module
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npx micro-contracts init myScreens --screens
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
This command generates:
|
|
64
|
+
- `spec/myScreens/openapi/myScreens.yaml` — Starter screen spec (2-screen scaffold)
|
|
65
|
+
- `spec/default/templates/screen-navigation.hbs` — Navigation map template
|
|
66
|
+
- `spec/default/templates/screen-events.hbs` — Event hooks template
|
|
67
|
+
- `micro-contracts.config.yaml` — Module config with `screen: true`
|
|
68
|
+
|
|
69
|
+
### 2. Edit the Screen Spec
|
|
70
|
+
|
|
71
|
+
Edit `spec/myScreens/openapi/myScreens.yaml` to add your screen definitions.
|
|
72
|
+
|
|
73
|
+
### 3. Generate Code
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
npx micro-contracts generate
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Generated artifacts:
|
|
80
|
+
- `packages/contract/myScreens/schemas/types.ts` — ViewModel TypeScript types
|
|
81
|
+
- `frontend/src/screens/navigation.generated.ts` — Navigation map
|
|
82
|
+
- `frontend/src/screens/events.generated.ts` — Analytics event hooks
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Configuration
|
|
87
|
+
|
|
88
|
+
### `micro-contracts.config.yaml`
|
|
89
|
+
|
|
90
|
+
Screen modules are enabled with the `screen: true` flag:
|
|
91
|
+
|
|
92
|
+
```yaml
|
|
93
|
+
modules:
|
|
94
|
+
myScreens:
|
|
95
|
+
openapi: spec/myScreens/openapi/myScreens.yaml
|
|
96
|
+
screen: true
|
|
97
|
+
outputs:
|
|
98
|
+
frontend-api:
|
|
99
|
+
enabled: false # Not needed for screen modules
|
|
100
|
+
screen-navigation:
|
|
101
|
+
output: frontend/src/screens/navigation.generated.ts
|
|
102
|
+
template: screen-navigation.hbs
|
|
103
|
+
screen-events:
|
|
104
|
+
output: frontend/src/screens/events.generated.ts
|
|
105
|
+
template: screen-events.hbs
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Effects of `screen: true`:
|
|
109
|
+
- Suppresses `x-micro-contracts-service` / `x-micro-contracts-method` lint warnings
|
|
110
|
+
- Populates `TemplateContext.screens` with pre-parsed `ScreenContext[]`
|
|
111
|
+
- Enables screen-specific lint rules (`x-screen-id` requires `x-screen-const`/`x-screen-name`)
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Screen Spec YAML Structure
|
|
116
|
+
|
|
117
|
+
```yaml
|
|
118
|
+
openapi: '3.1.0'
|
|
119
|
+
info:
|
|
120
|
+
title: App Screen Specification
|
|
121
|
+
version: '1.0.0'
|
|
122
|
+
description: Screen contracts — not a server API
|
|
123
|
+
servers:
|
|
124
|
+
- url: /
|
|
125
|
+
description: Screen routes (client-side)
|
|
126
|
+
|
|
127
|
+
paths:
|
|
128
|
+
/home:
|
|
129
|
+
get:
|
|
130
|
+
operationId: renderHomePage
|
|
131
|
+
security: [{session: []}]
|
|
132
|
+
x-screen-const: HOME
|
|
133
|
+
x-screen-id: SCR-001
|
|
134
|
+
x-screen-name: HomePage
|
|
135
|
+
x-back-navigation: false
|
|
136
|
+
x-events:
|
|
137
|
+
- name: home_view
|
|
138
|
+
type: screen_view
|
|
139
|
+
method: trackView
|
|
140
|
+
- name: sign_out
|
|
141
|
+
type: user_action
|
|
142
|
+
method: trackSignOut
|
|
143
|
+
summary: Render home page
|
|
144
|
+
responses:
|
|
145
|
+
'200':
|
|
146
|
+
description: Home page ViewModel
|
|
147
|
+
content:
|
|
148
|
+
application/json:
|
|
149
|
+
schema:
|
|
150
|
+
$ref: '#/components/schemas/HomePageViewModel'
|
|
151
|
+
links:
|
|
152
|
+
goToSettings:
|
|
153
|
+
operationId: renderSettingsPage
|
|
154
|
+
goToChat:
|
|
155
|
+
operationId: renderChatPage
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Field Reference
|
|
159
|
+
|
|
160
|
+
**`operationId`** — Unique identifier referenced by generated code. The naming convention `render` + screen name + `Page` is recommended.
|
|
161
|
+
|
|
162
|
+
**`security`** — Auth guard. `[{session: []}]` means authentication is required; `[]` means no authentication needed.
|
|
163
|
+
|
|
164
|
+
**`x-screen-const`** — SCREAMING_SNAKE_CASE name used for constant access like `SCREENS.HOME`.
|
|
165
|
+
|
|
166
|
+
**`x-screen-id`** — Unique ID for requirements and test traceability. The format `SCR-{domain}-{number}` is recommended.
|
|
167
|
+
|
|
168
|
+
**`x-screen-name`** — PascalCase name for generated symbols like `useHomePageEvents()`.
|
|
169
|
+
|
|
170
|
+
**`x-back-navigation`** — When `true`, declares that the screen supports browser back or UI back button navigation. Unlike forward navigation covered by `links`, the back destination is determined at runtime.
|
|
171
|
+
|
|
172
|
+
**`x-events`** — Array of analytics event declarations. Each event has `name` (event name), `type` (category), and `method` (generated method name), with an optional `params` map of parameter names to types.
|
|
173
|
+
|
|
174
|
+
**`responses.200.links`** — Forward navigation targets. References target screens by `operationId`.
|
|
175
|
+
|
|
176
|
+
**`POST` operations** — A `POST` on the same path defines user actions (form submissions, button taps, etc.). Specify the action payload schema in `requestBody`.
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## TemplateContext.screens
|
|
181
|
+
|
|
182
|
+
When `screen: true` is enabled, `TemplateContext` includes a pre-parsed `screens: ScreenContext[]`. This eliminates the need to iterate over deeply nested `spec.paths` in templates.
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
interface ScreenContext {
|
|
186
|
+
route: string; // '/home'
|
|
187
|
+
screenConst: string; // 'HOME'
|
|
188
|
+
screenId: string; // 'SCR-001'
|
|
189
|
+
screenName: string; // 'HomePage'
|
|
190
|
+
operationId: string; // 'renderHomePage'
|
|
191
|
+
supportsBack: boolean; // false
|
|
192
|
+
viewModelSchema: string; // 'HomePageViewModel'
|
|
193
|
+
links: ScreenLink[]; // [{name, targetRoute, targetOperationId}]
|
|
194
|
+
events: ScreenEventDefinition[]; // [{name, type, method, params?}]
|
|
195
|
+
requiresAuth: boolean; // true
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Template Usage Comparison
|
|
200
|
+
|
|
201
|
+
**Using `screens[]` (recommended):**
|
|
202
|
+
|
|
203
|
+
```handlebars
|
|
204
|
+
{{#each screens}}
|
|
205
|
+
{{screenConst}}: { id: '{{screenId}}', route: '{{route}}' },
|
|
206
|
+
{{/each}}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**Iterating `spec.paths` directly (not recommended):**
|
|
210
|
+
|
|
211
|
+
```handlebars
|
|
212
|
+
{{#each spec.paths}}
|
|
213
|
+
{{#each this}}
|
|
214
|
+
{{#unless (eq @key "parameters")}}
|
|
215
|
+
{{#unless (eq @key "servers")}}
|
|
216
|
+
{{#unless (eq @key "summary")}}
|
|
217
|
+
{{#unless (eq @key "description")}}
|
|
218
|
+
{{#if this.x-screen-id}}
|
|
219
|
+
{{this.x-screen-const}}: { id: '{{this.x-screen-id}}', route: '{{@../key}}' },
|
|
220
|
+
{{/if}}
|
|
221
|
+
{{/unless}}
|
|
222
|
+
{{/unless}}
|
|
223
|
+
{{/unless}}
|
|
224
|
+
{{/unless}}
|
|
225
|
+
{{/each}}
|
|
226
|
+
{{/each}}
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Default Templates
|
|
232
|
+
|
|
233
|
+
### screen-navigation.hbs
|
|
234
|
+
|
|
235
|
+
Generates a navigation map. Outputs a `SCREENS` constant and `*_PAGE_LINKS` for each screen.
|
|
236
|
+
|
|
237
|
+
Example output:
|
|
238
|
+
|
|
239
|
+
```typescript
|
|
240
|
+
const _OP_ROUTES = {
|
|
241
|
+
renderHomePage: '/home',
|
|
242
|
+
renderSettingsPage: '/settings',
|
|
243
|
+
renderChatPage: '/chat',
|
|
244
|
+
} as const;
|
|
245
|
+
|
|
246
|
+
export const SCREENS = {
|
|
247
|
+
HOME: { id: 'SCR-001' as const, route: _OP_ROUTES.renderHomePage, supportsBack: false } as const,
|
|
248
|
+
SETTINGS: { id: 'SCR-002' as const, route: _OP_ROUTES.renderSettingsPage, supportsBack: true } as const,
|
|
249
|
+
} as const;
|
|
250
|
+
|
|
251
|
+
export const HOME_PAGE_LINKS = {
|
|
252
|
+
goToSettings: _OP_ROUTES.renderSettingsPage,
|
|
253
|
+
goToChat: _OP_ROUTES.renderChatPage,
|
|
254
|
+
} as const;
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### screen-events.hbs
|
|
258
|
+
|
|
259
|
+
Generates analytics event hooks. Outputs a `use{ScreenName}Events()` function for each screen that has `x-events`.
|
|
260
|
+
|
|
261
|
+
Example output:
|
|
262
|
+
|
|
263
|
+
```typescript
|
|
264
|
+
export function useHomePageEvents() {
|
|
265
|
+
return {
|
|
266
|
+
trackView: () =>
|
|
267
|
+
trackEvent('home_view', 'screen_view', {}),
|
|
268
|
+
trackSignOut: () =>
|
|
269
|
+
trackEvent('sign_out', 'user_action', {}),
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Events with parameters are also supported with type safety:
|
|
275
|
+
|
|
276
|
+
```typescript
|
|
277
|
+
export function useChatPageEvents() {
|
|
278
|
+
return {
|
|
279
|
+
trackMessageSend: (message_length: number) =>
|
|
280
|
+
trackEvent('chat_message_send', 'user_action', { message_length }),
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## Lint Rules
|
|
288
|
+
|
|
289
|
+
`micro-contracts lint` performs the following screen-specific checks:
|
|
290
|
+
|
|
291
|
+
| Code | Level | Description |
|
|
292
|
+
| ----------------------------- | ------- | -------------------------------------------------------- |
|
|
293
|
+
| `SCREEN_MISSING_CONST` | Error | `x-screen-id` present but `x-screen-const` missing |
|
|
294
|
+
| `SCREEN_MISSING_NAME` | Error | `x-screen-id` present but `x-screen-name` missing |
|
|
295
|
+
| `SCREEN_MISSING_OPERATION_ID` | Error | Screen operation missing `operationId` |
|
|
296
|
+
| `SCREEN_INVALID_EVENTS` | Error | `x-events` is not an array |
|
|
297
|
+
| `SCREEN_INVALID_EVENT` | Error | `x-events` item missing `name`, `type`, or `method` |
|
|
298
|
+
|
|
299
|
+
In `screen: true` modules, `MISSING_X_SERVICE` / `MISSING_X_METHOD` warnings are suppressed (screen specs do not need service/method declarations).
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## Custom Templates
|
|
304
|
+
|
|
305
|
+
You can extend the default templates or create new ones for additional generated artifacts. All `ScreenContext` fields are available in templates.
|
|
306
|
+
|
|
307
|
+
### ViewProps Template Example
|
|
308
|
+
|
|
309
|
+
`spec/default/templates/screen-view-props.hbs`:
|
|
310
|
+
|
|
311
|
+
```handlebars
|
|
312
|
+
{{#each screens}}
|
|
313
|
+
export interface {{screenName}}ViewProps {
|
|
314
|
+
// ViewModel: {{viewModelSchema}}
|
|
315
|
+
// Screen ID: {{screenId}}
|
|
316
|
+
}
|
|
317
|
+
{{/each}}
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
Add to config:
|
|
321
|
+
|
|
322
|
+
```yaml
|
|
323
|
+
outputs:
|
|
324
|
+
screen-view-props:
|
|
325
|
+
output: frontend/src/screens/view-props.generated.ts
|
|
326
|
+
template: screen-view-props.hbs
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### Available Template Context
|
|
330
|
+
|
|
331
|
+
| Field | Type | Description |
|
|
332
|
+
| ----------------- | --------- | -------------------------------------------------- |
|
|
333
|
+
| `screens` | array | `ScreenContext[]` — array of screen definitions |
|
|
334
|
+
| `spec` | object | Raw OpenAPI spec (for direct access when needed) |
|
|
335
|
+
| `title` | string | OpenAPI title |
|
|
336
|
+
| `version` | string | OpenAPI version |
|
|
337
|
+
| `moduleName` | string | Module name |
|
|
338
|
+
| `contractPackage` | string | Contract package import path |
|
|
339
|
+
| `schemaNames` | string[] | All schema names |
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
## Tiered Integration
|
|
344
|
+
|
|
345
|
+
### Tier 1 — Core (built into micro-contracts)
|
|
346
|
+
|
|
347
|
+
- Type definitions: `x-screen-*` fields on `OperationObject`
|
|
348
|
+
- Screen context extraction: `TemplateContext.screens`
|
|
349
|
+
- Lint rules: Screen spec consistency checks
|
|
350
|
+
- `init --screens`: Starter file generation
|
|
351
|
+
- Default templates: `screen-navigation.hbs`, `screen-events.hbs`
|
|
352
|
+
|
|
353
|
+
### Tier 2 — Optional Packages / Official Recipes (future)
|
|
354
|
+
|
|
355
|
+
| Package | Purpose |
|
|
356
|
+
| ------------------------------ | ------------------------------------------------------------------------ |
|
|
357
|
+
| `@micro-contracts/e2e-scaffold`| Parse screen spec to generate Playwright test stubs with coverage |
|
|
358
|
+
| ViewProp / data-testid pattern | Derive stable test IDs from ViewModel fields + `x-screen-const` |
|
|
359
|
+
|
|
360
|
+
### Tier 3 — Documentation Only (future)
|
|
361
|
+
|
|
362
|
+
| Pattern | Description |
|
|
363
|
+
| ------------------------- | -------------------------------------------------------------------- |
|
|
364
|
+
| Design tool integration | Link screen IDs to design tool frames via `x-pen-node` or similar |
|
|
365
|
+
| Requirements traceability | Link screens to user stories via `x-satisfies` |
|
|
366
|
+
| Data lineage declarations | Declare upstream API/DB origins on ViewModel schemas via `x-lineage-source` |
|
package/package.json
CHANGED