@automattic/vip 4.1.6 → 4.1.8

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 (311) hide show
  1. package/assets/dev-env.lando.template.yml.ejs +1 -1
  2. package/dist/bin/vip-app-deploy-token-generate.js +110 -78
  3. package/dist/bin/vip-app-deploy-token.js +24 -16
  4. package/dist/bin/vip-app-deploy-validate.js +45 -41
  5. package/dist/bin/vip-app-deploy.js +222 -215
  6. package/dist/bin/vip-app-list.js +59 -43
  7. package/dist/bin/vip-app.js +97 -66
  8. package/dist/bin/vip-backup-db.js +36 -29
  9. package/dist/bin/vip-backup.js +16 -9
  10. package/dist/bin/vip-cache-purge-url.js +93 -55
  11. package/dist/bin/vip-cache.js +23 -14
  12. package/dist/bin/vip-config-envvar-delete.js +74 -73
  13. package/dist/bin/vip-config-envvar-get-all.js +68 -68
  14. package/dist/bin/vip-config-envvar-get.js +46 -46
  15. package/dist/bin/vip-config-envvar-list.js +54 -57
  16. package/dist/bin/vip-config-envvar-set.js +102 -96
  17. package/dist/bin/vip-config-envvar.js +38 -24
  18. package/dist/bin/vip-config-software-get.js +88 -75
  19. package/dist/bin/vip-config-software-update.js +116 -120
  20. package/dist/bin/vip-config-software.js +31 -21
  21. package/dist/bin/vip-config.js +25 -17
  22. package/dist/bin/vip-db-phpmyadmin.js +40 -39
  23. package/dist/bin/vip-db.js +13 -12
  24. package/dist/bin/vip-defensive-mode-configure.js +197 -197
  25. package/dist/bin/vip-defensive-mode-disable.js +43 -35
  26. package/dist/bin/vip-defensive-mode-enable.js +47 -38
  27. package/dist/bin/vip-defensive-mode.js +28 -17
  28. package/dist/bin/vip-dev-env-create.js +147 -104
  29. package/dist/bin/vip-dev-env-destroy.js +48 -39
  30. package/dist/bin/vip-dev-env-envvar-delete.js +60 -49
  31. package/dist/bin/vip-dev-env-envvar-get-all.js +52 -45
  32. package/dist/bin/vip-dev-env-envvar-get.js +48 -37
  33. package/dist/bin/vip-dev-env-envvar-list.js +48 -41
  34. package/dist/bin/vip-dev-env-envvar-set.js +83 -70
  35. package/dist/bin/vip-dev-env-envvar.js +38 -23
  36. package/dist/bin/vip-dev-env-exec.js +81 -74
  37. package/dist/bin/vip-dev-env-import-media.js +34 -26
  38. package/dist/bin/vip-dev-env-import-sql.js +65 -51
  39. package/dist/bin/vip-dev-env-import.js +23 -14
  40. package/dist/bin/vip-dev-env-info.js +59 -50
  41. package/dist/bin/vip-dev-env-list.js +34 -31
  42. package/dist/bin/vip-dev-env-logs.js +59 -49
  43. package/dist/bin/vip-dev-env-purge.js +71 -63
  44. package/dist/bin/vip-dev-env-shell.js +82 -71
  45. package/dist/bin/vip-dev-env-start.js +77 -65
  46. package/dist/bin/vip-dev-env-stop.js +80 -74
  47. package/dist/bin/vip-dev-env-sync-sql.js +80 -72
  48. package/dist/bin/vip-dev-env-sync.js +18 -11
  49. package/dist/bin/vip-dev-env-update.js +93 -84
  50. package/dist/bin/vip-dev-env.js +25 -8
  51. package/dist/bin/vip-edge-workers-build.js +82 -54
  52. package/dist/bin/vip-edge-workers-delete.js +84 -52
  53. package/dist/bin/vip-edge-workers-deploy.js +186 -126
  54. package/dist/bin/vip-edge-workers-disable.js +75 -44
  55. package/dist/bin/vip-edge-workers-enable.js +86 -54
  56. package/dist/bin/vip-edge-workers-get.js +108 -88
  57. package/dist/bin/vip-edge-workers-init.js +83 -53
  58. package/dist/bin/vip-edge-workers-list.js +89 -54
  59. package/dist/bin/vip-edge-workers-new.js +98 -69
  60. package/dist/bin/vip-edge-workers-validate.js +123 -82
  61. package/dist/bin/vip-edge-workers.js +19 -6
  62. package/dist/bin/vip-export-sql.js +75 -69
  63. package/dist/bin/vip-export.js +12 -7
  64. package/dist/bin/vip-import-media-abort.js +99 -73
  65. package/dist/bin/vip-import-media-status.js +83 -51
  66. package/dist/bin/vip-import-media.js +165 -166
  67. package/dist/bin/vip-import-sql-status.js +75 -45
  68. package/dist/bin/vip-import-sql.js +536 -596
  69. package/dist/bin/vip-import-validate-files.js +122 -141
  70. package/dist/bin/vip-import-validate-sql.js +52 -16
  71. package/dist/bin/vip-import.js +16 -7
  72. package/dist/bin/vip-logout.js +17 -13
  73. package/dist/bin/vip-logs.js +209 -183
  74. package/dist/bin/vip-search-replace.js +85 -53
  75. package/dist/bin/vip-slowlogs.js +168 -147
  76. package/dist/bin/vip-sync.js +163 -133
  77. package/dist/bin/vip-whoami.js +71 -35
  78. package/dist/bin/vip-wp.js +506 -549
  79. package/dist/bin/vip.js +161 -116
  80. package/dist/commands/backup-db.js +183 -149
  81. package/dist/commands/dev-env-import-sql.js +162 -117
  82. package/dist/commands/dev-env-sync-sql.js +372 -330
  83. package/dist/commands/export-sql.js +441 -425
  84. package/dist/commands/phpmyadmin.js +232 -212
  85. package/dist/commands/wp-ssh.js +218 -187
  86. package/dist/lib/analytics/clients/tracks.js +84 -91
  87. package/dist/lib/analytics/index.js +27 -27
  88. package/dist/lib/api/app.js +37 -36
  89. package/dist/lib/api/cache-purge.js +17 -20
  90. package/dist/lib/api/constants.js +5 -6
  91. package/dist/lib/api/edge-workers.js +84 -135
  92. package/dist/lib/api/error-debug.js +10 -13
  93. package/dist/lib/api/feature-flags.js +16 -17
  94. package/dist/lib/api/http.js +47 -48
  95. package/dist/lib/api/user.js +17 -18
  96. package/dist/lib/api.js +107 -116
  97. package/dist/lib/app-logs/app-logs.js +24 -25
  98. package/dist/lib/app-slowlogs/app-slowlogs.js +23 -24
  99. package/dist/lib/app-slowlogs/types.js +2 -1
  100. package/dist/lib/app.js +6 -8
  101. package/dist/lib/backup-storage-availability/backup-storage-availability.js +119 -119
  102. package/dist/lib/backup-storage-availability/docker-machine-not-found-error.js +5 -6
  103. package/dist/lib/cli/apiConfig.js +71 -41
  104. package/dist/lib/cli/command.js +1120 -873
  105. package/dist/lib/cli/config.js +29 -29
  106. package/dist/lib/cli/envAlias.js +35 -50
  107. package/dist/lib/cli/exit.js +19 -19
  108. package/dist/lib/cli/format.js +172 -172
  109. package/dist/lib/cli/progress.js +193 -236
  110. package/dist/lib/cli/prompt.js +14 -15
  111. package/dist/lib/cli/runtime-mode.js +5 -6
  112. package/dist/lib/client-file-uploader.js +489 -641
  113. package/dist/lib/config/software.js +206 -212
  114. package/dist/lib/constants/dev-environment.js +40 -37
  115. package/dist/lib/constants/file-size.js +6 -7
  116. package/dist/lib/constants/vipgo.js +24 -12
  117. package/dist/lib/custom-deploy/custom-deploy.js +138 -120
  118. package/dist/lib/database.js +88 -85
  119. package/dist/lib/defensive-mode/api.js +41 -46
  120. package/dist/lib/defensive-mode/cli-helpers.js +40 -40
  121. package/dist/lib/dev-environment/dev-environment-cli.js +776 -735
  122. package/dist/lib/dev-environment/dev-environment-configuration-file.js +224 -191
  123. package/dist/lib/dev-environment/dev-environment-core.js +697 -732
  124. package/dist/lib/dev-environment/dev-environment-database.js +57 -41
  125. package/dist/lib/dev-environment/dev-environment-lando.js +734 -666
  126. package/dist/lib/dev-environment/docker-utils.js +96 -90
  127. package/dist/lib/dev-environment/env-vars.js +61 -59
  128. package/dist/lib/dev-environment/lando-loader.js +6 -7
  129. package/dist/lib/dev-environment/types.js +2 -1
  130. package/dist/lib/edge-workers/confirmation.js +42 -36
  131. package/dist/lib/edge-workers/deployment.js +150 -159
  132. package/dist/lib/edge-workers/index.js +68 -85
  133. package/dist/lib/edge-workers/location.js +26 -26
  134. package/dist/lib/edge-workers/output.js +14 -15
  135. package/dist/lib/edge-workers/project.js +123 -132
  136. package/dist/lib/edge-workers/toolchains/assemblyscript/constants.js +6 -8
  137. package/dist/lib/edge-workers/toolchains/assemblyscript/index.js +100 -101
  138. package/dist/lib/edge-workers/toolchains/assemblyscript/templates.js +31 -33
  139. package/dist/lib/edge-workers/toolchains/index.js +15 -15
  140. package/dist/lib/edge-workers/types.js +10 -38
  141. package/dist/lib/edge-workers/validation.js +161 -150
  142. package/dist/lib/env.js +16 -17
  143. package/dist/lib/envvar/api-delete.js +16 -18
  144. package/dist/lib/envvar/api-get-all.js +15 -19
  145. package/dist/lib/envvar/api-get.js +8 -9
  146. package/dist/lib/envvar/api-list.js +16 -21
  147. package/dist/lib/envvar/api-set.js +20 -19
  148. package/dist/lib/envvar/api.js +34 -29
  149. package/dist/lib/envvar/input.js +29 -34
  150. package/dist/lib/envvar/logging.js +9 -11
  151. package/dist/lib/envvar/read-file.js +6 -7
  152. package/dist/lib/http/download-file.js +76 -44
  153. package/dist/lib/http/proxy-agent.js +37 -40
  154. package/dist/lib/http/proxy-dispatcher.js +69 -71
  155. package/dist/lib/keychain/insecure.js +40 -36
  156. package/dist/lib/keychain/keychain.js +2 -1
  157. package/dist/lib/keychain/secure.js +16 -15
  158. package/dist/lib/keychain.js +22 -22
  159. package/dist/lib/live-backup-copy.js +117 -115
  160. package/dist/lib/logout.js +17 -19
  161. package/dist/lib/media-import/config.js +15 -14
  162. package/dist/lib/media-import/media-file-import.js +9 -13
  163. package/dist/lib/media-import/progress.js +53 -65
  164. package/dist/lib/media-import/status.js +241 -256
  165. package/dist/lib/media-import/utils.js +15 -15
  166. package/dist/lib/node-version-check.js +16 -16
  167. package/dist/lib/promise.js +16 -17
  168. package/dist/lib/read-file.js +48 -16
  169. package/dist/lib/rechallenge/client.js +37 -43
  170. package/dist/lib/rechallenge/errors.js +38 -37
  171. package/dist/lib/rechallenge/flow.js +148 -123
  172. package/dist/lib/rechallenge/index.js +23 -24
  173. package/dist/lib/rechallenge/link.js +153 -151
  174. package/dist/lib/rechallenge/open-browser.js +14 -17
  175. package/dist/lib/rechallenge/token-cache.js +83 -86
  176. package/dist/lib/rechallenge/types.js +5 -14
  177. package/dist/lib/retry.js +93 -129
  178. package/dist/lib/search-and-replace.js +164 -148
  179. package/dist/lib/site-import/db-file-import.js +12 -16
  180. package/dist/lib/site-import/status.js +291 -291
  181. package/dist/lib/token.js +86 -87
  182. package/dist/lib/tracker.js +51 -62
  183. package/dist/lib/types/graphql/rate-limit-exceeded-error.js +2 -1
  184. package/dist/lib/types.js +2 -1
  185. package/dist/lib/user-error.js +6 -8
  186. package/dist/lib/utils.js +81 -87
  187. package/dist/lib/validations/custom-deploy.js +218 -186
  188. package/dist/lib/validations/is-multi-site-sql-dump.js +6 -6
  189. package/dist/lib/validations/is-multi-site.js +83 -50
  190. package/dist/lib/validations/is-multisite-domain-mapped.js +92 -62
  191. package/dist/lib/validations/line-by-line.js +78 -46
  192. package/dist/lib/validations/site-type.js +59 -63
  193. package/dist/lib/validations/sql-insert-parser.js +415 -0
  194. package/dist/lib/validations/sql.js +551 -431
  195. package/dist/lib/validations/utils.js +27 -29
  196. package/dist/lib/vip-import-validate-files.js +481 -490
  197. package/dist/lib/wp/helpers.js +41 -45
  198. package/dist/lib/wp/readline.js +21 -57
  199. package/dist/lib/xdg-data.js +11 -12
  200. package/helpers/mark-cli-executable.js +9 -0
  201. package/node_modules/@apollo/client/CHANGELOG.md +10 -0
  202. package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.cjs +5 -0
  203. package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  204. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs +2 -1
  205. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  206. package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs +14 -2
  207. package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
  208. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs +16 -0
  209. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs.map +1 -1
  210. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.d.cts +2 -0
  211. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs +3 -2
  212. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  213. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs +9 -1
  214. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs.map +1 -1
  215. package/node_modules/@apollo/client/__cjs/core/QueryInfo.d.cts +1 -1
  216. package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs +10 -3
  217. package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs.map +1 -1
  218. package/node_modules/@apollo/client/__cjs/react/hooks/useFragment.cjs.map +1 -1
  219. package/node_modules/@apollo/client/__cjs/react/hooks/useFragment.d.cts +42 -43
  220. package/node_modules/@apollo/client/__cjs/version.cjs +1 -1
  221. package/node_modules/@apollo/client/cache/inmemory/helpers.js +5 -0
  222. package/node_modules/@apollo/client/cache/inmemory/helpers.js.map +1 -1
  223. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js +2 -1
  224. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js.map +1 -1
  225. package/node_modules/@apollo/client/cache/inmemory/key-extractor.js +14 -2
  226. package/node_modules/@apollo/client/cache/inmemory/key-extractor.js.map +1 -1
  227. package/node_modules/@apollo/client/cache/inmemory/policies.d.ts +2 -0
  228. package/node_modules/@apollo/client/cache/inmemory/policies.js +17 -1
  229. package/node_modules/@apollo/client/cache/inmemory/policies.js.map +1 -1
  230. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js +3 -2
  231. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js.map +1 -1
  232. package/node_modules/@apollo/client/core/QueryInfo.d.ts +1 -1
  233. package/node_modules/@apollo/client/core/QueryInfo.js +10 -2
  234. package/node_modules/@apollo/client/core/QueryInfo.js.map +1 -1
  235. package/node_modules/@apollo/client/core/QueryManager.js +10 -3
  236. package/node_modules/@apollo/client/core/QueryManager.js.map +1 -1
  237. package/node_modules/@apollo/client/package.json +1 -1
  238. package/node_modules/@apollo/client/react/hooks/useFragment.d.ts +42 -43
  239. package/node_modules/@apollo/client/react/hooks/useFragment.js.map +1 -1
  240. package/node_modules/@apollo/client/react/hooks-compiled/useFragment.d.ts +42 -43
  241. package/node_modules/@apollo/client/react/hooks-compiled/useFragment.js.map +1 -1
  242. package/node_modules/@apollo/client/version.js +1 -1
  243. package/node_modules/@automattic/vip-search-replace/README.md +6 -1
  244. package/node_modules/@automattic/vip-search-replace/lib/index.js +46 -14
  245. package/node_modules/@automattic/vip-search-replace/package.json +1 -1
  246. package/node_modules/@types/node/README.md +1 -1
  247. package/node_modules/@types/node/package.json +2 -2
  248. package/node_modules/@types/node/zlib.d.ts +752 -0
  249. package/node_modules/check-disk-space/README.md +92 -32
  250. package/node_modules/check-disk-space/dist/check-disk-space.d.mts +58 -0
  251. package/node_modules/check-disk-space/dist/check-disk-space.mjs +170 -190
  252. package/node_modules/check-disk-space/package.json +43 -71
  253. package/node_modules/cpu-features/build/Makefile +2 -2
  254. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/filesystem.o.d +1 -1
  255. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_linux_or_android.o.d +1 -1
  256. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_macos_or_iphone.o.d +1 -1
  257. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_windows.o.d +1 -1
  258. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_arm_linux_or_android.o.d +1 -1
  259. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_mips_linux_or_android.o.d +1 -1
  260. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_ppc_linux.o.d +1 -1
  261. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_freebsd.o.d +1 -1
  262. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_linux_or_android.o.d +1 -1
  263. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_macos.o.d +1 -1
  264. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_windows.o.d +1 -1
  265. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/stack_line_reader.o.d +1 -1
  266. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/string_view.o.d +1 -1
  267. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpufeatures/src/binding.o.d +157 -145
  268. package/node_modules/cpu-features/build/Release/cpufeatures.node +0 -0
  269. package/node_modules/cpu-features/build/Release/obj.target/cpufeatures/src/binding.o +0 -0
  270. package/node_modules/cpu-features/build/Release/obj.target/cpufeatures.node +0 -0
  271. package/node_modules/cpu-features/build/config.gypi +100 -31
  272. package/node_modules/cpu-features/build/cpufeatures.target.mk +14 -14
  273. package/node_modules/cpu-features/build/deps/cpu_features/cpu_features.target.mk +14 -14
  274. package/node_modules/ssh2/lib/protocol/crypto/build/Makefile +2 -2
  275. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto/src/binding.o.d.raw +136 -0
  276. package/node_modules/ssh2/lib/protocol/crypto/build/sshcrypto.target.mk +14 -14
  277. package/node_modules/undici/docs/docs/api/Interceptors.md +15 -2
  278. package/node_modules/undici/lib/dispatcher/client-h2.js +78 -3
  279. package/node_modules/undici/lib/dispatcher/pool-base.js +20 -3
  280. package/node_modules/undici/package.json +3 -3
  281. package/node_modules/undici/types/api.d.ts +1 -1
  282. package/node_modules/undici/types/utility.d.ts +4 -4
  283. package/package.json +44 -13
  284. package/dist/lib/analytics/clients/client.js +0 -1
  285. package/dist/lib/analytics/clients/pendo.js +0 -78
  286. package/helpers/check-version.js +0 -16
  287. package/node_modules/check-disk-space/dist/check-disk-space.cjs +0 -210
  288. package/node_modules/check-disk-space/dist/check-disk-space.d.ts +0 -53
  289. package/node_modules/fetch-retry/.eslintignore +0 -1
  290. package/node_modules/fetch-retry/.eslintrc.yml +0 -20
  291. package/node_modules/fetch-retry/.github/workflows/node.js.yml +0 -32
  292. package/node_modules/fetch-retry/.husky/pre-commit +0 -6
  293. package/node_modules/fetch-retry/.nycrc.json +0 -24
  294. package/node_modules/fetch-retry/.travis.yml +0 -3
  295. package/node_modules/fetch-retry/LICENSE +0 -21
  296. package/node_modules/fetch-retry/README.md +0 -128
  297. package/node_modules/fetch-retry/dist/fetch-retry.umd.js +0 -151
  298. package/node_modules/fetch-retry/index.d.ts +0 -29
  299. package/node_modules/fetch-retry/index.js +0 -143
  300. package/node_modules/fetch-retry/package.json +0 -41
  301. package/node_modules/fetch-retry/rollup.config.js +0 -12
  302. package/node_modules/fetch-retry/test/.eslintrc.yml +0 -7
  303. package/node_modules/fetch-retry/test/integration/index.js +0 -212
  304. package/node_modules/fetch-retry/test/integration/mock-api/index.js +0 -42
  305. package/node_modules/fetch-retry/test/unit/index.js +0 -1169
  306. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto/src/binding.o.d +0 -265
  307. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto.node.d +0 -1
  308. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/sshcrypto.node.d +0 -1
  309. package/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto/src/binding.o +0 -0
  310. package/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto.node +0 -0
  311. package/node_modules/ssh2/lib/protocol/crypto/build/Release/sshcrypto.node +0 -0
