@zuplo/cli 7.11.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 (303) hide show
  1. package/node_modules/@hono/node-server/README.md +2 -0
  2. package/node_modules/@hono/node-server/dist/index.cjs +1 -1
  3. package/node_modules/@hono/node-server/dist/index.mjs +1 -1
  4. package/node_modules/@hono/node-server/dist/serve-static.cjs +2 -1
  5. package/node_modules/@hono/node-server/dist/serve-static.mjs +2 -1
  6. package/node_modules/@hono/node-server/package.json +1 -1
  7. package/node_modules/@posthog/core/dist/metrics/index.d.ts +9 -0
  8. package/node_modules/@posthog/core/dist/metrics/index.d.ts.map +1 -1
  9. package/node_modules/@posthog/core/dist/metrics/index.js +38 -3
  10. package/node_modules/@posthog/core/dist/metrics/index.mjs +38 -3
  11. package/node_modules/@posthog/core/dist/metrics/types.d.ts +7 -2
  12. package/node_modules/@posthog/core/dist/metrics/types.d.ts.map +1 -1
  13. package/node_modules/@posthog/core/dist/traces/ids.d.ts.map +1 -1
  14. package/node_modules/@posthog/core/dist/traces/ids.js +2 -2
  15. package/node_modules/@posthog/core/dist/traces/ids.mjs +2 -2
  16. package/node_modules/@posthog/core/package.json +2 -2
  17. package/node_modules/@posthog/core/src/metrics/index.spec.ts +75 -0
  18. package/node_modules/@posthog/core/src/metrics/index.ts +60 -0
  19. package/node_modules/@posthog/core/src/metrics/types.ts +7 -1
  20. package/node_modules/@posthog/core/src/traces/ids.ts +4 -2
  21. package/node_modules/@posthog/types/dist/capture-metric.d.ts +10 -0
  22. package/node_modules/@posthog/types/dist/capture-metric.d.ts.map +1 -1
  23. package/node_modules/@posthog/types/dist/index.d.ts +1 -1
  24. package/node_modules/@posthog/types/dist/index.d.ts.map +1 -1
  25. package/node_modules/@posthog/types/package.json +1 -1
  26. package/node_modules/@posthog/types/src/capture-metric.ts +11 -0
  27. package/node_modules/@posthog/types/src/index.ts +1 -0
  28. package/node_modules/@zuplo/core/customer.cli.minified.js +2 -2
  29. package/node_modules/@zuplo/core/index.minified.js +2 -2
  30. package/node_modules/@zuplo/core/package.json +1 -1
  31. package/node_modules/@zuplo/graphql/package.json +1 -1
  32. package/node_modules/@zuplo/openapi-tools/package.json +5 -2
  33. package/node_modules/@zuplo/otel/package.json +1 -1
  34. package/node_modules/@zuplo/runtime/out/esm/{chunk-YJ2BHVUH.js → chunk-CDEAY3VY.js} +2 -2
  35. package/node_modules/@zuplo/runtime/out/esm/chunk-LVSZ3WTO.js +37 -0
  36. package/node_modules/@zuplo/runtime/out/esm/chunk-LVSZ3WTO.js.map +1 -0
  37. package/node_modules/@zuplo/runtime/out/esm/{chunk-VTO3F6DK.js → chunk-NUVXDVLJ.js} +2 -2
  38. package/node_modules/@zuplo/runtime/out/esm/{chunk-6YPRGG62.js → chunk-RHU3Z7DA.js} +108 -108
  39. package/node_modules/@zuplo/runtime/out/esm/chunk-RHU3Z7DA.js.map +1 -0
  40. package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
  41. package/node_modules/@zuplo/runtime/out/esm/internal/index.js +1 -1
  42. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +1 -1
  43. package/node_modules/@zuplo/runtime/out/esm/mocks/index.js +1 -1
  44. package/node_modules/@zuplo/runtime/out/esm/sdks/aws/index.js +1 -1
  45. package/node_modules/@zuplo/runtime/out/types/index.d.ts +15 -24
  46. package/node_modules/@zuplo/runtime/out/types/internal/index.d.ts +14 -0
  47. package/node_modules/@zuplo/runtime/package.json +1 -1
  48. package/package.json +15 -12
  49. package/dist/__tests__/archive-utils.test.d.ts +0 -2
  50. package/dist/__tests__/archive-utils.test.d.ts.map +0 -1
  51. package/dist/__tests__/archive-utils.test.js +0 -50
  52. package/dist/__tests__/archive-utils.test.js.map +0 -1
  53. package/dist/__tests__/import-openapi.test.d.ts +0 -2
  54. package/dist/__tests__/import-openapi.test.d.ts.map +0 -1
  55. package/dist/__tests__/import-openapi.test.js +0 -251
  56. package/dist/__tests__/import-openapi.test.js.map +0 -1
  57. package/dist/__tests__/integration/confirm-linked-config.integration.test.d.ts +0 -2
  58. package/dist/__tests__/integration/confirm-linked-config.integration.test.d.ts.map +0 -1
  59. package/dist/__tests__/integration/confirm-linked-config.integration.test.js +0 -202
  60. package/dist/__tests__/integration/confirm-linked-config.integration.test.js.map +0 -1
  61. package/dist/__tests__/integration/confirm-production-deploy.integration.test.d.ts +0 -2
  62. package/dist/__tests__/integration/confirm-production-deploy.integration.test.d.ts.map +0 -1
  63. package/dist/__tests__/integration/confirm-production-deploy.integration.test.js +0 -184
  64. package/dist/__tests__/integration/confirm-production-deploy.integration.test.js.map +0 -1
  65. package/dist/__tests__/integration/custom-domain.integration.test.d.ts +0 -2
  66. package/dist/__tests__/integration/custom-domain.integration.test.d.ts.map +0 -1
  67. package/dist/__tests__/integration/custom-domain.integration.test.js +0 -563
  68. package/dist/__tests__/integration/custom-domain.integration.test.js.map +0 -1
  69. package/dist/__tests__/integration/delete.integration.test.d.ts +0 -2
  70. package/dist/__tests__/integration/delete.integration.test.d.ts.map +0 -1
  71. package/dist/__tests__/integration/delete.integration.test.js +0 -262
  72. package/dist/__tests__/integration/delete.integration.test.js.map +0 -1
  73. package/dist/__tests__/integration/deploy.integration.test.d.ts +0 -2
  74. package/dist/__tests__/integration/deploy.integration.test.d.ts.map +0 -1
  75. package/dist/__tests__/integration/deploy.integration.test.js +0 -519
  76. package/dist/__tests__/integration/deploy.integration.test.js.map +0 -1
  77. package/dist/__tests__/integration/get-project-param.integration.test.d.ts +0 -2
  78. package/dist/__tests__/integration/get-project-param.integration.test.d.ts.map +0 -1
  79. package/dist/__tests__/integration/get-project-param.integration.test.js +0 -305
  80. package/dist/__tests__/integration/get-project-param.integration.test.js.map +0 -1
  81. package/dist/__tests__/integration/info.integration.test.d.ts +0 -2
  82. package/dist/__tests__/integration/info.integration.test.d.ts.map +0 -1
  83. package/dist/__tests__/integration/info.integration.test.js +0 -293
  84. package/dist/__tests__/integration/info.integration.test.js.map +0 -1
  85. package/dist/__tests__/integration/jest-mocks-setup.d.ts +0 -2
  86. package/dist/__tests__/integration/jest-mocks-setup.d.ts.map +0 -1
  87. package/dist/__tests__/integration/jest-mocks-setup.js +0 -104
  88. package/dist/__tests__/integration/jest-mocks-setup.js.map +0 -1
  89. package/dist/__tests__/integration/jest-setup.d.ts +0 -2
  90. package/dist/__tests__/integration/jest-setup.d.ts.map +0 -1
  91. package/dist/__tests__/integration/jest-setup.js +0 -12
  92. package/dist/__tests__/integration/jest-setup.js.map +0 -1
  93. package/dist/__tests__/integration/link.integration.test.d.ts +0 -2
  94. package/dist/__tests__/integration/link.integration.test.d.ts.map +0 -1
  95. package/dist/__tests__/integration/link.integration.test.js +0 -395
  96. package/dist/__tests__/integration/link.integration.test.js.map +0 -1
  97. package/dist/__tests__/integration/linked-config-cascade.integration.test.d.ts +0 -2
  98. package/dist/__tests__/integration/linked-config-cascade.integration.test.d.ts.map +0 -1
  99. package/dist/__tests__/integration/linked-config-cascade.integration.test.js +0 -179
  100. package/dist/__tests__/integration/linked-config-cascade.integration.test.js.map +0 -1
  101. package/dist/__tests__/integration/list.integration.test.d.ts +0 -2
  102. package/dist/__tests__/integration/list.integration.test.d.ts.map +0 -1
  103. package/dist/__tests__/integration/list.integration.test.js +0 -300
  104. package/dist/__tests__/integration/list.integration.test.js.map +0 -1
  105. package/dist/__tests__/integration/source-upgrade.integration.test.d.ts +0 -2
  106. package/dist/__tests__/integration/source-upgrade.integration.test.d.ts.map +0 -1
  107. package/dist/__tests__/integration/source-upgrade.integration.test.js +0 -100
  108. package/dist/__tests__/integration/source-upgrade.integration.test.js.map +0 -1
  109. package/dist/__tests__/integration/test-utils.d.ts +0 -30
  110. package/dist/__tests__/integration/test-utils.d.ts.map +0 -1
  111. package/dist/__tests__/integration/test-utils.js +0 -82
  112. package/dist/__tests__/integration/test-utils.js.map +0 -1
  113. package/dist/__tests__/integration/tunnel.integration.test.d.ts +0 -2
  114. package/dist/__tests__/integration/tunnel.integration.test.d.ts.map +0 -1
  115. package/dist/__tests__/integration/tunnel.integration.test.js +0 -486
  116. package/dist/__tests__/integration/tunnel.integration.test.js.map +0 -1
  117. package/dist/__tests__/integration/variable.integration.test.d.ts +0 -2
  118. package/dist/__tests__/integration/variable.integration.test.d.ts.map +0 -1
  119. package/dist/__tests__/integration/variable.integration.test.js +0 -258
  120. package/dist/__tests__/integration/variable.integration.test.js.map +0 -1
  121. package/dist/__tests__/integration/whoami.integration.test.d.ts +0 -2
  122. package/dist/__tests__/integration/whoami.integration.test.d.ts.map +0 -1
  123. package/dist/__tests__/integration/whoami.integration.test.js +0 -116
  124. package/dist/__tests__/integration/whoami.integration.test.js.map +0 -1
  125. package/dist/__tests__/outdated.test.d.ts +0 -2
  126. package/dist/__tests__/outdated.test.d.ts.map +0 -1
  127. package/dist/__tests__/outdated.test.js +0 -67
  128. package/dist/__tests__/outdated.test.js.map +0 -1
  129. package/dist/__tests__/populate.test.d.ts +0 -2
  130. package/dist/__tests__/populate.test.d.ts.map +0 -1
  131. package/dist/__tests__/populate.test.js +0 -445
  132. package/dist/__tests__/populate.test.js.map +0 -1
  133. package/dist/__tests__/tsconfig-upgrader.test.d.ts +0 -2
  134. package/dist/__tests__/tsconfig-upgrader.test.d.ts.map +0 -1
  135. package/dist/__tests__/tsconfig-upgrader.test.js +0 -31
  136. package/dist/__tests__/tsconfig-upgrader.test.js.map +0 -1
  137. package/dist/ca-certificate/validation.test.d.ts +0 -2
  138. package/dist/ca-certificate/validation.test.d.ts.map +0 -1
  139. package/dist/ca-certificate/validation.test.js +0 -131
  140. package/dist/ca-certificate/validation.test.js.map +0 -1
  141. package/dist/common/analytics/cli-invocation.test.d.ts +0 -2
  142. package/dist/common/analytics/cli-invocation.test.d.ts.map +0 -1
  143. package/dist/common/analytics/cli-invocation.test.js +0 -51
  144. package/dist/common/analytics/cli-invocation.test.js.map +0 -1
  145. package/dist/common/analytics/package-manager.test.d.ts +0 -2
  146. package/dist/common/analytics/package-manager.test.d.ts.map +0 -1
  147. package/dist/common/analytics/package-manager.test.js +0 -163
  148. package/dist/common/analytics/package-manager.test.js.map +0 -1
  149. package/dist/common/cli-dispatcher.test.d.ts +0 -2
  150. package/dist/common/cli-dispatcher.test.d.ts.map +0 -1
  151. package/dist/common/cli-dispatcher.test.js +0 -80
  152. package/dist/common/cli-dispatcher.test.js.map +0 -1
  153. package/dist/common/middleware/check-pnpm-lifecycle.test.d.ts +0 -2
  154. package/dist/common/middleware/check-pnpm-lifecycle.test.d.ts.map +0 -1
  155. package/dist/common/middleware/check-pnpm-lifecycle.test.js +0 -125
  156. package/dist/common/middleware/check-pnpm-lifecycle.test.js.map +0 -1
  157. package/dist/common/middleware/get-environment-param.test.d.ts +0 -2
  158. package/dist/common/middleware/get-environment-param.test.d.ts.map +0 -1
  159. package/dist/common/middleware/get-environment-param.test.js +0 -57
  160. package/dist/common/middleware/get-environment-param.test.js.map +0 -1
  161. package/dist/common/read-linked-config.test.d.ts +0 -2
  162. package/dist/common/read-linked-config.test.d.ts.map +0 -1
  163. package/dist/common/read-linked-config.test.js +0 -363
  164. package/dist/common/read-linked-config.test.js.map +0 -1
  165. package/dist/common/terminal.test.d.ts +0 -2
  166. package/dist/common/terminal.test.d.ts.map +0 -1
  167. package/dist/common/terminal.test.js +0 -101
  168. package/dist/common/terminal.test.js.map +0 -1
  169. package/dist/common/utils/build-environment-prompt-choices.test.d.ts +0 -2
  170. package/dist/common/utils/build-environment-prompt-choices.test.d.ts.map +0 -1
  171. package/dist/common/utils/build-environment-prompt-choices.test.js +0 -97
  172. package/dist/common/utils/build-environment-prompt-choices.test.js.map +0 -1
  173. package/dist/common/utils/format-environment-type.test.d.ts +0 -2
  174. package/dist/common/utils/format-environment-type.test.d.ts.map +0 -1
  175. package/dist/common/utils/format-environment-type.test.js +0 -32
  176. package/dist/common/utils/format-environment-type.test.js.map +0 -1
  177. package/dist/common/utils/pnpm-lifecycle.test.d.ts +0 -2
  178. package/dist/common/utils/pnpm-lifecycle.test.d.ts.map +0 -1
  179. package/dist/common/utils/pnpm-lifecycle.test.js +0 -196
  180. package/dist/common/utils/pnpm-lifecycle.test.js.map +0 -1
  181. package/dist/common/utils/pretty-print-environment-prompt.test.d.ts +0 -2
  182. package/dist/common/utils/pretty-print-environment-prompt.test.d.ts.map +0 -1
  183. package/dist/common/utils/pretty-print-environment-prompt.test.js +0 -42
  184. package/dist/common/utils/pretty-print-environment-prompt.test.js.map +0 -1
  185. package/dist/common/utils/sort-environments-for-prompt.test.d.ts +0 -2
  186. package/dist/common/utils/sort-environments-for-prompt.test.d.ts.map +0 -1
  187. package/dist/common/utils/sort-environments-for-prompt.test.js +0 -82
  188. package/dist/common/utils/sort-environments-for-prompt.test.js.map +0 -1
  189. package/dist/common/utils/stringify-config.test.d.ts +0 -2
  190. package/dist/common/utils/stringify-config.test.d.ts.map +0 -1
  191. package/dist/common/utils/stringify-config.test.js +0 -80
  192. package/dist/common/utils/stringify-config.test.js.map +0 -1
  193. package/dist/common/validators/argument-validators.spec.d.ts +0 -2
  194. package/dist/common/validators/argument-validators.spec.d.ts.map +0 -1
  195. package/dist/common/validators/argument-validators.spec.js +0 -181
  196. package/dist/common/validators/argument-validators.spec.js.map +0 -1
  197. package/dist/common/worker-output.test.d.ts +0 -2
  198. package/dist/common/worker-output.test.d.ts.map +0 -1
  199. package/dist/common/worker-output.test.js +0 -32
  200. package/dist/common/worker-output.test.js.map +0 -1
  201. package/dist/deploy/archive.local-registry.test.d.ts +0 -2
  202. package/dist/deploy/archive.local-registry.test.d.ts.map +0 -1
  203. package/dist/deploy/archive.local-registry.test.js +0 -100
  204. package/dist/deploy/archive.local-registry.test.js.map +0 -1
  205. package/dist/deploy/archive.test.d.ts +0 -2
  206. package/dist/deploy/archive.test.d.ts.map +0 -1
  207. package/dist/deploy/archive.test.js +0 -248
  208. package/dist/deploy/archive.test.js.map +0 -1
  209. package/dist/deploy/classify-build-probe.test.d.ts +0 -2
  210. package/dist/deploy/classify-build-probe.test.d.ts.map +0 -1
  211. package/dist/deploy/classify-build-probe.test.js +0 -51
  212. package/dist/deploy/classify-build-probe.test.js.map +0 -1
  213. package/dist/deploy/poll-deployment.test.d.ts +0 -2
  214. package/dist/deploy/poll-deployment.test.d.ts.map +0 -1
  215. package/dist/deploy/poll-deployment.test.js +0 -158
  216. package/dist/deploy/poll-deployment.test.js.map +0 -1
  217. package/dist/dev/zuplo-local-gitignore.test.d.ts +0 -2
  218. package/dist/dev/zuplo-local-gitignore.test.d.ts.map +0 -1
  219. package/dist/dev/zuplo-local-gitignore.test.js +0 -58
  220. package/dist/dev/zuplo-local-gitignore.test.js.map +0 -1
  221. package/dist/editor/e2e/editor.spec.d.ts +0 -2
  222. package/dist/editor/e2e/editor.spec.d.ts.map +0 -1
  223. package/dist/editor/e2e/editor.spec.js +0 -44
  224. package/dist/editor/e2e/editor.spec.js.map +0 -1
  225. package/dist/link/project-type.test.d.ts +0 -2
  226. package/dist/link/project-type.test.d.ts.map +0 -1
  227. package/dist/link/project-type.test.js +0 -225
  228. package/dist/link/project-type.test.js.map +0 -1
  229. package/dist/lint/resolve-binary.test.d.ts +0 -2
  230. package/dist/lint/resolve-binary.test.d.ts.map +0 -1
  231. package/dist/lint/resolve-binary.test.js +0 -155
  232. package/dist/lint/resolve-binary.test.js.map +0 -1
  233. package/dist/open-api/convert/handler.spec.d.ts +0 -2
  234. package/dist/open-api/convert/handler.spec.d.ts.map +0 -1
  235. package/dist/open-api/convert/handler.spec.js +0 -301
  236. package/dist/open-api/convert/handler.spec.js.map +0 -1
  237. package/dist/open-api/merge/handler.spec.d.ts +0 -2
  238. package/dist/open-api/merge/handler.spec.d.ts.map +0 -1
  239. package/dist/open-api/merge/handler.spec.js +0 -673
  240. package/dist/open-api/merge/handler.spec.js.map +0 -1
  241. package/dist/open-api/overlay/handler.spec.d.ts +0 -2
  242. package/dist/open-api/overlay/handler.spec.d.ts.map +0 -1
  243. package/dist/open-api/overlay/handler.spec.js +0 -346
  244. package/dist/open-api/overlay/handler.spec.js.map +0 -1
  245. package/dist/source/ai-gateway/files.test.d.ts +0 -2
  246. package/dist/source/ai-gateway/files.test.d.ts.map +0 -1
  247. package/dist/source/ai-gateway/files.test.js +0 -135
  248. package/dist/source/ai-gateway/files.test.js.map +0 -1
  249. package/dist/source/ai-gateway/handler.test.d.ts +0 -2
  250. package/dist/source/ai-gateway/handler.test.d.ts.map +0 -1
  251. package/dist/source/ai-gateway/handler.test.js +0 -113
  252. package/dist/source/ai-gateway/handler.test.js.map +0 -1
  253. package/dist/source/ai-gateway/package.test.d.ts +0 -2
  254. package/dist/source/ai-gateway/package.test.d.ts.map +0 -1
  255. package/dist/source/ai-gateway/package.test.js +0 -30
  256. package/dist/source/ai-gateway/package.test.js.map +0 -1
  257. package/dist/source/ai-gateway/planner.test.d.ts +0 -2
  258. package/dist/source/ai-gateway/planner.test.d.ts.map +0 -1
  259. package/dist/source/ai-gateway/planner.test.js +0 -330
  260. package/dist/source/ai-gateway/planner.test.js.map +0 -1
  261. package/dist/source/ai-gateway/release.test.d.ts +0 -2
  262. package/dist/source/ai-gateway/release.test.d.ts.map +0 -1
  263. package/dist/source/ai-gateway/release.test.js +0 -62
  264. package/dist/source/ai-gateway/release.test.js.map +0 -1
  265. package/dist/test/invoke-test.test.d.ts +0 -2
  266. package/dist/test/invoke-test.test.d.ts.map +0 -1
  267. package/dist/test/invoke-test.test.js +0 -150
  268. package/dist/test/invoke-test.test.js.map +0 -1
  269. package/dist/test/test-files.test.d.ts +0 -2
  270. package/dist/test/test-files.test.d.ts.map +0 -1
  271. package/dist/test/test-files.test.js +0 -57
  272. package/dist/test/test-files.test.js.map +0 -1
  273. package/node_modules/@zuplo/openapi-tools/dist/file-format.spec.d.ts +0 -2
  274. package/node_modules/@zuplo/openapi-tools/dist/file-format.spec.d.ts.map +0 -1
  275. package/node_modules/@zuplo/openapi-tools/dist/file-format.spec.js +0 -289
  276. package/node_modules/@zuplo/openapi-tools/dist/file-format.spec.js.map +0 -1
  277. package/node_modules/@zuplo/openapi-tools/dist/merge-fixtures.spec.d.ts +0 -2
  278. package/node_modules/@zuplo/openapi-tools/dist/merge-fixtures.spec.d.ts.map +0 -1
  279. package/node_modules/@zuplo/openapi-tools/dist/merge-fixtures.spec.js +0 -181
  280. package/node_modules/@zuplo/openapi-tools/dist/merge-fixtures.spec.js.map +0 -1
  281. package/node_modules/@zuplo/openapi-tools/dist/merge.spec.d.ts +0 -2
  282. package/node_modules/@zuplo/openapi-tools/dist/merge.spec.d.ts.map +0 -1
  283. package/node_modules/@zuplo/openapi-tools/dist/merge.spec.js +0 -399
  284. package/node_modules/@zuplo/openapi-tools/dist/merge.spec.js.map +0 -1
  285. package/node_modules/@zuplo/openapi-tools/dist/overlay.spec.d.ts +0 -2
  286. package/node_modules/@zuplo/openapi-tools/dist/overlay.spec.d.ts.map +0 -1
  287. package/node_modules/@zuplo/openapi-tools/dist/overlay.spec.js +0 -779
  288. package/node_modules/@zuplo/openapi-tools/dist/overlay.spec.js.map +0 -1
  289. package/node_modules/@zuplo/openapi-tools/dist/path-transform.spec.d.ts +0 -2
  290. package/node_modules/@zuplo/openapi-tools/dist/path-transform.spec.d.ts.map +0 -1
  291. package/node_modules/@zuplo/openapi-tools/dist/path-transform.spec.js +0 -269
  292. package/node_modules/@zuplo/openapi-tools/dist/path-transform.spec.js.map +0 -1
  293. package/node_modules/@zuplo/openapi-tools/dist/url-utils.spec.d.ts +0 -2
  294. package/node_modules/@zuplo/openapi-tools/dist/url-utils.spec.d.ts.map +0 -1
  295. package/node_modules/@zuplo/openapi-tools/dist/url-utils.spec.js +0 -93
  296. package/node_modules/@zuplo/openapi-tools/dist/url-utils.spec.js.map +0 -1
  297. package/node_modules/@zuplo/runtime/out/esm/chunk-6YPRGG62.js.map +0 -1
  298. package/node_modules/@zuplo/runtime/out/esm/chunk-PBDT4FDO.js +0 -37
  299. package/node_modules/@zuplo/runtime/out/esm/chunk-PBDT4FDO.js.map +0 -1
  300. /package/node_modules/@zuplo/runtime/out/esm/{chunk-YJ2BHVUH.js.map → chunk-CDEAY3VY.js.map} +0 -0
  301. /package/node_modules/@zuplo/runtime/out/esm/{chunk-PBDT4FDO.js.LEGAL.txt → chunk-LVSZ3WTO.js.LEGAL.txt} +0 -0
  302. /package/node_modules/@zuplo/runtime/out/esm/{chunk-VTO3F6DK.js.map → chunk-NUVXDVLJ.js.map} +0 -0
  303. /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":""}