@zuplo/cli 7.10.0 → 7.11.1

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.
Files changed (310) hide show
  1. package/dist/common/worker-output.d.ts +7 -0
  2. package/dist/common/worker-output.d.ts.map +1 -1
  3. package/dist/common/worker-output.js +39 -0
  4. package/dist/common/worker-output.js.map +1 -1
  5. package/dist/tsconfig.tsbuildinfo +1 -1
  6. package/node_modules/@hono/node-server/README.md +2 -0
  7. package/node_modules/@hono/node-server/dist/index.cjs +1 -1
  8. package/node_modules/@hono/node-server/dist/index.mjs +1 -1
  9. package/node_modules/@hono/node-server/dist/serve-static.cjs +2 -1
  10. package/node_modules/@hono/node-server/dist/serve-static.mjs +2 -1
  11. package/node_modules/@hono/node-server/package.json +1 -1
  12. package/node_modules/@posthog/core/dist/metrics/index.d.ts +9 -0
  13. package/node_modules/@posthog/core/dist/metrics/index.d.ts.map +1 -1
  14. package/node_modules/@posthog/core/dist/metrics/index.js +38 -3
  15. package/node_modules/@posthog/core/dist/metrics/index.mjs +38 -3
  16. package/node_modules/@posthog/core/dist/metrics/types.d.ts +7 -2
  17. package/node_modules/@posthog/core/dist/metrics/types.d.ts.map +1 -1
  18. package/node_modules/@posthog/core/dist/traces/ids.d.ts.map +1 -1
  19. package/node_modules/@posthog/core/dist/traces/ids.js +2 -2
  20. package/node_modules/@posthog/core/dist/traces/ids.mjs +2 -2
  21. package/node_modules/@posthog/core/dist/types.d.ts +1 -1
  22. package/node_modules/@posthog/core/dist/types.d.ts.map +1 -1
  23. package/node_modules/@posthog/core/package.json +4 -3
  24. package/node_modules/@posthog/core/src/metrics/index.spec.ts +75 -0
  25. package/node_modules/@posthog/core/src/metrics/index.ts +60 -0
  26. package/node_modules/@posthog/core/src/metrics/types.ts +7 -1
  27. package/node_modules/@posthog/core/src/traces/ids.ts +4 -2
  28. package/node_modules/@posthog/core/src/types.ts +1 -1
  29. package/node_modules/@posthog/types/dist/capture-metric.d.ts +10 -0
  30. package/node_modules/@posthog/types/dist/capture-metric.d.ts.map +1 -1
  31. package/node_modules/@posthog/types/dist/capture.d.ts +1 -1
  32. package/node_modules/@posthog/types/dist/capture.d.ts.map +1 -1
  33. package/node_modules/@posthog/types/dist/index.d.ts +1 -1
  34. package/node_modules/@posthog/types/dist/index.d.ts.map +1 -1
  35. package/node_modules/@posthog/types/package.json +1 -1
  36. package/node_modules/@posthog/types/src/capture-metric.ts +11 -0
  37. package/node_modules/@posthog/types/src/capture.ts +1 -1
  38. package/node_modules/@posthog/types/src/index.ts +1 -0
  39. package/node_modules/@zuplo/core/customer.cli.minified.js +272 -261
  40. package/node_modules/@zuplo/core/index.minified.js +276 -265
  41. package/node_modules/@zuplo/core/package.json +1 -1
  42. package/node_modules/@zuplo/graphql/package.json +1 -1
  43. package/node_modules/@zuplo/openapi-tools/package.json +5 -2
  44. package/node_modules/@zuplo/otel/package.json +1 -1
  45. package/node_modules/@zuplo/runtime/out/esm/{chunk-YJ2BHVUH.js → chunk-CDEAY3VY.js} +2 -2
  46. package/node_modules/@zuplo/runtime/out/esm/chunk-LVSZ3WTO.js +37 -0
  47. package/node_modules/@zuplo/runtime/out/esm/chunk-LVSZ3WTO.js.map +1 -0
  48. package/node_modules/@zuplo/runtime/out/esm/{chunk-VTO3F6DK.js → chunk-NUVXDVLJ.js} +2 -2
  49. package/node_modules/@zuplo/runtime/out/esm/{chunk-6YPRGG62.js → chunk-RHU3Z7DA.js} +108 -108
  50. package/node_modules/@zuplo/runtime/out/esm/chunk-RHU3Z7DA.js.map +1 -0
  51. package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
  52. package/node_modules/@zuplo/runtime/out/esm/internal/index.js +1 -1
  53. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +1 -1
  54. package/node_modules/@zuplo/runtime/out/esm/mocks/index.js +1 -1
  55. package/node_modules/@zuplo/runtime/out/esm/sdks/aws/index.js +1 -1
  56. package/node_modules/@zuplo/runtime/out/types/index.d.ts +15 -24
  57. package/node_modules/@zuplo/runtime/out/types/internal/index.d.ts +14 -0
  58. package/node_modules/@zuplo/runtime/package.json +1 -1
  59. package/package.json +15 -12
  60. package/dist/__tests__/archive-utils.test.d.ts +0 -2
  61. package/dist/__tests__/archive-utils.test.d.ts.map +0 -1
  62. package/dist/__tests__/archive-utils.test.js +0 -50
  63. package/dist/__tests__/archive-utils.test.js.map +0 -1
  64. package/dist/__tests__/import-openapi.test.d.ts +0 -2
  65. package/dist/__tests__/import-openapi.test.d.ts.map +0 -1
  66. package/dist/__tests__/import-openapi.test.js +0 -251
  67. package/dist/__tests__/import-openapi.test.js.map +0 -1
  68. package/dist/__tests__/integration/confirm-linked-config.integration.test.d.ts +0 -2
  69. package/dist/__tests__/integration/confirm-linked-config.integration.test.d.ts.map +0 -1
  70. package/dist/__tests__/integration/confirm-linked-config.integration.test.js +0 -202
  71. package/dist/__tests__/integration/confirm-linked-config.integration.test.js.map +0 -1
  72. package/dist/__tests__/integration/confirm-production-deploy.integration.test.d.ts +0 -2
  73. package/dist/__tests__/integration/confirm-production-deploy.integration.test.d.ts.map +0 -1
  74. package/dist/__tests__/integration/confirm-production-deploy.integration.test.js +0 -184
  75. package/dist/__tests__/integration/confirm-production-deploy.integration.test.js.map +0 -1
  76. package/dist/__tests__/integration/custom-domain.integration.test.d.ts +0 -2
  77. package/dist/__tests__/integration/custom-domain.integration.test.d.ts.map +0 -1
  78. package/dist/__tests__/integration/custom-domain.integration.test.js +0 -563
  79. package/dist/__tests__/integration/custom-domain.integration.test.js.map +0 -1
  80. package/dist/__tests__/integration/delete.integration.test.d.ts +0 -2
  81. package/dist/__tests__/integration/delete.integration.test.d.ts.map +0 -1
  82. package/dist/__tests__/integration/delete.integration.test.js +0 -262
  83. package/dist/__tests__/integration/delete.integration.test.js.map +0 -1
  84. package/dist/__tests__/integration/deploy.integration.test.d.ts +0 -2
  85. package/dist/__tests__/integration/deploy.integration.test.d.ts.map +0 -1
  86. package/dist/__tests__/integration/deploy.integration.test.js +0 -519
  87. package/dist/__tests__/integration/deploy.integration.test.js.map +0 -1
  88. package/dist/__tests__/integration/get-project-param.integration.test.d.ts +0 -2
  89. package/dist/__tests__/integration/get-project-param.integration.test.d.ts.map +0 -1
  90. package/dist/__tests__/integration/get-project-param.integration.test.js +0 -305
  91. package/dist/__tests__/integration/get-project-param.integration.test.js.map +0 -1
  92. package/dist/__tests__/integration/info.integration.test.d.ts +0 -2
  93. package/dist/__tests__/integration/info.integration.test.d.ts.map +0 -1
  94. package/dist/__tests__/integration/info.integration.test.js +0 -293
  95. package/dist/__tests__/integration/info.integration.test.js.map +0 -1
  96. package/dist/__tests__/integration/jest-mocks-setup.d.ts +0 -2
  97. package/dist/__tests__/integration/jest-mocks-setup.d.ts.map +0 -1
  98. package/dist/__tests__/integration/jest-mocks-setup.js +0 -104
  99. package/dist/__tests__/integration/jest-mocks-setup.js.map +0 -1
  100. package/dist/__tests__/integration/jest-setup.d.ts +0 -2
  101. package/dist/__tests__/integration/jest-setup.d.ts.map +0 -1
  102. package/dist/__tests__/integration/jest-setup.js +0 -12
  103. package/dist/__tests__/integration/jest-setup.js.map +0 -1
  104. package/dist/__tests__/integration/link.integration.test.d.ts +0 -2
  105. package/dist/__tests__/integration/link.integration.test.d.ts.map +0 -1
  106. package/dist/__tests__/integration/link.integration.test.js +0 -395
  107. package/dist/__tests__/integration/link.integration.test.js.map +0 -1
  108. package/dist/__tests__/integration/linked-config-cascade.integration.test.d.ts +0 -2
  109. package/dist/__tests__/integration/linked-config-cascade.integration.test.d.ts.map +0 -1
  110. package/dist/__tests__/integration/linked-config-cascade.integration.test.js +0 -179
  111. package/dist/__tests__/integration/linked-config-cascade.integration.test.js.map +0 -1
  112. package/dist/__tests__/integration/list.integration.test.d.ts +0 -2
  113. package/dist/__tests__/integration/list.integration.test.d.ts.map +0 -1
  114. package/dist/__tests__/integration/list.integration.test.js +0 -300
  115. package/dist/__tests__/integration/list.integration.test.js.map +0 -1
  116. package/dist/__tests__/integration/source-upgrade.integration.test.d.ts +0 -2
  117. package/dist/__tests__/integration/source-upgrade.integration.test.d.ts.map +0 -1
  118. package/dist/__tests__/integration/source-upgrade.integration.test.js +0 -100
  119. package/dist/__tests__/integration/source-upgrade.integration.test.js.map +0 -1
  120. package/dist/__tests__/integration/test-utils.d.ts +0 -30
  121. package/dist/__tests__/integration/test-utils.d.ts.map +0 -1
  122. package/dist/__tests__/integration/test-utils.js +0 -82
  123. package/dist/__tests__/integration/test-utils.js.map +0 -1
  124. package/dist/__tests__/integration/tunnel.integration.test.d.ts +0 -2
  125. package/dist/__tests__/integration/tunnel.integration.test.d.ts.map +0 -1
  126. package/dist/__tests__/integration/tunnel.integration.test.js +0 -486
  127. package/dist/__tests__/integration/tunnel.integration.test.js.map +0 -1
  128. package/dist/__tests__/integration/variable.integration.test.d.ts +0 -2
  129. package/dist/__tests__/integration/variable.integration.test.d.ts.map +0 -1
  130. package/dist/__tests__/integration/variable.integration.test.js +0 -258
  131. package/dist/__tests__/integration/variable.integration.test.js.map +0 -1
  132. package/dist/__tests__/integration/whoami.integration.test.d.ts +0 -2
  133. package/dist/__tests__/integration/whoami.integration.test.d.ts.map +0 -1
  134. package/dist/__tests__/integration/whoami.integration.test.js +0 -116
  135. package/dist/__tests__/integration/whoami.integration.test.js.map +0 -1
  136. package/dist/__tests__/outdated.test.d.ts +0 -2
  137. package/dist/__tests__/outdated.test.d.ts.map +0 -1
  138. package/dist/__tests__/outdated.test.js +0 -67
  139. package/dist/__tests__/outdated.test.js.map +0 -1
  140. package/dist/__tests__/populate.test.d.ts +0 -2
  141. package/dist/__tests__/populate.test.d.ts.map +0 -1
  142. package/dist/__tests__/populate.test.js +0 -445
  143. package/dist/__tests__/populate.test.js.map +0 -1
  144. package/dist/__tests__/tsconfig-upgrader.test.d.ts +0 -2
  145. package/dist/__tests__/tsconfig-upgrader.test.d.ts.map +0 -1
  146. package/dist/__tests__/tsconfig-upgrader.test.js +0 -31
  147. package/dist/__tests__/tsconfig-upgrader.test.js.map +0 -1
  148. package/dist/ca-certificate/validation.test.d.ts +0 -2
  149. package/dist/ca-certificate/validation.test.d.ts.map +0 -1
  150. package/dist/ca-certificate/validation.test.js +0 -131
  151. package/dist/ca-certificate/validation.test.js.map +0 -1
  152. package/dist/common/analytics/cli-invocation.test.d.ts +0 -2
  153. package/dist/common/analytics/cli-invocation.test.d.ts.map +0 -1
  154. package/dist/common/analytics/cli-invocation.test.js +0 -51
  155. package/dist/common/analytics/cli-invocation.test.js.map +0 -1
  156. package/dist/common/analytics/package-manager.test.d.ts +0 -2
  157. package/dist/common/analytics/package-manager.test.d.ts.map +0 -1
  158. package/dist/common/analytics/package-manager.test.js +0 -163
  159. package/dist/common/analytics/package-manager.test.js.map +0 -1
  160. package/dist/common/cli-dispatcher.test.d.ts +0 -2
  161. package/dist/common/cli-dispatcher.test.d.ts.map +0 -1
  162. package/dist/common/cli-dispatcher.test.js +0 -80
  163. package/dist/common/cli-dispatcher.test.js.map +0 -1
  164. package/dist/common/middleware/check-pnpm-lifecycle.test.d.ts +0 -2
  165. package/dist/common/middleware/check-pnpm-lifecycle.test.d.ts.map +0 -1
  166. package/dist/common/middleware/check-pnpm-lifecycle.test.js +0 -125
  167. package/dist/common/middleware/check-pnpm-lifecycle.test.js.map +0 -1
  168. package/dist/common/middleware/get-environment-param.test.d.ts +0 -2
  169. package/dist/common/middleware/get-environment-param.test.d.ts.map +0 -1
  170. package/dist/common/middleware/get-environment-param.test.js +0 -57
  171. package/dist/common/middleware/get-environment-param.test.js.map +0 -1
  172. package/dist/common/read-linked-config.test.d.ts +0 -2
  173. package/dist/common/read-linked-config.test.d.ts.map +0 -1
  174. package/dist/common/read-linked-config.test.js +0 -363
  175. package/dist/common/read-linked-config.test.js.map +0 -1
  176. package/dist/common/terminal.test.d.ts +0 -2
  177. package/dist/common/terminal.test.d.ts.map +0 -1
  178. package/dist/common/terminal.test.js +0 -101
  179. package/dist/common/terminal.test.js.map +0 -1
  180. package/dist/common/utils/build-environment-prompt-choices.test.d.ts +0 -2
  181. package/dist/common/utils/build-environment-prompt-choices.test.d.ts.map +0 -1
  182. package/dist/common/utils/build-environment-prompt-choices.test.js +0 -97
  183. package/dist/common/utils/build-environment-prompt-choices.test.js.map +0 -1
  184. package/dist/common/utils/format-environment-type.test.d.ts +0 -2
  185. package/dist/common/utils/format-environment-type.test.d.ts.map +0 -1
  186. package/dist/common/utils/format-environment-type.test.js +0 -32
  187. package/dist/common/utils/format-environment-type.test.js.map +0 -1
  188. package/dist/common/utils/pnpm-lifecycle.test.d.ts +0 -2
  189. package/dist/common/utils/pnpm-lifecycle.test.d.ts.map +0 -1
  190. package/dist/common/utils/pnpm-lifecycle.test.js +0 -196
  191. package/dist/common/utils/pnpm-lifecycle.test.js.map +0 -1
  192. package/dist/common/utils/pretty-print-environment-prompt.test.d.ts +0 -2
  193. package/dist/common/utils/pretty-print-environment-prompt.test.d.ts.map +0 -1
  194. package/dist/common/utils/pretty-print-environment-prompt.test.js +0 -42
  195. package/dist/common/utils/pretty-print-environment-prompt.test.js.map +0 -1
  196. package/dist/common/utils/sort-environments-for-prompt.test.d.ts +0 -2
  197. package/dist/common/utils/sort-environments-for-prompt.test.d.ts.map +0 -1
  198. package/dist/common/utils/sort-environments-for-prompt.test.js +0 -82
  199. package/dist/common/utils/sort-environments-for-prompt.test.js.map +0 -1
  200. package/dist/common/utils/stringify-config.test.d.ts +0 -2
  201. package/dist/common/utils/stringify-config.test.d.ts.map +0 -1
  202. package/dist/common/utils/stringify-config.test.js +0 -80
  203. package/dist/common/utils/stringify-config.test.js.map +0 -1
  204. package/dist/common/validators/argument-validators.spec.d.ts +0 -2
  205. package/dist/common/validators/argument-validators.spec.d.ts.map +0 -1
  206. package/dist/common/validators/argument-validators.spec.js +0 -181
  207. package/dist/common/validators/argument-validators.spec.js.map +0 -1
  208. package/dist/deploy/archive.local-registry.test.d.ts +0 -2
  209. package/dist/deploy/archive.local-registry.test.d.ts.map +0 -1
  210. package/dist/deploy/archive.local-registry.test.js +0 -100
  211. package/dist/deploy/archive.local-registry.test.js.map +0 -1
  212. package/dist/deploy/archive.test.d.ts +0 -2
  213. package/dist/deploy/archive.test.d.ts.map +0 -1
  214. package/dist/deploy/archive.test.js +0 -248
  215. package/dist/deploy/archive.test.js.map +0 -1
  216. package/dist/deploy/classify-build-probe.test.d.ts +0 -2
  217. package/dist/deploy/classify-build-probe.test.d.ts.map +0 -1
  218. package/dist/deploy/classify-build-probe.test.js +0 -51
  219. package/dist/deploy/classify-build-probe.test.js.map +0 -1
  220. package/dist/deploy/poll-deployment.test.d.ts +0 -2
  221. package/dist/deploy/poll-deployment.test.d.ts.map +0 -1
  222. package/dist/deploy/poll-deployment.test.js +0 -158
  223. package/dist/deploy/poll-deployment.test.js.map +0 -1
  224. package/dist/dev/zuplo-local-gitignore.test.d.ts +0 -2
  225. package/dist/dev/zuplo-local-gitignore.test.d.ts.map +0 -1
  226. package/dist/dev/zuplo-local-gitignore.test.js +0 -58
  227. package/dist/dev/zuplo-local-gitignore.test.js.map +0 -1
  228. package/dist/editor/e2e/editor.spec.d.ts +0 -2
  229. package/dist/editor/e2e/editor.spec.d.ts.map +0 -1
  230. package/dist/editor/e2e/editor.spec.js +0 -44
  231. package/dist/editor/e2e/editor.spec.js.map +0 -1
  232. package/dist/link/project-type.test.d.ts +0 -2
  233. package/dist/link/project-type.test.d.ts.map +0 -1
  234. package/dist/link/project-type.test.js +0 -225
  235. package/dist/link/project-type.test.js.map +0 -1
  236. package/dist/lint/resolve-binary.test.d.ts +0 -2
  237. package/dist/lint/resolve-binary.test.d.ts.map +0 -1
  238. package/dist/lint/resolve-binary.test.js +0 -155
  239. package/dist/lint/resolve-binary.test.js.map +0 -1
  240. package/dist/open-api/convert/handler.spec.d.ts +0 -2
  241. package/dist/open-api/convert/handler.spec.d.ts.map +0 -1
  242. package/dist/open-api/convert/handler.spec.js +0 -301
  243. package/dist/open-api/convert/handler.spec.js.map +0 -1
  244. package/dist/open-api/merge/handler.spec.d.ts +0 -2
  245. package/dist/open-api/merge/handler.spec.d.ts.map +0 -1
  246. package/dist/open-api/merge/handler.spec.js +0 -673
  247. package/dist/open-api/merge/handler.spec.js.map +0 -1
  248. package/dist/open-api/overlay/handler.spec.d.ts +0 -2
  249. package/dist/open-api/overlay/handler.spec.d.ts.map +0 -1
  250. package/dist/open-api/overlay/handler.spec.js +0 -346
  251. package/dist/open-api/overlay/handler.spec.js.map +0 -1
  252. package/dist/source/ai-gateway/files.test.d.ts +0 -2
  253. package/dist/source/ai-gateway/files.test.d.ts.map +0 -1
  254. package/dist/source/ai-gateway/files.test.js +0 -135
  255. package/dist/source/ai-gateway/files.test.js.map +0 -1
  256. package/dist/source/ai-gateway/handler.test.d.ts +0 -2
  257. package/dist/source/ai-gateway/handler.test.d.ts.map +0 -1
  258. package/dist/source/ai-gateway/handler.test.js +0 -113
  259. package/dist/source/ai-gateway/handler.test.js.map +0 -1
  260. package/dist/source/ai-gateway/package.test.d.ts +0 -2
  261. package/dist/source/ai-gateway/package.test.d.ts.map +0 -1
  262. package/dist/source/ai-gateway/package.test.js +0 -30
  263. package/dist/source/ai-gateway/package.test.js.map +0 -1
  264. package/dist/source/ai-gateway/planner.test.d.ts +0 -2
  265. package/dist/source/ai-gateway/planner.test.d.ts.map +0 -1
  266. package/dist/source/ai-gateway/planner.test.js +0 -330
  267. package/dist/source/ai-gateway/planner.test.js.map +0 -1
  268. package/dist/source/ai-gateway/release.test.d.ts +0 -2
  269. package/dist/source/ai-gateway/release.test.d.ts.map +0 -1
  270. package/dist/source/ai-gateway/release.test.js +0 -62
  271. package/dist/source/ai-gateway/release.test.js.map +0 -1
  272. package/dist/test/invoke-test.test.d.ts +0 -2
  273. package/dist/test/invoke-test.test.d.ts.map +0 -1
  274. package/dist/test/invoke-test.test.js +0 -150
  275. package/dist/test/invoke-test.test.js.map +0 -1
  276. package/dist/test/test-files.test.d.ts +0 -2
  277. package/dist/test/test-files.test.d.ts.map +0 -1
  278. package/dist/test/test-files.test.js +0 -57
  279. package/dist/test/test-files.test.js.map +0 -1
  280. package/node_modules/@zuplo/openapi-tools/dist/file-format.spec.d.ts +0 -2
  281. package/node_modules/@zuplo/openapi-tools/dist/file-format.spec.d.ts.map +0 -1
  282. package/node_modules/@zuplo/openapi-tools/dist/file-format.spec.js +0 -289
  283. package/node_modules/@zuplo/openapi-tools/dist/file-format.spec.js.map +0 -1
  284. package/node_modules/@zuplo/openapi-tools/dist/merge-fixtures.spec.d.ts +0 -2
  285. package/node_modules/@zuplo/openapi-tools/dist/merge-fixtures.spec.d.ts.map +0 -1
  286. package/node_modules/@zuplo/openapi-tools/dist/merge-fixtures.spec.js +0 -181
  287. package/node_modules/@zuplo/openapi-tools/dist/merge-fixtures.spec.js.map +0 -1
  288. package/node_modules/@zuplo/openapi-tools/dist/merge.spec.d.ts +0 -2
  289. package/node_modules/@zuplo/openapi-tools/dist/merge.spec.d.ts.map +0 -1
  290. package/node_modules/@zuplo/openapi-tools/dist/merge.spec.js +0 -399
  291. package/node_modules/@zuplo/openapi-tools/dist/merge.spec.js.map +0 -1
  292. package/node_modules/@zuplo/openapi-tools/dist/overlay.spec.d.ts +0 -2
  293. package/node_modules/@zuplo/openapi-tools/dist/overlay.spec.d.ts.map +0 -1
  294. package/node_modules/@zuplo/openapi-tools/dist/overlay.spec.js +0 -779
  295. package/node_modules/@zuplo/openapi-tools/dist/overlay.spec.js.map +0 -1
  296. package/node_modules/@zuplo/openapi-tools/dist/path-transform.spec.d.ts +0 -2
  297. package/node_modules/@zuplo/openapi-tools/dist/path-transform.spec.d.ts.map +0 -1
  298. package/node_modules/@zuplo/openapi-tools/dist/path-transform.spec.js +0 -269
  299. package/node_modules/@zuplo/openapi-tools/dist/path-transform.spec.js.map +0 -1
  300. package/node_modules/@zuplo/openapi-tools/dist/url-utils.spec.d.ts +0 -2
  301. package/node_modules/@zuplo/openapi-tools/dist/url-utils.spec.d.ts.map +0 -1
  302. package/node_modules/@zuplo/openapi-tools/dist/url-utils.spec.js +0 -93
  303. package/node_modules/@zuplo/openapi-tools/dist/url-utils.spec.js.map +0 -1
  304. package/node_modules/@zuplo/runtime/out/esm/chunk-6YPRGG62.js.map +0 -1
  305. package/node_modules/@zuplo/runtime/out/esm/chunk-PBDT4FDO.js +0 -37
  306. package/node_modules/@zuplo/runtime/out/esm/chunk-PBDT4FDO.js.map +0 -1
  307. /package/node_modules/@zuplo/runtime/out/esm/{chunk-YJ2BHVUH.js.map → chunk-CDEAY3VY.js.map} +0 -0
  308. /package/node_modules/@zuplo/runtime/out/esm/{chunk-PBDT4FDO.js.LEGAL.txt → chunk-LVSZ3WTO.js.LEGAL.txt} +0 -0
  309. /package/node_modules/@zuplo/runtime/out/esm/{chunk-VTO3F6DK.js.map → chunk-NUVXDVLJ.js.map} +0 -0
  310. /package/node_modules/@zuplo/runtime/out/esm/{chunk-6YPRGG62.js.LEGAL.txt → chunk-RHU3Z7DA.js.LEGAL.txt} +0 -0