@@ -1,63 +1,98 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
-
4
- exports.__esModule = true;
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
5
40
  exports.edgeWorkersListCommand = edgeWorkersListCommand;
6
- var _edgeWorkers = require("../lib/api/edge-workers");
7
- var _command = _interopRequireDefault(require("../lib/cli/command"));
8
- var exit = _interopRequireWildcard(require("../lib/cli/exit"));
9
- var _output = require("../lib/edge-workers/output");
10
- var _tracker = require("../lib/tracker");
11
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
41
+ const edge_workers_1 = require("../lib/api/edge-workers");
42
+ const command_1 = __importDefault(require("../lib/cli/command"));
43
+ const exit = __importStar(require("../lib/cli/exit"));
44
+ const output_1 = require("../lib/edge-workers/output");
45
+ const tracker_1 = require("../lib/tracker");
13
46
  const usage = 'vip edge-workers list';
14
- const examples = [{
15
- usage: 'vip @example-app.production edge-workers list',
16
- description: 'List all edge workers deployed to the production environment.'
17
- }];
47
+ const examples = [
48
+ {
49
+ usage: 'vip @example-app.production edge-workers list',
50
+ description: 'List all edge workers deployed to the production environment.',
51
+ },
52
+ ];
18
53
  function formatLocation(location, escape) {
19
- if (!location) {
20
- return 'all requests';
21
- }
22
- return `${escape(location.operator)} "${escape(location.value)}"`;
54
+ if (!location) {
55
+ return 'all requests';
56
+ }
57
+ return `${escape(location.operator)} "${escape(location.value)}"`;
23
58
  }
