@techspokes/typescript-wsdl-client 0.32.0 → 0.34.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/dist/app/generateApp.d.ts.map +1 -1
- package/dist/app/generateApp.js +18 -1
- package/dist/test/mockData.d.ts.map +1 -1
- package/dist/test/mockData.js +5 -0
- package/docs/releases/v0.33.0.md +34 -0
- package/docs/releases/v0.34.0.md +30 -0
- package/docs/roadmap/README.md +8 -9
- package/docs/roadmap/v1.0-capability-conformance-framework.md +13 -5
- package/docs/roadmap/v1.0-release-candidate-gates.md +7 -2
- package/docs/roadmap/v1.0-wsdl-coverage-matrix.md +7 -9
- package/docs/testing.md +11 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateApp.d.ts","sourceRoot":"","sources":["../../src/app/generateApp.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"generateApp.d.ts","sourceRoot":"","sources":["../../src/app/generateApp.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAuqBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDzE"}
|
package/dist/app/generateApp.js
CHANGED
|
@@ -92,6 +92,22 @@ function isUrl(value) {
|
|
|
92
92
|
function toPosix(filePath) {
|
|
93
93
|
return filePath.split(path.sep).join("/");
|
|
94
94
|
}
|
|
95
|
+
function commonPathPrefix(paths) {
|
|
96
|
+
if (paths.length === 0)
|
|
97
|
+
return ".";
|
|
98
|
+
const [first, ...rest] = paths.map(filePath => path.resolve(filePath).split(path.sep));
|
|
99
|
+
let prefixLength = first.length;
|
|
100
|
+
for (const parts of rest) {
|
|
101
|
+
prefixLength = Math.min(prefixLength, parts.length);
|
|
102
|
+
for (let index = 0; index < prefixLength; index += 1) {
|
|
103
|
+
if (parts[index] !== first[index]) {
|
|
104
|
+
prefixLength = index;
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return first.slice(0, prefixLength).join(path.sep) || path.parse(paths[0]).root;
|
|
110
|
+
}
|
|
95
111
|
/**
|
|
96
112
|
* Resolves a WSDL source path relative to the app directory.
|
|
97
113
|
* URLs are returned as-is. File paths are computed relative to appDir.
|
|
@@ -536,6 +552,7 @@ function generateTsConfig(appDir, opts, force) {
|
|
|
536
552
|
// Compute include paths relative to app directory
|
|
537
553
|
const clientInclude = toPosix(path.relative(appDir, opts.clientDir)) + "/**/*.ts";
|
|
538
554
|
const gatewayInclude = toPosix(path.relative(appDir, opts.gatewayDir)) + "/**/*.ts";
|
|
555
|
+
const rootDir = toPosix(path.relative(appDir, commonPathPrefix([appDir, opts.clientDir, opts.gatewayDir]))) || ".";
|
|
539
556
|
const tsconfig = {
|
|
540
557
|
compilerOptions: {
|
|
541
558
|
module: "NodeNext",
|
|
@@ -546,7 +563,7 @@ function generateTsConfig(appDir, opts, force) {
|
|
|
546
563
|
skipLibCheck: true,
|
|
547
564
|
types: ["node"],
|
|
548
565
|
outDir: "dist",
|
|
549
|
-
rootDir
|
|
566
|
+
rootDir,
|
|
550
567
|
},
|
|
551
568
|
include: [
|
|
552
569
|
"*.ts",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockData.d.ts","sourceRoot":"","sources":["../../src/test/mockData.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;KACnC,CAAC;IACF,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAClD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACnD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;YACvC,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;YAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;SACpB,CAAC,CAAC,CAAC;KACL,CAAC;IACF,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE;YACP,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAC;YAChC,SAAS,EAAE,MAAM,CAAC;YAClB,cAAc,EAAE,MAAM,CAAC;YACvB,UAAU,EAAE,MAAM,EAAE,CAAC;SACtB,CAAC;KACH,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/B,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;SAAE,CAAC,CAAC;QAC1D,YAAY,CAAC,EAAE,KAAK,CAAC;YACnB,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;YAC1B,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,EAAE,KAAK,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC;gBACb,MAAM,EAAE,MAAM,CAAC;gBACf,GAAG,EAAE,MAAM,CAAC;gBACZ,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;gBAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;gBACnB,YAAY,EAAE,MAAM,CAAC;gBACrB,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,WAAW,EAAE,MAAM,CAAC;aACrB,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAwCjG;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EACxB,IAAI,CAAC,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EACrB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"mockData.d.ts","sourceRoot":"","sources":["../../src/test/mockData.ts"],"names":[],"mappings":"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"}
|
package/dist/test/mockData.js
CHANGED
|
@@ -117,6 +117,11 @@ export function generateMockData(typeName, catalog, opts, visited, depth) {
|
|
|
117
117
|
const value = generateMockPrimitive(propType, propName);
|
|
118
118
|
result[propName] = isArray ? [value] : value;
|
|
119
119
|
}
|
|
120
|
+
else if (catalog.aliases?.some(alias => alias.name === propType)) {
|
|
121
|
+
const alias = catalog.aliases.find(entry => entry.name === propType);
|
|
122
|
+
const value = generateMockPrimitive(alias.tsType, propName);
|
|
123
|
+
result[propName] = isArray ? [value] : value;
|
|
124
|
+
}
|
|
120
125
|
else {
|
|
121
126
|
// Complex type — recurse
|
|
122
127
|
const childData = generateMockData(propType, catalog, opts, newVisited, currentDepth + 1);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# TypeScript WSDL Client v0.33.0
|
|
2
|
+
|
|
3
|
+
## Generated Artifact Conformance
|
|
4
|
+
|
|
5
|
+
This release extends the WSDL capability conformance framework into generated test suites and generated app scaffolds for the current supported and partial capability rows.
|
|
6
|
+
|
|
7
|
+
## What This Improves
|
|
8
|
+
|
|
9
|
+
Maintainers can now verify that documented WSDL support survives the full generated artifact path: compile, client, OpenAPI, gateway runtime, generated tests, and generated app scaffolds. This makes the support matrix more useful as a 1.0 readiness gate because it proves consumer-facing generated files work together instead of only proving internal compiler behavior.
|
|
10
|
+
|
|
11
|
+
Generated app scaffolds now emit a `tsconfig.json` root that covers sibling client and gateway folders. Generated test mocks also produce valid primitive values for request properties backed by simple type aliases, including `xs:union` aliases.
|
|
12
|
+
|
|
13
|
+
## Highlights
|
|
14
|
+
|
|
15
|
+
- Adds generated-test conformance evidence for supported and partial WSDL capability rows.
|
|
16
|
+
- Adds generated app scaffold conformance evidence for supported and partial WSDL capability rows.
|
|
17
|
+
- Fixes generated app `tsconfig.json` roots for sibling client and gateway artifacts.
|
|
18
|
+
- Fixes generated mock payloads for alias-backed request properties.
|
|
19
|
+
- Updates the roadmap so the next 1.0 slice is validation-gate wiring.
|
|
20
|
+
|
|
21
|
+
## Upgrade Notes
|
|
22
|
+
|
|
23
|
+
No special upgrade steps.
|
|
24
|
+
|
|
25
|
+
## Validation
|
|
26
|
+
|
|
27
|
+
- CI passed.
|
|
28
|
+
- NPM package contents were validated.
|
|
29
|
+
- Agent skill artifact was validated and packaged.
|
|
30
|
+
- Release preflight passed against the target tag.
|
|
31
|
+
|
|
32
|
+
## Notes
|
|
33
|
+
|
|
34
|
+
Release tag: `v0.33.0`.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# TypeScript WSDL Client v0.34.0
|
|
2
|
+
|
|
3
|
+
## Conformance Gate Readiness
|
|
4
|
+
|
|
5
|
+
This release makes WSDL conformance coverage explicit in the release preflight path without adding a duplicate full test run.
|
|
6
|
+
|
|
7
|
+
## What This Improves
|
|
8
|
+
|
|
9
|
+
Maintainers can now see whether the focused conformance command, broad Vitest discovery, and CI script still line up before a release tag is created. The roadmap also now treats conformance gate wiring as shipped, which moves the 1.0 plan toward resolving remaining explicit deferrals and running release-candidate gates.
|
|
10
|
+
|
|
11
|
+
## Highlights
|
|
12
|
+
|
|
13
|
+
- Adds a release preflight `conformance-gate` check for `test:conformance`, `npm test`, and `npm run ci` wiring.
|
|
14
|
+
- Documents `npm run test:conformance` as the focused command for WSDL capability rows and fixtures.
|
|
15
|
+
- Updates the 1.0 roadmap so validation-gate wiring is no longer an open decision.
|
|
16
|
+
|
|
17
|
+
## Upgrade Notes
|
|
18
|
+
|
|
19
|
+
No special upgrade steps.
|
|
20
|
+
|
|
21
|
+
## Validation
|
|
22
|
+
|
|
23
|
+
- CI passed.
|
|
24
|
+
- NPM package contents were validated.
|
|
25
|
+
- Agent skill artifact was validated and packaged.
|
|
26
|
+
- Release preflight passed against the target tag.
|
|
27
|
+
|
|
28
|
+
## Notes
|
|
29
|
+
|
|
30
|
+
Release tag: `v0.34.0`.
|
package/docs/roadmap/README.md
CHANGED
|
@@ -8,7 +8,7 @@ See the root [README.md](../../README.md) for project overview and the root [ROA
|
|
|
8
8
|
|
|
9
9
|
This plan turns the 1.0 roadmap into implementation slices that can be picked up independently. Each slice has its own plan document with scope, testing strategy, acceptance gates, and release implications.
|
|
10
10
|
|
|
11
|
-
The plan is optimized for preserving quality. The contract and compatibility baselines now exist, choice union mode is shipped,
|
|
11
|
+
The plan is optimized for preserving quality. The contract and compatibility baselines now exist, choice union mode is shipped, JSON array streaming is shipped, and the conformance framework is wired into validation gates. The remaining readiness work is to resolve any explicit conformance deferrals and run the final release candidate gate pass.
|
|
12
12
|
|
|
13
13
|
## Route Summary
|
|
14
14
|
|
|
@@ -18,9 +18,9 @@ The plan is optimized for preserving quality. The contract and compatibility bas
|
|
|
18
18
|
| OpenAPI compatibility | [OpenAPI Fastify Compatibility](v1.0-openapi-fastify-compatibility.md) | baseline complete | Schema strategy is proven |
|
|
19
19
|
| Choice union mode | [Choice Union Mode](v1.0-choice-union-mode.md) | complete | Implemented in `0.26.0` |
|
|
20
20
|
| JSON array streaming | [JSON Array Streaming](v1.0-json-array-streaming.md) | complete | Implemented in `0.28.0` |
|
|
21
|
-
| Conformance framework | [Capability Conformance Framework](v1.0-capability-conformance-framework.md) |
|
|
22
|
-
| WSDL coverage matrix | [WSDL Coverage Matrix](v1.0-wsdl-coverage-matrix.md) |
|
|
23
|
-
| Release candidate | [Release Candidate Gates](v1.0-release-candidate-gates.md) |
|
|
21
|
+
| Conformance framework | [Capability Conformance Framework](v1.0-capability-conformance-framework.md) | gate wired | Pipeline claims are test-backed |
|
|
22
|
+
| WSDL coverage matrix | [WSDL Coverage Matrix](v1.0-wsdl-coverage-matrix.md) | gate wired | Feature support is test-backed |
|
|
23
|
+
| Release candidate | [Release Candidate Gates](v1.0-release-candidate-gates.md) | next | 1.0 release is repeatable |
|
|
24
24
|
|
|
25
25
|
## Execution Order
|
|
26
26
|
|
|
@@ -42,11 +42,11 @@ JSON array streaming is complete in `0.28.0`. The default `ndjson` format remain
|
|
|
42
42
|
|
|
43
43
|
### Slice 5: Capability Conformance Framework
|
|
44
44
|
|
|
45
|
-
The registry, fixture strategy, compile runner, client evidence, OpenAPI evidence, gateway runtime evidence, documentation drift check,
|
|
45
|
+
The registry, fixture strategy, compile runner, client evidence, OpenAPI evidence, gateway runtime evidence, generated-test evidence, app evidence, documentation drift check, generated support matrix, and validation-gate wiring are shipped. Keep `npm run test:conformance` as the focused local command while broad Vitest discovery covers conformance in `npm test`, `npm run ci`, and release preflight.
|
|
46
46
|
|
|
47
47
|
### Slice 6: WSDL Coverage Matrix
|
|
48
48
|
|
|
49
|
-
The first WSDL matrix rows now exist as conformance registry entries with compile, client, OpenAPI, gateway runtime,
|
|
49
|
+
The first WSDL matrix rows now exist as conformance registry entries with compile, client, OpenAPI, gateway runtime, generated-test, app, documentation, and release-gate evidence. The next work is to keep those rows current while release candidate gates are prepared.
|
|
50
50
|
|
|
51
51
|
### Slice 7: Release Candidate Gates
|
|
52
52
|
|
|
@@ -54,8 +54,6 @@ Run the release candidate gates after feature work and documentation have conver
|
|
|
54
54
|
|
|
55
55
|
## Remaining Before 1.0
|
|
56
56
|
|
|
57
|
-
- Extend the capability registry beyond gateway runtime evidence into generated-test and app evidence.
|
|
58
|
-
- Add generated-test and app checks for supported and partial WSDL rows where those surfaces are part of the contract.
|
|
59
57
|
- Turn remaining unsupported, diagnostic, or partial matrix rows into diagnostics, documentation, or scoped fixes.
|
|
60
58
|
- Confirm `docs/supported-patterns.md` matches the matrix.
|
|
61
59
|
- Run the release-candidate gates.
|
|
@@ -85,7 +83,8 @@ Run the release candidate gates after feature work and documentation have conver
|
|
|
85
83
|
|
|
86
84
|
### Coverage Gate
|
|
87
85
|
|
|
88
|
-
- A capability conformance matrix runs under test automation.
|
|
86
|
+
- A capability conformance matrix runs under broad Vitest test automation.
|
|
87
|
+
- Release preflight verifies the focused conformance command and CI wiring.
|
|
89
88
|
- Each matrix entry has a fixture, status, and stage expectations.
|
|
90
89
|
- Unsupported features fail loudly or are documented as deliberately unsupported.
|
|
91
90
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Version 1.0 Capability Conformance Framework
|
|
2
2
|
|
|
3
|
-
Status: Phase
|
|
3
|
+
Status: Phase 5 shipped; release-candidate gate pass remaining before `1.0.0`.
|
|
4
4
|
|
|
5
5
|
Plan for turning SOAP, WSDL, OpenAPI, gateway, app, generated-test, and documentation support claims into fixture-backed conformance evidence.
|
|
6
6
|
|
|
7
|
-
Phase 1 shipped a TypeScript registry, reusable WSDL fixtures, compile-stage runner, documentation drift tests, and generated public support matrix. Phase 2 added generated client type-checking, OpenAPI validation, and executable diagnostics for terminal rows. Phase 3 added generated gateway type-checking and Fastify runtime evidence for current supported and partial rows.
|
|
7
|
+
Phase 1 shipped a TypeScript registry, reusable WSDL fixtures, compile-stage runner, documentation drift tests, and generated public support matrix. Phase 2 added generated client type-checking, OpenAPI validation, and executable diagnostics for terminal rows. Phase 3 added generated gateway type-checking and Fastify runtime evidence for current supported and partial rows. Phase 4 added generated-test and app scaffold evidence for those rows. Phase 5 wired conformance into validation gates through broad Vitest discovery and release preflight script verification.
|
|
8
8
|
|
|
9
9
|
See the root [README.md](../../README.md) for project overview and [Version 1.0 Roadmap Plan](README.md) for the complete 1.0 route.
|
|
10
10
|
|
|
@@ -528,23 +528,32 @@ Run `npm run smoke:pipeline` as a final end-to-end guard if gateway generator be
|
|
|
528
528
|
|
|
529
529
|
## Phase 4: Generated Test And App Evidence
|
|
530
530
|
|
|
531
|
+
Phase 4 is implemented for the current supported and partial WSDL rows. Keep this section as the baseline for future generated-test and app conformance rows.
|
|
532
|
+
|
|
531
533
|
Extend relevant rows to generate `--test-dir` output and app scaffolds. Run generated tests only for rows where generated-test behavior is part of the capability contract.
|
|
532
534
|
|
|
535
|
+
Generated-test and app evidence must consume generated artifacts as a consumer would. Route paths, operation IDs, schemas, and app wiring must come from generated OpenAPI, gateway, test, and app files. Do not add conformance-only route overrides or fixture-specific route maps to make generated tests pass.
|
|
536
|
+
|
|
533
537
|
Acceptance criteria:
|
|
534
538
|
|
|
535
539
|
- Generated tests pass for supported rows that request them.
|
|
536
540
|
- Generated validation tests include capability-specific invalid cases.
|
|
537
541
|
- App scaffolds type-check when the capability affects app wiring.
|
|
538
542
|
- Runtime dependency assumptions stay aligned with `package.json`.
|
|
543
|
+
- Generated app `tsconfig.json` covers sibling client and gateway artifacts when those folders are outside the app directory.
|
|
544
|
+
- Diagnostic and unsupported rows remain compile-terminal.
|
|
539
545
|
|
|
540
546
|
## Phase 5: Documentation And Release Gates
|
|
541
547
|
|
|
542
|
-
|
|
548
|
+
Phase 5 is implemented. Keep this section as the baseline for conformance gate ownership.
|
|
549
|
+
|
|
550
|
+
`npm run test:conformance` remains the focused maintainer command for WSDL capability rows. `npm test` and `npm run ci` cover conformance through broad Vitest discovery, so release preflight does not run a duplicate full conformance pass. Release preflight instead runs a cheap `conformance-gate` script check that fails if the focused command disappears, if `npm test` becomes scoped away from `test/conformance`, or if `npm run ci` stops running the broad test command.
|
|
543
551
|
|
|
544
552
|
Acceptance criteria:
|
|
545
553
|
|
|
546
554
|
- `docs/supported-patterns.md` cannot drift from the registry.
|
|
547
|
-
- CI
|
|
555
|
+
- CI runs conformance through broad Vitest discovery.
|
|
556
|
+
- Release preflight verifies conformance command and CI wiring.
|
|
548
557
|
- Full conformance can run locally before `1.0.0`.
|
|
549
558
|
- Release notes can cite capability IDs for behavior changes.
|
|
550
559
|
|
|
@@ -561,7 +570,6 @@ Acceptance criteria:
|
|
|
561
570
|
|
|
562
571
|
## Open Decisions
|
|
563
572
|
|
|
564
|
-
- Decide how much generated output type-checking is acceptable in CI runtime.
|
|
565
573
|
- Decide which inspector output format becomes public before `1.0.0`.
|
|
566
574
|
- Decide whether docs should remain manually maintained or eventually generated from the registry.
|
|
567
575
|
|
|
@@ -33,7 +33,11 @@ Run `npm run docs:validate`. Confirm README, CLI reference, API reference, confi
|
|
|
33
33
|
|
|
34
34
|
### Test Gate
|
|
35
35
|
|
|
36
|
-
Run `npm test`. Confirm unit, snapshot, and
|
|
36
|
+
Run `npm test`. Confirm unit, snapshot, integration, and conformance suites cover the 1.0 contract.
|
|
37
|
+
|
|
38
|
+
### Conformance Gate
|
|
39
|
+
|
|
40
|
+
Run `npm run test:conformance` when changing capability rows or fixture-backed behavior. Confirm `npm test` and `npm run ci` keep broad Vitest discovery so `test/conformance` stays covered, and confirm release preflight reports a passing `conformance-gate` script check.
|
|
37
41
|
|
|
38
42
|
### Smoke Gate
|
|
39
43
|
|
|
@@ -53,7 +57,7 @@ Run the supported Node.js floor and the newest active Node.js line in CI before
|
|
|
53
57
|
|
|
54
58
|
### Release Gate
|
|
55
59
|
|
|
56
|
-
Run `npm run release:preflight -- v1.0.0` during release preparation. Confirm release notes, changelog, dependency pins, generated examples, CI, and skill packaging pass.
|
|
60
|
+
Run `npm run release:preflight -- v1.0.0` during release preparation. Confirm release notes, changelog, dependency pins, conformance wiring, generated examples, CI, and skill packaging pass.
|
|
57
61
|
|
|
58
62
|
## Documentation Checklist
|
|
59
63
|
|
|
@@ -62,6 +66,7 @@ Run `npm run release:preflight -- v1.0.0` during release preparation. Confirm re
|
|
|
62
66
|
- API reference lists implemented options only.
|
|
63
67
|
- Configuration docs describe both stream formats.
|
|
64
68
|
- Supported patterns reflects the WSDL matrix.
|
|
69
|
+
- The conformance gate documents `npm run test:conformance`, broad Vitest discovery, and release preflight wiring.
|
|
65
70
|
- Production docs describe terminal-error behavior for both stream formats.
|
|
66
71
|
- Migration docs explain any behavior changes since `0.x`.
|
|
67
72
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Version 1.0 WSDL Coverage Matrix
|
|
2
2
|
|
|
3
|
-
Status:
|
|
3
|
+
Status: generated-test, app evidence, and validation-gate wiring shipped before `1.0.0`.
|
|
4
4
|
|
|
5
5
|
Plan for turning WSDL and XSD support claims into automated, fixture-backed evidence before 1.0. This is the first domain under the [Capability Conformance Framework](v1.0-capability-conformance-framework.md).
|
|
6
6
|
|
|
7
|
-
The initial fixture-backed compile matrix shipped in `0.30.2` and `0.30.3`. Client, OpenAPI,
|
|
7
|
+
The initial fixture-backed compile matrix shipped in `0.30.2` and `0.30.3`. Client, OpenAPI, gateway runtime, generated-test, and app evidence now prove the current supported and partial rows, and terminal rows have executable diagnostics. `npm test` and `npm run ci` cover the conformance suite through broad Vitest discovery, and release preflight verifies that the script wiring remains intact.
|
|
8
8
|
|
|
9
9
|
See the root [README.md](../../README.md) for project overview and [Version 1.0 Roadmap Plan](README.md) for the complete 1.0 route.
|
|
10
10
|
|
|
@@ -30,8 +30,6 @@ Each matrix row should have a minimal fixture, an expected support status, and a
|
|
|
30
30
|
|
|
31
31
|
## Remaining Scope
|
|
32
32
|
|
|
33
|
-
- Add stage expectations for generated tests and app scaffolds where those surfaces are part of a capability contract.
|
|
34
|
-
- Add generated request and response fixtures for generated-test coverage where HTTP behavior is part of a capability contract.
|
|
35
33
|
- Keep diagnostics executable as more unsupported rows are added.
|
|
36
34
|
- Keep fixture metadata useful for a future public conformance fixture corpus.
|
|
37
35
|
- Preserve the weather smoke fixture as the canonical end-to-end happy path.
|
|
@@ -154,14 +152,14 @@ Partial rows must prove only the documented subset. `xs:anyAttribute` should not
|
|
|
154
152
|
|
|
155
153
|
### Next Slice
|
|
156
154
|
|
|
157
|
-
The next slice is
|
|
155
|
+
The next slice is release-candidate preparation. Run it before adding more feature rows unless a production bug requires a focused diagnostic or support decision.
|
|
158
156
|
|
|
159
157
|
Work items:
|
|
160
158
|
|
|
161
|
-
-
|
|
162
|
-
-
|
|
163
|
-
-
|
|
164
|
-
-
|
|
159
|
+
- Keep `npm run test:conformance` as the focused command for maintainers who want only conformance checks.
|
|
160
|
+
- Keep `npm test` and `npm run ci` broad enough for Vitest to discover `test/conformance`.
|
|
161
|
+
- Keep release preflight's `conformance-gate` script check aligned with the package scripts.
|
|
162
|
+
- Confirm release preflight runtime remains acceptable.
|
|
165
163
|
- Keep diagnostic and unsupported rows stopped at compile.
|
|
166
164
|
- Update public docs only when a row status or public contract changes.
|
|
167
165
|
|
package/docs/testing.md
CHANGED
|
@@ -21,6 +21,7 @@ npm test # All Vitest tests
|
|
|
21
21
|
npm run test:unit # Unit tests only
|
|
22
22
|
npm run test:snap # Snapshot tests only
|
|
23
23
|
npm run test:integration # Integration tests only
|
|
24
|
+
npm run test:conformance # WSDL capability conformance tests only
|
|
24
25
|
npm run test:watch # Watch mode for development
|
|
25
26
|
```
|
|
26
27
|
|
|
@@ -169,6 +170,16 @@ import { pathToFileURL } from "node:url";
|
|
|
169
170
|
const pluginModule = await import(pathToFileURL(join(outDir, "gateway", "plugin.ts")).href);
|
|
170
171
|
```
|
|
171
172
|
|
|
173
|
+
## Conformance Tests
|
|
174
|
+
|
|
175
|
+
Conformance tests live under `test/conformance/` and prove WSDL capability claims through committed fixtures, registry rows, generated artifacts, diagnostics, and documentation alignment. Use the focused command when changing capability rows or fixture-backed behavior:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
npm run test:conformance
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
`npm test` includes the conformance suite through normal Vitest discovery. `npm run ci` and release preflight cover conformance through that broad test command, while release preflight also checks that the focused command and broad CI discovery remain wired.
|
|
182
|
+
|
|
172
183
|
## Known Issues
|
|
173
184
|
|
|
174
185
|
### ArrayOf* Schema-Type Mismatch (Resolved)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@techspokes/typescript-wsdl-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.34.0",
|
|
4
4
|
"description": "Turn legacy WSDL/SOAP services into typed TypeScript clients, OpenAPI 3.1 specs, and production-ready Fastify REST gateways. Built for enterprise SOAP modernization.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"wsdl",
|