The client document is now the sample server's live document (core plus esb, UI API 1.8.0) merged
with the extension documents of every qbit checked out beside this repository: health (qqq), alerts,
assistant, collaboration, data-analysis, db-performance, edi, qa-capture, quick-search,
release-notes, secured-data and sql-workbench. 202 operations, 136 of them from extensions.
- scripts/merge-spec.mjs records each extension's path prefix and operationIds in
info.x-qqq-extensions, and accepts an extension the core input already carries when its
operations are identical (the live document's esb), instead of failing on the duplicate.
- scripts/merge-extensions.mjs (npm run spec:merge-extensions) finds the documents, merges them and
writes openapi/extension-sources.json with each document's version, branch and commit.
- scripts/gen-operations.mjs adds `extension` to OperationInfo (from x-qqq-extensions, else the
/qbit/{name} or established prefix) and exports DOCUMENT_EXTENSIONS.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
33 lines
1.2 KiB
JSON
33 lines
1.2 KiB
JSON
{
|
|
"name": "qqq-cli-workspace",
|
|
"private": true,
|
|
"description": "Reference CLI, generated TypeScript client, mock server and conformance suite for the QQQ UI API (/qqq/v1).",
|
|
"license": "Apache-2.0",
|
|
"type": "module",
|
|
"engines": {
|
|
"node": ">=20"
|
|
},
|
|
"workspaces": [
|
|
"packages/ui-api-client",
|
|
"packages/core",
|
|
"packages/conformance",
|
|
"packages/cli"
|
|
],
|
|
"scripts": {
|
|
"spec:merge": "node scripts/merge-spec.mjs --out packages/ui-api-client/openapi/qqq-v1.json",
|
|
"spec:merge-extensions": "node scripts/merge-extensions.mjs",
|
|
"generate": "npm run generate -w @qrun-io/qqq-ui-api-client && node scripts/gen-operations.mjs",
|
|
"build": "npm run build -w @qrun-io/qqq-ui-api-client && npm run build -w @qrun-io/qqq-core && npm run build -w @qrun-io/qqq-ui-api-conformance && npm run build -w @qrun-io/qqq-cli",
|
|
"test": "npm test --workspaces --if-present",
|
|
"mock": "prism mock --dynamic --port 4010 packages/ui-api-client/openapi/qqq-v1.json",
|
|
"prepublishOnly": "npm run build",
|
|
"lint": "node scripts/lint.mjs"
|
|
},
|
|
"devDependencies": {
|
|
"@stoplight/prism-cli": "5.16.0",
|
|
"@types/node": "22.15.3",
|
|
"typescript": "5.8.3",
|
|
"yaml": "2.9.1"
|
|
}
|
|
}
|