24
59
  async function edgeWorkersListCommand(_args = [], opt = {}) {
25
- const {
26
- app,
27
- env
28
- } = opt;
29
- await (0, _tracker.trackEventWithEnv)(app.id, env.id, 'edge_workers_list_command_execute');
30
- let workers;
31
- try {
32
- workers = await (0, _edgeWorkers.listEdgeWorkers)(app.id, env.id);
33
- } catch (err) {
34
- await (0, _tracker.trackEventWithEnv)(app.id, env.id, 'edge_workers_list_command_error', {
35
- error: 'list_failed'
60
+ const { app, env } = opt;
61
+ await (0, tracker_1.trackEventWithEnv)(app.id, env.id, 'edge_workers_list_command_execute');
62
+ let workers;
63
+ try {
64
+ workers = await (0, edge_workers_1.listEdgeWorkers)(app.id, env.id);
65
+ }
66
+ catch (err) {
67
+ await (0, tracker_1.trackEventWithEnv)(app.id, env.id, 'edge_workers_list_command_error', {
68
+ error: 'list_failed',
69
+ });
70
+ exit.withError(`Failed to list edge workers: ${(0, output_1.escapeTerminalText)(err.message)}`);
71
+ }
72
+ await (0, tracker_1.trackEventWithEnv)(app.id, env.id, 'edge_workers_list_command_success', {
73
+ count: workers.length,
36
74
  });
37
- exit.withError(`Failed to list edge workers: ${(0, _output.escapeTerminalText)(err.message)}`);
38
- }
39
- await (0, _tracker.trackEventWithEnv)(app.id, env.id, 'edge_workers_list_command_success', {
40
- count: workers.length
41
- });
42
- if (!workers.length && opt.format !== 'json') {
43
- console.log('No edge workers are deployed to this environment.');
44
- return [];
45
- }
46
- const escape = opt.format === 'json' ? value => value : _output.escapeTerminalText;
47
- return workers.map(worker => ({
48
- id: worker.id,
49
- name: escape(worker.name),
50
- active: worker.active ? 'yes' : 'no',
51
- phases: (worker.phases || []).map(escape).join(', '),
52
- location: formatLocation(worker.location, escape),
53
- on_failure: escape(worker.onFailure),
54
- modified: escape(worker.updatedAt)
55
- }));
75
+ if (!workers.length && opt.format !== 'json') {
76
+ console.log('No edge workers are deployed to this environment.');
77
+ return [];
78
+ }
79
+ const escape = opt.format === 'json' ? value => value : output_1.escapeTerminalText;
80
+ return workers.map(worker => ({
81
+ id: worker.id,
82
+ name: escape(worker.name),
83
+ active: worker.active ? 'yes' : 'no',
84
+ phases: (worker.phases || []).map(escape).join(', '),
85
+ location: formatLocation(worker.location, escape),
86
+ on_failure: escape(worker.onFailure),
87
+ modified: escape(worker.updatedAt),
88
+ }));
56
89
  }
57
- (0, _command.default)({
58
- appContext: true,
59
- appQuery: _edgeWorkers.appQuery,
60
- envContext: true,
61
- format: true,
62
- usage
63
- }).examples(examples).argv(process.argv, edgeWorkersListCommand);
90
+ (0, command_1.default)({
91
+ appContext: true,
92
+ appQuery: edge_workers_1.appQuery,
93
+ envContext: true,
94
+ format: true,
95
+ usage,
96
+ })
97
+ .examples(examples)
98
+ .argv(process.argv, edgeWorkersListCommand);
@@ -1,76 +1,105 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
-
4
- exports.__esModule = true;
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
5
40
  exports.edgeWorkersNewCommand = edgeWorkersNewCommand;
6
- var _nodePath = _interopRequireDefault(require("node:path"));
7
- var _command = _interopRequireDefault(require("../lib/cli/command"));
8
- var exit = _interopRequireWildcard(require("../lib/cli/exit"));
9
- var _location = require("../lib/edge-workers/location");
10
- var _output = require("../lib/edge-workers/output");
11
- var _project = require("../lib/edge-workers/project");
12
- var _toolchains = require("../lib/edge-workers/toolchains");
13
- var _types = require("../lib/edge-workers/types");
14
- var _validation = require("../lib/edge-workers/validation");
15
- var _tracker = require("../lib/tracker");
16
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
41
+ const node_path_1 = __importDefault(require("node:path"));
42
+ const command_1 = __importDefault(require("../lib/cli/command"));
43
+ const exit = __importStar(require("../lib/cli/exit"));
44
+ const location_1 = require("../lib/edge-workers/location");
45
+ const output_1 = require("../lib/edge-workers/output");
46
+ const project_1 = require("../lib/edge-workers/project");
47
+ const toolchains_1 = require("../lib/edge-workers/toolchains");
48
+ const types_1 = require("../lib/edge-workers/types");
49
+ const validation_1 = require("../lib/edge-workers/validation");
50
+ const tracker_1 = require("../lib/tracker");
18
51
  const usage = 'vip edge-workers new';
19
- const examples = [{
20
- usage: 'vip edge-workers new add-security-headers',
21
- description: 'Add a new worker named "add-security-headers" to the current project.'
22
- }, {
23
- usage: 'vip edge-workers new my-worker --path ./infra/edge',
24
- description: 'Add a worker to a project at a specific path.'
25
- }, {
26
- usage: 'vip edge-workers new api-auth --location starts_with:/api/',
27
- description: 'Add a worker that only runs on request paths under /api/.'
28
- }];
52
+ const examples = [
53
+ {
54
+ usage: 'vip edge-workers new add-security-headers',
55
+ description: 'Add a new worker named "add-security-headers" to the current project.',
56
+ },
57
+ {
58
+ usage: 'vip edge-workers new my-worker --path ./infra/edge',
59
+ description: 'Add a worker to a project at a specific path.',
60
+ },
61
+ {
62
+ usage: 'vip edge-workers new api-auth --location starts_with:/api/',
63
+ description: 'Add a worker that only runs on request paths under /api/.',
64
+ },
65
+ ];
29
66
  async function edgeWorkersNewCommand(args = [], opt = {}) {
30
- const name = args[0];
31
- await (0, _tracker.trackEvent)('edge_workers_new_command_execute', {
32
- name
33
- });
34
- if (!name) {
35
- await (0, _tracker.trackEvent)('edge_workers_new_command_error', {
36
- error: 'Missing name'
37
- });
38
- exit.withError('Please supply a name for the new worker.');
39
- }
40
- try {
41
- (0, _validation.validateWorkerName)(name);
42
- // Parse up front so a bad --location doesn't leave a half-created worker behind.
43
- const location = opt.location !== undefined ? (0, _location.parseLocationOption)(opt.location) : undefined;
44
- const projectDir = (0, _project.resolveProjectDir)({
45
- path: opt.path
46
- });
47
- const descriptor = (0, _project.readProjectDescriptor)(projectDir);
48
- (0, _toolchains.getToolchain)(descriptor.type).scaffoldWorker(projectDir, name);
49
- if (location) {
50
- const workerDir = _nodePath.default.join(projectDir, _project.WORKERS_DIR, name);
51
- (0, _project.writeWorkerManifest)(workerDir, {
52
- ...(0, _project.readWorkerManifest)(workerDir),
53
- location
54
- });
67
+ const name = args[0];
68
+ await (0, tracker_1.trackEvent)('edge_workers_new_command_execute', { name });
69
+ if (!name) {
70
+ await (0, tracker_1.trackEvent)('edge_workers_new_command_error', { error: 'Missing name' });
71
+ exit.withError('Please supply a name for the new worker.');
72
+ }
73
+ try {
74
+ (0, validation_1.validateWorkerName)(name);
75
+ // Parse up front so a bad --location doesn't leave a half-created worker behind.
76
+ const location = opt.location !== undefined ? (0, location_1.parseLocationOption)(opt.location) : undefined;
77
+ const projectDir = (0, project_1.resolveProjectDir)({ path: opt.path });
78
+ const descriptor = (0, project_1.readProjectDescriptor)(projectDir);
79
+ (0, toolchains_1.getToolchain)(descriptor.type).scaffoldWorker(projectDir, name);
80
+ if (location) {
81
+ const workerDir = node_path_1.default.join(projectDir, project_1.WORKERS_DIR, name);
82
+ (0, project_1.writeWorkerManifest)(workerDir, { ...(0, project_1.readWorkerManifest)(workerDir), location });
83
+ }
84
+ await (0, tracker_1.trackEvent)('edge_workers_new_command_success', { name, type: descriptor.type });
85
+ const entryDir = node_path_1.default.join(project_1.WORKERS_DIR, name);
86
+ console.log(`✓ Created worker "${(0, output_1.escapeTerminalText)(name)}" in ${(0, output_1.escapeTerminalText)(node_path_1.default.join(projectDir, entryDir))}`);
87
+ console.log(location
88
+ ? `Scope: ${(0, output_1.escapeTerminalText)(location.operator)} "${(0, output_1.escapeTerminalText)(location.value)}".`
89
+ : 'Scope: all requests. Set location in worker.json before deployment to narrow it.');
90
+ console.log('\nEdit the worker, then deploy it with:');
91
+ console.log(` vip @my-site.develop edge-workers deploy ${(0, output_1.escapeTerminalText)(name)}`);
92
+ }
93
+ catch (err) {
94
+ await (0, tracker_1.trackEvent)('edge_workers_new_command_error', { name, error: 'new_failed' });
95
+ exit.withError((0, output_1.escapeTerminalText)(err.message));
55
96
  }
56
- await (0, _tracker.trackEvent)('edge_workers_new_command_success', {
57
- name,
58
- type: descriptor.type
59
- });
60
- const entryDir = _nodePath.default.join(_project.WORKERS_DIR, name);
61
- console.log(`✓ Created worker "${(0, _output.escapeTerminalText)(name)}" in ${(0, _output.escapeTerminalText)(_nodePath.default.join(projectDir, entryDir))}`);
62
- console.log(location ? `Scope: ${(0, _output.escapeTerminalText)(location.operator)} "${(0, _output.escapeTerminalText)(location.value)}".` : 'Scope: all requests. Set location in worker.json before deployment to narrow it.');
63
- console.log('\nEdit the worker, then deploy it with:');
64
- console.log(` vip @my-site.develop edge-workers deploy ${(0, _output.escapeTerminalText)(name)}`);
65
- } catch (err) {
66
- await (0, _tracker.trackEvent)('edge_workers_new_command_error', {
67
- name,
68
- error: 'new_failed'
69
- });
70
- exit.withError((0, _output.escapeTerminalText)(err.message));
71
- }
72
97
  }
73
- (0, _command.default)({
74
- requiredArgs: 1,
75
- usage
76
- }).option('path', 'Path to the edge-workers project. Defaults to auto-discovery.').option('location', `Only run the worker on matching request paths, as "<operator>:<value>". Operators: ${_types.EDGE_WORKER_LOCATION_OPERATORS.join(', ')}.`).examples(examples).argv(process.argv, edgeWorkersNewCommand);
98
+ (0, command_1.default)({
99
+ requiredArgs: 1,
100
+ usage,
101
+ })
102
+ .option('path', 'Path to the edge-workers project. Defaults to auto-discovery.')
103
+ .option('location', `Only run the worker on matching request paths, as "<operator>:<value>". Operators: ${types_1.EDGE_WORKER_LOCATION_OPERATORS.join(', ')}.`)
104
+ .examples(examples)
105
+ .argv(process.argv, edgeWorkersNewCommand);
@@ -1,91 +1,132 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
-
4
- exports.__esModule = true;
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
5
40
  exports.edgeWorkersValidateCommand = edgeWorkersValidateCommand;
6
- var _edgeWorkers = require("../lib/api/edge-workers");
7
- var _command = _interopRequireDefault(require("../lib/cli/command"));
8
- var exit = _interopRequireWildcard(require("../lib/cli/exit"));
9
- var _edgeWorkers2 = require("../lib/edge-workers");
10
- var _output = require("../lib/edge-workers/output");
11
- var _project = require("../lib/edge-workers/project");
12
- var _tracker = require("../lib/tracker");
13
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
41
+ const edge_workers_1 = require("../lib/api/edge-workers");
42
+ const command_1 = __importDefault(require("../lib/cli/command"));
43
+ const exit = __importStar(require("../lib/cli/exit"));
44
+ const edge_workers_2 = require("../lib/edge-workers");
45
+ const output_1 = require("../lib/edge-workers/output");
46
+ const project_1 = require("../lib/edge-workers/project");
47
+ const tracker_1 = require("../lib/tracker");
15
48
  const usage = 'vip edge-workers validate';
16
- const examples = [{
17
- usage: 'vip @example-app.develop edge-workers validate my-worker',
18
- description: 'Validate the local manifest and compiled WASM without deploying or executing requests.'
19
- }, {
20
- usage: 'vip @example-app.develop edge-workers validate --all',
21
- description: 'Validate every worker in the project.'
22
- }, {
23
- usage: 'vip @example-app.develop edge-workers validate my-worker --skip-build',
24
- description: 'Validate a previously compiled artifact without recompiling.'
25
- }];
49
+ const examples = [
50
+ {
51
+ usage: 'vip @example-app.develop edge-workers validate my-worker',
52
+ description: 'Validate the local manifest and compiled WASM without deploying or executing requests.',
53
+ },
54
+ {
55
+ usage: 'vip @example-app.develop edge-workers validate --all',
56
+ description: 'Validate every worker in the project.',
57
+ },
58
+ {
59
+ usage: 'vip @example-app.develop edge-workers validate my-worker --skip-build',
60
+ description: 'Validate a previously compiled artifact without recompiling.',
61
+ },
62
+ ];
26
63
  async function edgeWorkersValidateCommand(args = [], opt = {}) {
27
- const {
28
- app,
29
- env
30
- } = opt;
31
- const name = args[0];
32
- await (0, _tracker.trackEventWithEnv)(app.id, env.id, 'edge_workers_validate_command_execute', {
33
- name,
34
- all: Boolean(opt.all)
35
- });
36
- let invalidCount = 0;
37
- try {
38
- if (name && opt.all) {
39
- throw new Error('Supply either a worker name or --all, not both.');
40
- }
41
- const projectDir = (0, _project.resolveProjectDir)({
42
- path: opt.path
64
+ const { app, env } = opt;
65
+ const name = args[0];
66
+ await (0, tracker_1.trackEventWithEnv)(app.id, env.id, 'edge_workers_validate_command_execute', {
67
+ name,
68
+ all: Boolean(opt.all),
43
69
  });
44
- let workers;
45
- if (opt.all) {
46
- workers = (0, _project.discoverWorkers)(projectDir);
47
- if (!workers.length) {
48
- throw new Error('No workers found in this project.');
49
- }
50
- } else if (name) {
51
- workers = [(0, _project.findWorker)(projectDir, name)];
52
- } else {
53
- throw new Error('Please supply a worker name to validate, or pass `--all`.');
54
- }
55
-
56
- // Validate sequentially for clear, ordered output.
57
- for (const worker of workers) {
58
- const artifact = opt.skipBuild ? (0, _edgeWorkers2.readPrebuiltWorker)(projectDir, worker) : (0, _edgeWorkers2.buildWorker)(projectDir, worker);
59
-
60
- // eslint-disable-next-line no-await-in-loop
61
- const result = await (0, _edgeWorkers.validateEdgeWorker)(env.id, artifact.base64);
62
- if (result && !result.valid) {
63
- invalidCount++;
64
- const errors = (result.errors || []).map(_output.escapeTerminalText).join('; ') || 'unknown error';
65
- console.log(`✕ "${(0, _output.escapeTerminalText)(worker.manifest.name)}" is invalid: ${errors}`);
66
- } else {
67
- const phases = (result?.phases || []).map(_output.escapeTerminalText).join(', ') || 'none';
68
- console.log(`✓ "${(0, _output.escapeTerminalText)(worker.manifest.name)}" is valid (phases: ${phases})`);
69
- }
70
+ let invalidCount = 0;
71
+ try {
72
+ if (name && opt.all) {
73
+ throw new Error('Supply either a worker name or --all, not both.');
74
+ }
75
+ const projectDir = (0, project_1.resolveProjectDir)({ path: opt.path });
76
+ let workers;
77
+ if (opt.all) {
78
+ workers = (0, project_1.discoverWorkers)(projectDir);
79
+ if (!workers.length) {
80
+ throw new Error('No workers found in this project.');
81
+ }
82
+ }
83
+ else if (name) {
84
+ workers = [(0, project_1.findWorker)(projectDir, name)];
85
+ }
86
+ else {
87
+ throw new Error('Please supply a worker name to validate, or pass `--all`.');
88
+ }
89
+ // Validate sequentially for clear, ordered output.
90
+ for (const worker of workers) {
91
+ const artifact = opt.skipBuild
92
+ ? (0, edge_workers_2.readPrebuiltWorker)(projectDir, worker)
93
+ : (0, edge_workers_2.buildWorker)(projectDir, worker);
94
+ // eslint-disable-next-line no-await-in-loop
95
+ const result = await (0, edge_workers_1.validateEdgeWorker)(env.id, artifact.base64);
96
+ if (result && !result.valid) {
97
+ invalidCount++;
98
+ const errors = (result.errors || []).map(output_1.escapeTerminalText).join('; ') || 'unknown error';
99
+ console.log(`✕ "${(0, output_1.escapeTerminalText)(worker.manifest.name)}" is invalid: ${errors}`);
100
+ }
101
+ else {
102
+ const phases = (result?.phases || []).map(output_1.escapeTerminalText).join(', ') || 'none';
103
+ console.log(`✓ "${(0, output_1.escapeTerminalText)(worker.manifest.name)}" is valid (phases: ${phases})`);
104
+ }
105
+ }
106
+ if (invalidCount > 0) {
107
+ throw new Error(`${invalidCount} worker(s) failed validation.`);
108
+ }
109
+ await (0, tracker_1.trackEventWithEnv)(app.id, env.id, 'edge_workers_validate_command_success', {
110
+ count: workers.length,
111
+ invalid: invalidCount,
112
+ });
70
113
  }
71
- if (invalidCount > 0) {
72
- throw new Error(`${invalidCount} worker(s) failed validation.`);
114
+ catch (err) {
115
+ await (0, tracker_1.trackEventWithEnv)(app.id, env.id, 'edge_workers_validate_command_error', {
116
+ name,
117
+ error: 'validate_failed',
118
+ });
119
+ exit.withError(`Failed to validate edge worker: ${(0, output_1.escapeTerminalText)(err.message)}`);
73
120
  }
74
- await (0, _tracker.trackEventWithEnv)(app.id, env.id, 'edge_workers_validate_command_success', {
75
- count: workers.length,
76
- invalid: invalidCount
77
- });
78
- } catch (err) {
79
- await (0, _tracker.trackEventWithEnv)(app.id, env.id, 'edge_workers_validate_command_error', {
80
- name,
81
- error: 'validate_failed'
82
- });
83
- exit.withError(`Failed to validate edge worker: ${(0, _output.escapeTerminalText)(err.message)}`);
84
- }
85
121
  }
86
- (0, _command.default)({
87
- appContext: true,
88
- appQuery: _edgeWorkers.appQuery,
89
- envContext: true,
90
- usage
91
- }).option('path', 'Path to the edge-workers project. Defaults to auto-discovery.').option('all', 'Validate every worker in the project.', false).option('skip-build', 'Validate a previously compiled artifact without recompiling.', false).examples(examples).argv(process.argv, edgeWorkersValidateCommand);
122
+ (0, command_1.default)({
123
+ appContext: true,
124
+ appQuery: edge_workers_1.appQuery,
125
+ envContext: true,
126
+ usage,
127
+ })
128
+ .option('path', 'Path to the edge-workers project. Defaults to auto-discovery.')
129
+ .option('all', 'Validate every worker in the project.', false)
130
+ .option('skip-build', 'Validate a previously compiled artifact without recompiling.', false)
131
+ .examples(examples)
132
+ .argv(process.argv, edgeWorkersValidateCommand);
@@ -1,8 +1,21 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
-
4
- var _command = _interopRequireDefault(require("../lib/cli/command"));
5
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
- (0, _command.default)({
7
- requiredArgs: 0
8
- }).command('init', 'Scaffold a new edge-workers project.').command('new', 'Add a new worker to an edge-workers project.').command('build', 'Compile worker(s) to WebAssembly locally.').command('validate', 'Validate worker(s) against an environment without deploying.').command('list', 'List the edge workers deployed to an environment.').command('get', 'Retrieve details for a single deployed edge worker.').command('deploy', 'Compile and deploy a worker to an environment.').command('enable', 'Enable a deployed edge worker.').command('disable', 'Disable a deployed edge worker.').command('delete', 'Permanently delete a deployed edge worker.').argv(process.argv);
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const command_1 = __importDefault(require("../lib/cli/command"));
8
+ (0, command_1.default)({
9
+ requiredArgs: 0,
10
+ })
11
+ .command('init', 'Scaffold a new edge-workers project.')
12
+ .command('new', 'Add a new worker to an edge-workers project.')
13
+ .command('build', 'Compile worker(s) to WebAssembly locally.')
14
+ .command('validate', 'Validate worker(s) against an environment without deploying.')
15
+ .command('list', 'List the edge workers deployed to an environment.')
16
+ .command('get', 'Retrieve details for a single deployed edge worker.')
17
+ .command('deploy', 'Compile and deploy a worker to an environment.')
18
+ .command('enable', 'Enable a deployed edge worker.')
19
+ .command('disable', 'Disable a deployed edge worker.')
20
+ .command('delete', 'Permanently delete a deployed edge worker.')
21
+ .argv(process.argv);