@@ -1,181 +0,0 @@
1
- import assert from "node:assert";
2
- import fs from "node:fs/promises";
3
- import path from "node:path";
4
- import { describe, it } from "node:test";
5
- import { fileURLToPath } from "node:url";
6
- import { mergeOpenApiDocuments } from "./merge.js";
7
- const __filename = fileURLToPath(import.meta.url);
8
- const __dirname = path.dirname(__filename);
9
- // Test fixtures are in the package root
10
- // When running from dist/, __dirname is packages/openapi-tools/dist
11
- const testFixturesPath = path.join(__dirname, "..", "test-fixtures");
12
- /**
13
- * Determine merge options based on fixture directory name
14
- */
15
- function getMergeOptionsFromFixtureName(fixtureName) {
16
- // Check for operation-id merge mode
17
- if (fixtureName.includes("operation-id")) {
18
- return { mergeMode: "operation-id" };
19
- }
20
- // Check for path transformation options
21
- if (fixtureName.includes("path-transformation-prepend")) {
22
- return { mergeMode: "operation-id", prependServerPath: true };
23
- }
24
- // Default to path-method merge mode
25
- return { mergeMode: "path-method" };
26
- }
27
- /**
28
- * Recursively sort object keys for consistent comparison
29
- * Also removes undefined values to match JSON.stringify behavior
30
- */
31
- function sortObjectKeys(obj) {
32
- if (obj === null || typeof obj !== "object") {
33
- return obj;
34
- }
35
- if (Array.isArray(obj)) {
36
- return obj.map(sortObjectKeys);
37
- }
38
- const sortedObj = {};
39
- const keys = Object.keys(obj).sort();
40
- for (const key of keys) {
41
- const value = obj[key];
42
- // Skip undefined values (matching JSON.stringify behavior)
43
- if (value !== undefined) {
44
- sortedObj[key] = sortObjectKeys(value);
45
- }
46
- }
47
- return sortedObj;
48
- }
49
- /**
50
- * Deep comparison that provides useful diff information
51
- */
52
- function deepCompare(actual, expected, path = "") {
53
- if (actual === expected) {
54
- return { equal: true };
55
- }
56
- if (typeof actual !== typeof expected) {
57
- return {
58
- equal: false,
59
- message: `Type mismatch at ${path || "root"}: expected ${typeof expected}, got ${typeof actual}`,
60
- };
61
- }
62
- if (actual === null || expected === null) {
63
- return {
64
- equal: false,
65
- message: `Null mismatch at ${path || "root"}: expected ${expected}, got ${actual}`,
66
- };
67
- }
68
- if (typeof actual !== "object") {
69
- return {
70
- equal: false,
71
- message: `Value mismatch at ${path || "root"}: expected ${JSON.stringify(expected)}, got ${JSON.stringify(actual)}`,
72
- };
73
- }
74
- if (Array.isArray(actual) !== Array.isArray(expected)) {
75
- return {
76
- equal: false,
77
- message: `Array/Object mismatch at ${path || "root"}`,
78
- };
79
- }
80
- if (Array.isArray(actual) && Array.isArray(expected)) {
81
- if (actual.length !== expected.length) {
82
- return {
83
- equal: false,
84
- message: `Array length mismatch at ${path || "root"}: expected ${expected.length}, got ${actual.length}`,
85
- };
86
- }
87
- for (let i = 0; i < actual.length; i++) {
88
- const result = deepCompare(actual[i], expected[i], `${path}[${i}]`);
89
- if (!result.equal) {
90
- return result;
91
- }
92
- }
93
- return { equal: true };
94
- }
95
- const actualObj = actual;
96
- const expectedObj = expected;
97
- const actualKeys = Object.keys(actualObj).sort();
98
- const expectedKeys = Object.keys(expectedObj).sort();
99
- // Check for missing keys
100
- for (const key of expectedKeys) {
101
- if (!(key in actualObj)) {
102
- return {
103
- equal: false,
104
- message: `Missing key at ${path ? `${path}.${key}` : key}`,
105
- };
106
- }
107
- }
108
- // Check for extra keys
109
- for (const key of actualKeys) {
110
- if (!(key in expectedObj)) {
111
- return {
112
- equal: false,
113
- message: `Extra key at ${path ? `${path}.${key}` : key}`,
114
- };
115
- }
116
- }
117
- // Recursively compare values
118
- for (const key of expectedKeys) {
119
- const result = deepCompare(actualObj[key], expectedObj[key], path ? `${path}.${key}` : key);
120
- if (!result.equal) {
121
- return result;
122
- }
123
- }
124
- return { equal: true };
125
- }
126
- describe("OpenAPI Merge Fixtures", async () => {
127
- // Discover all fixture directories
128
- let fixtureDirectories;
129
- try {
130
- const entries = await fs.readdir(testFixturesPath, { withFileTypes: true });
131
- fixtureDirectories = entries
132
- .filter((entry) => entry.isDirectory())
133
- .map((entry) => entry.name)
134
- .filter((name) => /^\d{2}-/.test(name)) // Only include numbered directories
135
- .sort();
136
- }
137
- catch (error) {
138
- console.error("Failed to read test fixtures directory:", error);
139
- fixtureDirectories = [];
140
- }
141
- for (const fixtureName of fixtureDirectories) {
142
- it(`should merge correctly: ${fixtureName}`, async () => {
143
- const fixtureDir = path.join(testFixturesPath, fixtureName);
144
- // Read fixture files
145
- const [sourceContent, destinationContent, expectedMergedContent] = await Promise.all([
146
- fs.readFile(path.join(fixtureDir, "source.json"), "utf-8"),
147
- fs.readFile(path.join(fixtureDir, "destination.json"), "utf-8"),
148
- fs.readFile(path.join(fixtureDir, "merged.json"), "utf-8"),
149
- ]);
150
- const source = JSON.parse(sourceContent);
151
- const destination = JSON.parse(destinationContent);
152
- const expectedMerged = JSON.parse(expectedMergedContent);
153
- // Determine merge options from fixture name
154
- const config = getMergeOptionsFromFixtureName(fixtureName);
155
- const mergeOptions = {
156
- mergeMode: config.mergeMode,
157
- prependServerPath: config.prependServerPath,
158
- prependPath: config.prependPath,
159
- };
160
- // Perform the merge
161
- const { mergedDocument } = mergeOpenApiDocuments(destination, source, mergeOptions);
162
- // Compare the merged result with the expected result
163
- // Sort keys for consistent comparison
164
- const sortedActual = sortObjectKeys(mergedDocument);
165
- const sortedExpected = sortObjectKeys(expectedMerged);
166
- const comparison = deepCompare(sortedActual, sortedExpected);
167
- if (!comparison.equal) {
168
- // Provide detailed diff for debugging
169
- console.log("\n--- Fixture:", fixtureName, "---");
170
- console.log("Merge options:", JSON.stringify(mergeOptions));
171
- console.log("Difference:", comparison.message);
172
- console.log("\nExpected:");
173
- console.log(JSON.stringify(sortedExpected, null, 2));
174
- console.log("\nActual:");
175
- console.log(JSON.stringify(sortedActual, null, 2));
176
- }
177
- assert.ok(comparison.equal, `Merge result does not match expected: ${comparison.message}`);
178
- });
179
- }
180
- });
181
- //# sourceMappingURL=merge-fixtures.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"merge-fixtures.spec.js","sourceRoot":"","sources":["../src/merge-fixtures.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=merge.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"merge.spec.d.ts","sourceRoot":"","sources":["../src/merge.spec.ts"],"names":[],"mappings":""}
@@ -1,399 +0,0 @@
1
- import assert from "node:assert";
2
- import fs from "node:fs/promises";
3
- import path from "node:path";
4
- import { describe, it } from "node:test";
5
- import { fileURLToPath } from "node:url";
6
- import { ZUPLO_OPEN_API_ROUTE_KEY, } from "./interfaces.js";
7
- import { mergeOpenApiDocumentOnOperationId, mergeOpenApiDocuments, } from "./merge.js";
8
- import { addOperationIdsAsNecessary, getOperationKey, } from "./operation-utils.js";
9
- import { parseOpenApiFileFromString } from "./parsing.js";
10
- import { BASE_TEMPLATE } from "./url-utils.js";
11
- const __filename = fileURLToPath(import.meta.url);
12
- const __dirname = path.dirname(__filename);
13
- // Test fixtures are in the package root
14
- // When running from dist/, __dirname is packages/openapi-tools/dist
15
- // so we go up one level to get to packages/openapi-tools, then into test-fixtures
16
- const testFixturesPath = path.join(__dirname, "..", "test-fixtures");
17
- describe("OpenAPI Merge Utils", () => {
18
- it("should generate merge changes between two different oas files", async () => {
19
- const toImportPath = path.join(testFixturesPath, "toimport.oas.json");
20
- const toImportContent = await fs.readFile(toImportPath, "utf-8");
21
- const toImportOpenApiSpec = parseOpenApiFileFromString(".json", toImportContent);
22
- const baseRoutesPath = path.join(testFixturesPath, "base-routes-on-import-tests.oas.json");
23
- const baseRoutesContent = await fs.readFile(baseRoutesPath, "utf-8");
24
- const originalDocument = parseOpenApiFileFromString(".json", baseRoutesContent);
25
- const { created, merged, retained } = mergeOpenApiDocuments(originalDocument, toImportOpenApiSpec, "path-method");
26
- const expectedMergedResult = new Set().add("post>/v2/second/{userUid}/nature");
27
- const expectedRetainedResult = new Set().add("post>/v1/second/{userUid}/nature");
28
- assert.deepStrictEqual(created, new Set());
29
- assert.deepStrictEqual(merged, expectedMergedResult);
30
- assert.deepStrictEqual(retained, expectedRetainedResult);
31
- });
32
- it("should generate merge changes between a oas file and the default base template", async () => {
33
- const toImportPath = path.join(testFixturesPath, "toimport.oas.json");
34
- const toImportContent = await fs.readFile(toImportPath, "utf-8");
35
- const toImportOpenApiSpec = parseOpenApiFileFromString(".json", toImportContent);
36
- const originalDocument = parseOpenApiFileFromString(".json", BASE_TEMPLATE);
37
- const { created, merged, retained } = mergeOpenApiDocuments(originalDocument, toImportOpenApiSpec, "path-method");
38
- assert.deepStrictEqual(created, new Set().add("post>/v2/second/{userUid}/nature"));
39
- assert.deepStrictEqual(merged, new Set());
40
- assert.deepStrictEqual(retained, new Set());
41
- });
42
- it("should generate missing operation ids", async () => {
43
- const woOperationIdsPath = path.join(testFixturesPath, "base-routes-wo-operation-ids.oas.json");
44
- const woOperationIdsContent = await fs.readFile(woOperationIdsPath, "utf-8");
45
- const oasDocument = parseOpenApiFileFromString(".json", woOperationIdsContent);
46
- addOperationIdsAsNecessary(oasDocument);
47
- assert.ok(oasDocument.paths);
48
- assert.ok(oasDocument.paths["/v2/second/{userUid}/nature"]?.post?.operationId);
49
- });
50
- it("should not change existing operation ids", async () => {
51
- const baseRoutesPath = path.join(testFixturesPath, "base-routes-on-import-tests.oas.json");
52
- const baseRoutesContent = await fs.readFile(baseRoutesPath, "utf-8");
53
- const oasDocument = parseOpenApiFileFromString(".json", baseRoutesContent);
54
- addOperationIdsAsNecessary(oasDocument);
55
- assert.ok(oasDocument.paths);
56
- const paths = oasDocument.paths;
57
- assert.strictEqual(paths["/v1/second/{userUid}/nature"]?.post?.operationId, "12345");
58
- assert.strictEqual(paths["/v2/second/{userUid}/nature"]?.post?.operationId, "67920");
59
- });
60
- it("should successfully parse a yaml open api file", async () => {
61
- const toImportPath = path.join(testFixturesPath, "toimportv2.yaml");
62
- const toImportContent = await fs.readFile(toImportPath, "utf-8");
63
- const toImportOpenApiSpec = parseOpenApiFileFromString(".yaml", toImportContent);
64
- assert.ok(toImportOpenApiSpec);
65
- assert.deepStrictEqual(toImportOpenApiSpec.info, {
66
- title: "Protect API",
67
- description: "Buy & sell",
68
- version: "0.2.0",
69
- contact: {
70
- name: "Zuplo YAML Test",
71
- url: "https://zuplo.com/",
72
- email: "test@example.com",
73
- },
74
- });
75
- assert.deepStrictEqual(toImportOpenApiSpec.servers, [
76
- {
77
- url: "https://api.zuplo.com",
78
- description: "Production",
79
- },
80
- ]);
81
- assert.deepStrictEqual(toImportOpenApiSpec.tags, [
82
- { name: "Order" },
83
- { name: "Organization" },
84
- { name: "Site" },
85
- { name: "Supervisor" },
86
- ]);
87
- assert.ok(toImportOpenApiSpec.paths);
88
- const paths = toImportOpenApiSpec.paths;
89
- assert.ok(paths["/v1/orders"]);
90
- assert.ok(paths["/v1/orders/wa/{waaaa}"]);
91
- assert.ok(paths["/v1/orders/{order}"]);
92
- assert.ok(paths["/v1/orgs/{organization}"]);
93
- assert.deepStrictEqual(paths["/v1/sites"], {
94
- get: {
95
- operationId: "get-sites",
96
- summary: "Get Sites",
97
- description: "Sites are locations",
98
- tags: ["Site"],
99
- responses: {
100
- "200": {
101
- description: "OK",
102
- content: {
103
- "application/json": {
104
- schema: {
105
- type: "array",
106
- items: {
107
- $ref: "#/components/schemas/Site",
108
- },
109
- },
110
- },
111
- },
112
- headers: {
113
- "Cache-Control": {
114
- required: true,
115
- schema: {
116
- type: "string",
117
- },
118
- description: "Responses are cacheable following standard HTTP headers.",
119
- },
120
- },
121
- },
122
- },
123
- },
124
- });
125
- assert.ok(toImportOpenApiSpec.components);
126
- });
127
- });
128
- // Test fixtures for OperationID merge tests
129
- const emptyOpenApi = {
130
- openapi: "3.0.0",
131
- info: {
132
- title: "Test",
133
- version: "1.0.0",
134
- },
135
- paths: {},
136
- };
137
- const basicOpenApi = {
138
- openapi: "3.0.0",
139
- info: {
140
- title: "Test",
141
- version: "1.0.0",
142
- },
143
- paths: {
144
- "/test": {
145
- get: {
146
- operationId: "getTest",
147
- },
148
- },
149
- },
150
- };
151
- const openApiWithOperationIdsMissing = {
152
- openapi: "3.0.0",
153
- info: {
154
- title: "Test",
155
- version: "1.0.0",
156
- },
157
- components: {},
158
- paths: {
159
- "/test": {
160
- get: {
161
- responses: {
162
- "200": {
163
- description: "OK",
164
- },
165
- },
166
- },
167
- },
168
- },
169
- };
170
- const openApiWithMatchingPathMethodButDifferentOperationId = {
171
- openapi: "3.0.0",
172
- info: {
173
- title: "Test",
174
- version: "1.0.0",
175
- },
176
- paths: {
177
- "/test": {
178
- get: {
179
- operationId: "get_test",
180
- },
181
- },
182
- },
183
- };
184
- const openApiWithSomePathsAndMethods = {
185
- openapi: "3.0.0",
186
- info: {
187
- title: "Test",
188
- version: "1.0.0",
189
- },
190
- paths: {
191
- "/test": {
192
- get: {
193
- operationId: "getTest",
194
- deprecated: true,
195
- "x-zuplo-route": {
196
- corsPolicy: "none",
197
- handler: {
198
- export: "urlForwardHandler",
199
- module: "$import(@zuplo/runtime)",
200
- options: {
201
- baseUrl: "https://echo.zuplo.io",
202
- },
203
- },
204
- },
205
- },
206
- delete: {
207
- operationId: "deleteTest",
208
- "x-zuplo-route": {
209
- corsPolicy: "none",
210
- handler: {
211
- export: "urlForwardHandler",
212
- module: "$import(@zuplo/runtime)",
213
- options: {
214
- baseUrl: "https://echo.zuplo.io",
215
- },
216
- },
217
- },
218
- },
219
- post: {
220
- operationId: "postTest",
221
- "x-zuplo-route": {
222
- corsPolicy: "none",
223
- handler: {
224
- export: "urlForwardHandler",
225
- module: "$import(@zuplo/runtime)",
226
- options: {
227
- baseUrl: "https://echo.zuplo.io",
228
- },
229
- },
230
- },
231
- },
232
- },
233
- "/humans": {
234
- delete: {
235
- operationId: "deleteHuman",
236
- "x-zuplo-route": {
237
- corsPolicy: "none",
238
- handler: {
239
- export: "urlForwardHandler",
240
- module: "$import(@zuplo/runtime)",
241
- options: {
242
- baseUrl: "https://echo.zuplo.io",
243
- },
244
- },
245
- },
246
- },
247
- },
248
- "/humans/{id}": {
249
- parameters: [
250
- {
251
- name: "id",
252
- in: "path",
253
- required: true,
254
- schema: {
255
- type: "string",
256
- },
257
- },
258
- ],
259
- get: {
260
- operationId: "getHuman",
261
- "x-zuplo-route": {
262
- corsPolicy: "none",
263
- handler: {
264
- export: "urlForwardHandler",
265
- module: "$import(@zuplo/runtime)",
266
- options: {
267
- baseUrl: "https://echo.zuplo.io",
268
- },
269
- },
270
- },
271
- },
272
- },
273
- },
274
- };
275
- const newOpenApiWithSomePathsAndMethods = {
276
- openapi: "3.0.0",
277
- info: {
278
- title: "Test",
279
- version: "1.0.0",
280
- },
281
- paths: {
282
- "/test": {
283
- get: {
284
- operationId: "getTest",
285
- deprecated: false, // Changed deprecated to false
286
- },
287
- post: {
288
- operationId: "postTest",
289
- summary: "Create a new test", // Added summary
290
- // route definition is missing
291
- },
292
- },
293
- "/humans": {
294
- post: {
295
- operationId: "createHuman",
296
- },
297
- delete: {
298
- operationId: "deleteHuman",
299
- },
300
- },
301
- "/humans/{humanId}": {
302
- // Changed path parameter name
303
- parameters: [
304
- {
305
- name: "humanId",
306
- in: "path",
307
- required: true,
308
- schema: {
309
- type: "string",
310
- },
311
- },
312
- ],
313
- get: {
314
- operationId: "getHuman",
315
- },
316
- },
317
- },
318
- };
319
- describe("OpenAPI OperationID Merge Tests", () => {
320
- it("Doesn't change the original document when merging two empty OpenAPI files", () => {
321
- const { mergedDocument, created, merged, retained } = mergeOpenApiDocumentOnOperationId(emptyOpenApi, emptyOpenApi);
322
- assert.strictEqual(created.size, 0, "No operations should be created");
323
- assert.strictEqual(merged.size, 0, "No operations should be merged");
324
- assert.strictEqual(retained.size, 0, "No operations should be retained");
325
- assert.deepStrictEqual(mergedDocument, emptyOpenApi, "The original document should not be changed");
326
- });
327
- it("Retains existing operations when merging in an empty OpenAPI file", () => {
328
- const { mergedDocument, created, merged, retained } = mergeOpenApiDocumentOnOperationId(basicOpenApi, emptyOpenApi);
329
- assert.strictEqual(created.size, 0, "No operations should be created");
330
- assert.strictEqual(merged.size, 0, "No operations should be merged");
331
- assert.deepStrictEqual(retained, new Set(["getTest"]), "The existing operation should be retained");
332
- assert.deepStrictEqual(mergedDocument, basicOpenApi, "The original document should not be changed");
333
- });
334
- it("Creates new operations when merging into an empty OpenAPI file", () => {
335
- const { mergedDocument, created, merged, retained } = mergeOpenApiDocumentOnOperationId(emptyOpenApi, basicOpenApi);
336
- assert.strictEqual(merged.size, 0, "No operations should be merged");
337
- assert.strictEqual(retained.size, 0, "No operations should be retained");
338
- assert.deepStrictEqual(created, new Set(["getTest"]), "The new operation should be created");
339
- assert.deepStrictEqual(mergedDocument, basicOpenApi, "The merged document should match the new document");
340
- });
341
- it("Throws when operations are missing operationId", () => {
342
- assert.throws(() => {
343
- mergeOpenApiDocumentOnOperationId(basicOpenApi, openApiWithOperationIdsMissing);
344
- }, {
345
- message: `OperationId is required for all operations. OperationId missing on ${getOperationKey("get", "/test")}. Please add an operationId to all operations before merging.`,
346
- });
347
- });
348
- it("Throws when operation already exists at path+method and operationIds do not match", () => {
349
- assert.throws(() => {
350
- mergeOpenApiDocumentOnOperationId(basicOpenApi, openApiWithMatchingPathMethodButDifferentOperationId);
351
- }, {
352
- message: `Operation 'get_test' has a matching path/method to an existing operation at ${getOperationKey("get", "/test")}, but a different operationId. Either update the operationId on the existing operation or remove it entirely.`,
353
- });
354
- });
355
- it("Creates new operations when merging into an OpenAPI file with operations", () => {
356
- const { mergedDocument, created } = mergeOpenApiDocumentOnOperationId(openApiWithSomePathsAndMethods, newOpenApiWithSomePathsAndMethods);
357
- assert.deepStrictEqual(created, new Set(["createHuman"]), "The new operations should be created");
358
- assert.deepStrictEqual(mergedDocument?.paths?.["/humans"]?.post, { operationId: "createHuman" }, "The new operation should be created");
359
- });
360
- it("Retains old operations when new document does not include those operations", () => {
361
- const { mergedDocument, retained } = mergeOpenApiDocumentOnOperationId(openApiWithSomePathsAndMethods, newOpenApiWithSomePathsAndMethods);
362
- assert.deepStrictEqual(retained, new Set(["deleteTest"]), "The existing operations should be retained");
363
- assert.deepStrictEqual(mergedDocument?.paths?.["/test"]?.delete, openApiWithSomePathsAndMethods?.paths?.["/test"]?.delete, "The existing operation should be retained");
364
- });
365
- it("Merges operations and updates properties", () => {
366
- const { mergedDocument, merged } = mergeOpenApiDocumentOnOperationId(openApiWithSomePathsAndMethods, newOpenApiWithSomePathsAndMethods);
367
- assert.deepStrictEqual(merged, new Set(["getTest", "postTest", "deleteHuman", "getHuman"]), "The operations should be merged");
368
- assert.strictEqual(mergedDocument?.paths?.["/test"]?.get?.deprecated, false, "The operation's 'deprecated' property should be updated");
369
- assert.deepStrictEqual(mergedDocument?.paths?.["/test"]?.post?.summary, "Create a new test", "The operation's 'summary' property should be updated");
370
- assert.deepStrictEqual(mergedDocument?.paths?.["/humans"]?.delete?.[ZUPLO_OPEN_API_ROUTE_KEY], openApiWithSomePathsAndMethods?.paths?.["/humans"]?.delete?.[ZUPLO_OPEN_API_ROUTE_KEY], "Merged operation with no changes should be the same");
371
- assert.strictEqual(mergedDocument?.paths?.["/humans/{id}"]?.get, undefined, "The old operation should not exist in the merged document");
372
- // NOTE: Parameters at the path level are not merged since operationId
373
- // merging implies only operations are merged
374
- assert.deepStrictEqual(mergedDocument?.paths?.["/humans/{humanId}"], {
375
- get: {
376
- operationId: "getHuman",
377
- "x-zuplo-route": {
378
- corsPolicy: "none",
379
- handler: {
380
- export: "urlForwardHandler",
381
- module: "$import(@zuplo/runtime)",
382
- options: {
383
- baseUrl: "https://echo.zuplo.io",
384
- },
385
- },
386
- },
387
- },
388
- }, "The new operation should exist in the merged document");
389
- });
390
- it("Retains zuplo config when merging operations", () => {
391
- const { mergedDocument, merged } = mergeOpenApiDocumentOnOperationId(openApiWithSomePathsAndMethods, newOpenApiWithSomePathsAndMethods);
392
- assert.deepStrictEqual(merged, new Set(["getTest", "postTest", "deleteHuman", "getHuman"]), "The operations should be merged");
393
- assert.deepStrictEqual(mergedDocument?.paths?.["/test"]?.get?.[ZUPLO_OPEN_API_ROUTE_KEY], openApiWithSomePathsAndMethods?.paths?.["/test"]?.get?.[ZUPLO_OPEN_API_ROUTE_KEY], "The existing zuplo config should be retained");
394
- assert.deepStrictEqual(mergedDocument?.paths?.["/test"]?.post?.[ZUPLO_OPEN_API_ROUTE_KEY], openApiWithSomePathsAndMethods?.paths?.["/test"]?.post?.[ZUPLO_OPEN_API_ROUTE_KEY], "The existing zuplo config should be retained");
395
- assert.deepStrictEqual(mergedDocument?.paths?.["/humans"]?.delete?.[ZUPLO_OPEN_API_ROUTE_KEY], openApiWithSomePathsAndMethods?.paths?.["/humans"]?.delete?.[ZUPLO_OPEN_API_ROUTE_KEY], "The existing zuplo config should be retained");
396
- assert.deepStrictEqual(mergedDocument?.paths?.["/humans/{humanId}"]?.get?.[ZUPLO_OPEN_API_ROUTE_KEY], openApiWithSomePathsAndMethods?.paths?.["/humans/{id}"]?.get?.[ZUPLO_OPEN_API_ROUTE_KEY], "The existing zuplo config should be retained");
397
- });
398
- });
399
- //# sourceMappingURL=merge.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"merge.spec.js","sourceRoot":"","sources":["../src/merge.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=overlay.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"overlay.spec.d.ts","sourceRoot":"","sources":["../src/overlay.spec.ts"],"names":[],"mappings":""}