@kensio/yulin 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (601) hide show
  1. package/README.md +72 -0
  2. package/dist/cli/sim-cli.d.ts +20 -0
  3. package/dist/cli/sim-cli.d.ts.map +1 -0
  4. package/dist/cli/sim-cli.js +42 -0
  5. package/dist/cli/sim-cli.js.map +1 -0
  6. package/dist/cli/watch/sim-watch-arguments.d.ts +30 -0
  7. package/dist/cli/watch/sim-watch-arguments.d.ts.map +1 -0
  8. package/dist/cli/watch/sim-watch-arguments.js +67 -0
  9. package/dist/cli/watch/sim-watch-arguments.js.map +1 -0
  10. package/dist/cli/watch/sim-watch-child-environment.d.ts +30 -0
  11. package/dist/cli/watch/sim-watch-child-environment.d.ts.map +1 -0
  12. package/dist/cli/watch/sim-watch-child-environment.js +51 -0
  13. package/dist/cli/watch/sim-watch-child-environment.js.map +1 -0
  14. package/dist/cli/watch/sim-watch-child-message.d.ts +19 -0
  15. package/dist/cli/watch/sim-watch-child-message.d.ts.map +1 -0
  16. package/dist/cli/watch/sim-watch-child-message.js +42 -0
  17. package/dist/cli/watch/sim-watch-child-message.js.map +1 -0
  18. package/dist/cli/watch/sim-watch-child-process.d.ts +22 -0
  19. package/dist/cli/watch/sim-watch-child-process.d.ts.map +1 -0
  20. package/dist/cli/watch/sim-watch-child-process.js +33 -0
  21. package/dist/cli/watch/sim-watch-child-process.js.map +1 -0
  22. package/dist/cli/watch/sim-watch-child-shutdown.d.ts +28 -0
  23. package/dist/cli/watch/sim-watch-child-shutdown.d.ts.map +1 -0
  24. package/dist/cli/watch/sim-watch-child-shutdown.js +59 -0
  25. package/dist/cli/watch/sim-watch-child-shutdown.js.map +1 -0
  26. package/dist/cli/watch/sim-watch-child.d.ts +42 -0
  27. package/dist/cli/watch/sim-watch-child.d.ts.map +1 -0
  28. package/dist/cli/watch/sim-watch-child.js +62 -0
  29. package/dist/cli/watch/sim-watch-child.js.map +1 -0
  30. package/dist/cli/watch/sim-watch-command.d.ts +22 -0
  31. package/dist/cli/watch/sim-watch-command.d.ts.map +1 -0
  32. package/dist/cli/watch/sim-watch-command.js +41 -0
  33. package/dist/cli/watch/sim-watch-command.js.map +1 -0
  34. package/dist/cli/watch/sim-watch-event-path.d.ts +27 -0
  35. package/dist/cli/watch/sim-watch-event-path.d.ts.map +1 -0
  36. package/dist/cli/watch/sim-watch-event-path.js +48 -0
  37. package/dist/cli/watch/sim-watch-event-path.js.map +1 -0
  38. package/dist/cli/watch/sim-watch-ignore.d.ts +15 -0
  39. package/dist/cli/watch/sim-watch-ignore.d.ts.map +1 -0
  40. package/dist/cli/watch/sim-watch-ignore.js +64 -0
  41. package/dist/cli/watch/sim-watch-ignore.js.map +1 -0
  42. package/dist/cli/watch/sim-watch-loop-guard.d.ts +35 -0
  43. package/dist/cli/watch/sim-watch-loop-guard.d.ts.map +1 -0
  44. package/dist/cli/watch/sim-watch-loop-guard.js +51 -0
  45. package/dist/cli/watch/sim-watch-loop-guard.js.map +1 -0
  46. package/dist/cli/watch/sim-watch-reporter.d.ts +38 -0
  47. package/dist/cli/watch/sim-watch-reporter.d.ts.map +1 -0
  48. package/dist/cli/watch/sim-watch-reporter.js +65 -0
  49. package/dist/cli/watch/sim-watch-reporter.js.map +1 -0
  50. package/dist/cli/watch/sim-watch-restarts.d.ts +30 -0
  51. package/dist/cli/watch/sim-watch-restarts.d.ts.map +1 -0
  52. package/dist/cli/watch/sim-watch-restarts.js +62 -0
  53. package/dist/cli/watch/sim-watch-restarts.js.map +1 -0
  54. package/dist/cli/watch/sim-watch-supervisor.d.ts +52 -0
  55. package/dist/cli/watch/sim-watch-supervisor.d.ts.map +1 -0
  56. package/dist/cli/watch/sim-watch-supervisor.js +127 -0
  57. package/dist/cli/watch/sim-watch-supervisor.js.map +1 -0
  58. package/dist/cli/watch/sim-watch-watcher.d.ts +69 -0
  59. package/dist/cli/watch/sim-watch-watcher.d.ts.map +1 -0
  60. package/dist/cli/watch/sim-watch-watcher.js +144 -0
  61. package/dist/cli/watch/sim-watch-watcher.js.map +1 -0
  62. package/dist/cli/yulin.d.ts +3 -0
  63. package/dist/cli/yulin.d.ts.map +1 -0
  64. package/dist/cli/yulin.js +14 -0
  65. package/dist/cli/yulin.js.map +1 -0
  66. package/dist/serve/http/live-reload/sim-live-reload-client.d.ts +32 -0
  67. package/dist/serve/http/live-reload/sim-live-reload-client.d.ts.map +1 -0
  68. package/dist/serve/http/live-reload/sim-live-reload-client.js +55 -0
  69. package/dist/serve/http/live-reload/sim-live-reload-client.js.map +1 -0
  70. package/dist/serve/http/live-reload/sim-live-reload-injectable.d.ts +47 -0
  71. package/dist/serve/http/live-reload/sim-live-reload-injectable.d.ts.map +1 -0
  72. package/dist/serve/http/live-reload/sim-live-reload-injectable.js +86 -0
  73. package/dist/serve/http/live-reload/sim-live-reload-injectable.js.map +1 -0
  74. package/dist/serve/http/live-reload/sim-live-reload-injector.d.ts +22 -0
  75. package/dist/serve/http/live-reload/sim-live-reload-injector.d.ts.map +1 -0
  76. package/dist/serve/http/live-reload/sim-live-reload-injector.js +72 -0
  77. package/dist/serve/http/live-reload/sim-live-reload-injector.js.map +1 -0
  78. package/dist/serve/http/live-reload/sim-live-reload-report.d.ts +18 -0
  79. package/dist/serve/http/live-reload/sim-live-reload-report.d.ts.map +1 -0
  80. package/dist/serve/http/live-reload/sim-live-reload-report.js +27 -0
  81. package/dist/serve/http/live-reload/sim-live-reload-report.js.map +1 -0
  82. package/dist/serve/http/live-reload/sim-live-reload-script.d.ts +20 -0
  83. package/dist/serve/http/live-reload/sim-live-reload-script.d.ts.map +1 -0
  84. package/dist/serve/http/live-reload/sim-live-reload-script.js +45 -0
  85. package/dist/serve/http/live-reload/sim-live-reload-script.js.map +1 -0
  86. package/dist/serve/http/live-reload/sim-live-reload.config.d.ts +12 -0
  87. package/dist/serve/http/live-reload/sim-live-reload.config.d.ts.map +1 -0
  88. package/dist/serve/http/live-reload/sim-live-reload.config.js +19 -0
  89. package/dist/serve/http/live-reload/sim-live-reload.config.js.map +1 -0
  90. package/dist/serve/http/live-reload/sim-live-reload.d.ts +52 -0
  91. package/dist/serve/http/live-reload/sim-live-reload.d.ts.map +1 -0
  92. package/dist/serve/http/live-reload/sim-live-reload.js +82 -0
  93. package/dist/serve/http/live-reload/sim-live-reload.js.map +1 -0
  94. package/dist/serve/http/live-reload/sim-local-live-reload.d.ts +42 -0
  95. package/dist/serve/http/live-reload/sim-local-live-reload.d.ts.map +1 -0
  96. package/dist/serve/http/live-reload/sim-local-live-reload.js +60 -0
  97. package/dist/serve/http/live-reload/sim-local-live-reload.js.map +1 -0
  98. package/dist/serve/http/local-server/node-server-port-binder.d.ts +39 -0
  99. package/dist/serve/http/local-server/node-server-port-binder.d.ts.map +1 -0
  100. package/dist/serve/http/local-server/node-server-port-binder.js +71 -0
  101. package/dist/serve/http/local-server/node-server-port-binder.js.map +1 -0
  102. package/dist/serve/http/local-server/node-server-port.d.ts +10 -0
  103. package/dist/serve/http/local-server/node-server-port.d.ts.map +1 -0
  104. package/dist/serve/http/local-server/node-server-port.js +19 -0
  105. package/dist/serve/http/local-server/node-server-port.js.map +1 -0
  106. package/dist/serve/http/local-server/sim-aws-local-port.error.d.ts +13 -0
  107. package/dist/serve/http/local-server/sim-aws-local-port.error.d.ts.map +1 -0
  108. package/dist/serve/http/local-server/sim-aws-local-port.error.js +16 -0
  109. package/dist/serve/http/local-server/sim-aws-local-port.error.js.map +1 -0
  110. package/dist/serve/http/local-server/sim-aws-local-request-handler.d.ts +14 -1
  111. package/dist/serve/http/local-server/sim-aws-local-request-handler.d.ts.map +1 -1
  112. package/dist/serve/http/local-server/sim-aws-local-request-handler.js +20 -2
  113. package/dist/serve/http/local-server/sim-aws-local-request-handler.js.map +1 -1
  114. package/dist/serve/http/local-server/sim-aws-local-server.d.ts +23 -0
  115. package/dist/serve/http/local-server/sim-aws-local-server.d.ts.map +1 -1
  116. package/dist/serve/http/local-server/sim-aws-local-server.js +41 -16
  117. package/dist/serve/http/local-server/sim-aws-local-server.js.map +1 -1
  118. package/dist/serve/http/local-server/sim-aws-local.config.d.ts +2 -0
  119. package/dist/serve/http/local-server/sim-aws-local.config.d.ts.map +1 -1
  120. package/dist/serve/http/local-server/sim-aws-local.config.js +6 -0
  121. package/dist/serve/http/local-server/sim-aws-local.config.js.map +1 -1
  122. package/dist/serve/index.d.ts +3 -0
  123. package/dist/serve/index.d.ts.map +1 -1
  124. package/dist/serve/index.js +3 -0
  125. package/dist/serve/index.js.map +1 -1
  126. package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.d.ts +9 -0
  127. package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.d.ts.map +1 -1
  128. package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.js +20 -0
  129. package/dist/service/acm/cfn/sim-cfn-acm-resource-factory.js.map +1 -1
  130. package/dist/service/apigatewayv2/api/integration/sim-http-api-integration-store.d.ts +4 -0
  131. package/dist/service/apigatewayv2/api/integration/sim-http-api-integration-store.d.ts.map +1 -1
  132. package/dist/service/apigatewayv2/api/integration/sim-http-api-integration-store.js +6 -0
  133. package/dist/service/apigatewayv2/api/integration/sim-http-api-integration-store.js.map +1 -1
  134. package/dist/service/apigatewayv2/api/route/sim-http-api-route-store.d.ts +12 -0
  135. package/dist/service/apigatewayv2/api/route/sim-http-api-route-store.d.ts.map +1 -1
  136. package/dist/service/apigatewayv2/api/route/sim-http-api-route-store.js +17 -0
  137. package/dist/service/apigatewayv2/api/route/sim-http-api-route-store.js.map +1 -1
  138. package/dist/service/apigatewayv2/api/sim-http-api.d.ts +10 -0
  139. package/dist/service/apigatewayv2/api/sim-http-api.d.ts.map +1 -1
  140. package/dist/service/apigatewayv2/api/sim-http-api.js +19 -0
  141. package/dist/service/apigatewayv2/api/sim-http-api.js.map +1 -1
  142. package/dist/service/apigatewayv2/api/stage/sim-http-api-stage-store.d.ts +4 -0
  143. package/dist/service/apigatewayv2/api/stage/sim-http-api-stage-store.d.ts.map +1 -1
  144. package/dist/service/apigatewayv2/api/stage/sim-http-api-stage-store.js +6 -0
  145. package/dist/service/apigatewayv2/api/stage/sim-http-api-stage-store.js.map +1 -1
  146. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.d.ts +26 -0
  147. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.d.ts.map +1 -0
  148. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.js +32 -0
  149. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-deleter.js.map +1 -0
  150. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.d.ts +7 -0
  151. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.d.ts.map +1 -1
  152. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.js +10 -0
  153. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-resource-factory.js.map +1 -1
  154. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.d.ts +30 -0
  155. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.d.ts.map +1 -0
  156. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.js +72 -0
  157. package/dist/service/apigatewayv2/cfn/sim-cfn-http-api-part-deleter.js.map +1 -0
  158. package/dist/service/apigatewayv2/command/integration/integration.command.d.ts +15 -0
  159. package/dist/service/apigatewayv2/command/integration/integration.command.d.ts.map +1 -1
  160. package/dist/service/apigatewayv2/command/integration/sim-http-api-integration-commands.d.ts +9 -1
  161. package/dist/service/apigatewayv2/command/integration/sim-http-api-integration-commands.d.ts.map +1 -1
  162. package/dist/service/apigatewayv2/command/integration/sim-http-api-integration-commands.js +27 -0
  163. package/dist/service/apigatewayv2/command/integration/sim-http-api-integration-commands.js.map +1 -1
  164. package/dist/service/apigatewayv2/command/route/route.command.d.ts +15 -0
  165. package/dist/service/apigatewayv2/command/route/route.command.d.ts.map +1 -1
  166. package/dist/service/apigatewayv2/command/route/sim-http-api-route-commands.d.ts +9 -1
  167. package/dist/service/apigatewayv2/command/route/sim-http-api-route-commands.d.ts.map +1 -1
  168. package/dist/service/apigatewayv2/command/route/sim-http-api-route-commands.js +26 -0
  169. package/dist/service/apigatewayv2/command/route/sim-http-api-route-commands.js.map +1 -1
  170. package/dist/service/apigatewayv2/command/sim-api-gateway-v2-command.types.d.ts +3 -3
  171. package/dist/service/apigatewayv2/command/sim-api-gateway-v2-command.types.d.ts.map +1 -1
  172. package/dist/service/apigatewayv2/command/stage/sim-http-api-stage-commands.d.ts +9 -1
  173. package/dist/service/apigatewayv2/command/stage/sim-http-api-stage-commands.d.ts.map +1 -1
  174. package/dist/service/apigatewayv2/command/stage/sim-http-api-stage-commands.js +26 -0
  175. package/dist/service/apigatewayv2/command/stage/sim-http-api-stage-commands.js.map +1 -1
  176. package/dist/service/apigatewayv2/command/stage/stage.command.d.ts +15 -0
  177. package/dist/service/apigatewayv2/command/stage/stage.command.d.ts.map +1 -1
  178. package/dist/service/apigatewayv2/sdk/sim-api-gateway-v2-sdk-command-router.d.ts.map +1 -1
  179. package/dist/service/apigatewayv2/sdk/sim-api-gateway-v2-sdk-command-router.js +12 -0
  180. package/dist/service/apigatewayv2/sdk/sim-api-gateway-v2-sdk-command-router.js.map +1 -1
  181. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.d.ts +47 -0
  182. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.d.ts.map +1 -0
  183. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.js +61 -0
  184. package/dist/service/apigatewayv2/sim-api-gateway-v2-commands.js.map +1 -0
  185. package/dist/service/apigatewayv2/sim-api-gateway-v2.d.ts +14 -26
  186. package/dist/service/apigatewayv2/sim-api-gateway-v2.d.ts.map +1 -1
  187. package/dist/service/apigatewayv2/sim-api-gateway-v2.js +53 -80
  188. package/dist/service/apigatewayv2/sim-api-gateway-v2.js.map +1 -1
  189. package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.d.ts +44 -0
  190. package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.d.ts.map +1 -0
  191. package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.js +53 -0
  192. package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.js.map +1 -0
  193. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.d.ts +9 -0
  194. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.d.ts.map +1 -1
  195. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +15 -0
  196. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js.map +1 -1
  197. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications-remover.d.ts +19 -0
  198. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications-remover.d.ts.map +1 -0
  199. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications-remover.js +35 -0
  200. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications-remover.js.map +1 -0
  201. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.d.ts +9 -1
  202. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.d.ts.map +1 -1
  203. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.js +11 -0
  204. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.js.map +1 -1
  205. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +1 -1
  206. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js.map +1 -1
  207. package/dist/service/cloudformation/command/delete-stack/delete-stack.command.d.ts +25 -0
  208. package/dist/service/cloudformation/command/delete-stack/delete-stack.command.d.ts.map +1 -0
  209. package/dist/service/cloudformation/command/delete-stack/delete-stack.command.js +2 -0
  210. package/dist/service/cloudformation/command/delete-stack/delete-stack.command.js.map +1 -0
  211. package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.d.ts +34 -0
  212. package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.d.ts.map +1 -0
  213. package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.js +41 -0
  214. package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.js.map +1 -0
  215. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.d.ts.map +1 -1
  216. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js +4 -11
  217. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js.map +1 -1
  218. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.d.ts +26 -0
  219. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.d.ts.map +1 -0
  220. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.js +37 -0
  221. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.js.map +1 -0
  222. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js +2 -2
  223. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js.map +1 -1
  224. package/dist/service/cloudformation/command/update-stack/update-stack.command.d.ts +29 -0
  225. package/dist/service/cloudformation/command/update-stack/update-stack.command.d.ts.map +1 -0
  226. package/dist/service/cloudformation/command/update-stack/update-stack.command.js +2 -0
  227. package/dist/service/cloudformation/command/update-stack/update-stack.command.js.map +1 -0
  228. package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts +42 -0
  229. package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts.map +1 -0
  230. package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +53 -0
  231. package/dist/service/cloudformation/command/update-stack/update-stack.handler.js.map +1 -0
  232. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +19 -0
  233. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts.map +1 -1
  234. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +40 -1
  235. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js.map +1 -1
  236. package/dist/service/cloudformation/deploy/sim-cfn-template-file-deployment.d.ts +10 -0
  237. package/dist/service/cloudformation/deploy/sim-cfn-template-file-deployment.d.ts.map +1 -0
  238. package/dist/service/cloudformation/deploy/sim-cfn-template-file-deployment.js +14 -0
  239. package/dist/service/cloudformation/deploy/sim-cfn-template-file-deployment.js.map +1 -0
  240. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +11 -0
  241. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts.map +1 -1
  242. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +5 -0
  243. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js.map +1 -1
  244. package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.d.ts +49 -0
  245. package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.d.ts.map +1 -0
  246. package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js +59 -0
  247. package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js.map +1 -0
  248. package/dist/service/cloudformation/error/{sim-cloudfront.error.d.ts → sim-cloudformation.error.d.ts} +11 -1
  249. package/dist/service/cloudformation/error/sim-cloudformation.error.d.ts.map +1 -0
  250. package/dist/service/cloudformation/error/{sim-cloudfront.error.js → sim-cloudformation.error.js} +13 -1
  251. package/dist/service/cloudformation/error/sim-cloudformation.error.js.map +1 -0
  252. package/dist/service/cloudformation/index.d.ts +1 -0
  253. package/dist/service/cloudformation/index.d.ts.map +1 -1
  254. package/dist/service/cloudformation/resource/create/sim-cfn-resource-create-operation.d.ts +0 -1
  255. package/dist/service/cloudformation/resource/create/sim-cfn-resource-create-operation.d.ts.map +1 -1
  256. package/dist/service/cloudformation/resource/create/sim-cfn-resource-create-operation.js +2 -6
  257. package/dist/service/cloudformation/resource/create/sim-cfn-resource-create-operation.js.map +1 -1
  258. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.d.ts +37 -0
  259. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.d.ts.map +1 -0
  260. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.js +66 -0
  261. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.js.map +1 -0
  262. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-deleter.d.ts +37 -0
  263. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-deleter.d.ts.map +1 -0
  264. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-deleter.js +48 -0
  265. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-deleter.js.map +1 -0
  266. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependents.d.ts +14 -0
  267. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependents.d.ts.map +1 -0
  268. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependents.js +27 -0
  269. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependents.js.map +1 -0
  270. package/dist/service/cloudformation/resource/factory/sim-cfn-cfn-resource-factory.d.ts +8 -0
  271. package/dist/service/cloudformation/resource/factory/sim-cfn-cfn-resource-factory.d.ts.map +1 -1
  272. package/dist/service/cloudformation/resource/factory/sim-cfn-cfn-resource-factory.js +13 -0
  273. package/dist/service/cloudformation/resource/factory/sim-cfn-cfn-resource-factory.js.map +1 -1
  274. package/dist/service/cloudformation/resource/factory/sim-cfn-resource-factory.type.d.ts +15 -1
  275. package/dist/service/cloudformation/resource/factory/sim-cfn-resource-factory.type.d.ts.map +1 -1
  276. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.d.ts +2 -2
  277. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.d.ts.map +1 -1
  278. package/dist/service/cloudformation/resource/resolve/property/sim-cfn-resource-property-resolver.js.map +1 -1
  279. package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts +110 -0
  280. package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts.map +1 -0
  281. package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +145 -0
  282. package/dist/service/cloudformation/resource/sim-cfn-resource-record.js.map +1 -0
  283. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +61 -69
  284. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts.map +1 -1
  285. package/dist/service/cloudformation/resource/sim-cfn-resource.js +91 -100
  286. package/dist/service/cloudformation/resource/sim-cfn-resource.js.map +1 -1
  287. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +30 -3
  288. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts.map +1 -1
  289. package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.d.ts +76 -0
  290. package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.d.ts.map +1 -0
  291. package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.js +113 -0
  292. package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.js.map +1 -0
  293. package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.d.ts +4 -0
  294. package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.d.ts.map +1 -1
  295. package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.js +7 -0
  296. package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.js.map +1 -1
  297. package/dist/service/cloudformation/resource/unsupported/sim-cfn-unsupported-resource.d.ts +12 -0
  298. package/dist/service/cloudformation/resource/unsupported/sim-cfn-unsupported-resource.d.ts.map +1 -0
  299. package/dist/service/cloudformation/resource/unsupported/sim-cfn-unsupported-resource.js +16 -0
  300. package/dist/service/cloudformation/resource/unsupported/sim-cfn-unsupported-resource.js.map +1 -0
  301. package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.d.ts.map +1 -1
  302. package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.js +8 -0
  303. package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.js.map +1 -1
  304. package/dist/service/cloudformation/sim-cloudformation.d.ts +51 -5
  305. package/dist/service/cloudformation/sim-cloudformation.d.ts.map +1 -1
  306. package/dist/service/cloudformation/sim-cloudformation.js +85 -12
  307. package/dist/service/cloudformation/sim-cloudformation.js.map +1 -1
  308. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-deployment-lifecycle.d.ts +1 -1
  309. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-deployment-lifecycle.js +4 -4
  310. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-deployment-lifecycle.js.map +1 -1
  311. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts +1 -5
  312. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts.map +1 -1
  313. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.js +2 -9
  314. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.js.map +1 -1
  315. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.d.ts +13 -2
  316. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.d.ts.map +1 -1
  317. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.js +17 -4
  318. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.js.map +1 -1
  319. package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.d.ts +36 -0
  320. package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.d.ts.map +1 -0
  321. package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.js +49 -0
  322. package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.js.map +1 -0
  323. package/dist/service/cloudformation/stack/sim-cfn-stack-operation-scheduler.d.ts +47 -0
  324. package/dist/service/cloudformation/stack/sim-cfn-stack-operation-scheduler.d.ts.map +1 -0
  325. package/dist/service/cloudformation/stack/sim-cfn-stack-operation-scheduler.js +64 -0
  326. package/dist/service/cloudformation/stack/sim-cfn-stack-operation-scheduler.js.map +1 -0
  327. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +78 -0
  328. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts.map +1 -0
  329. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +109 -0
  330. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js.map +1 -0
  331. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +75 -29
  332. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
  333. package/dist/service/cloudformation/stack/sim-cfn-stack.js +131 -57
  334. package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
  335. package/dist/service/cloudformation/stack/status/sim-cfn-stack-operation-status.d.ts +30 -0
  336. package/dist/service/cloudformation/stack/status/sim-cfn-stack-operation-status.d.ts.map +1 -0
  337. package/dist/service/cloudformation/stack/status/sim-cfn-stack-operation-status.js +34 -0
  338. package/dist/service/cloudformation/stack/status/sim-cfn-stack-operation-status.js.map +1 -0
  339. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.d.ts +74 -0
  340. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.d.ts.map +1 -0
  341. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.js +88 -0
  342. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.js.map +1 -0
  343. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-pending-deletions.d.ts +41 -0
  344. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-pending-deletions.d.ts.map +1 -0
  345. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-pending-deletions.js +56 -0
  346. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-pending-deletions.js.map +1 -0
  347. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +29 -0
  348. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts.map +1 -0
  349. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +32 -0
  350. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js.map +1 -0
  351. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +52 -0
  352. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts.map +1 -0
  353. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +67 -0
  354. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js.map +1 -0
  355. package/dist/service/cloudformation/stack/update/sim-cfn-stack-replaced-resources.d.ts +22 -0
  356. package/dist/service/cloudformation/stack/update/sim-cfn-stack-replaced-resources.d.ts.map +1 -0
  357. package/dist/service/cloudformation/stack/update/sim-cfn-stack-replaced-resources.js +52 -0
  358. package/dist/service/cloudformation/stack/update/sim-cfn-stack-replaced-resources.js.map +1 -0
  359. package/dist/service/cloudformation/stack/update/sim-cfn-stack-template-changes.d.ts +16 -0
  360. package/dist/service/cloudformation/stack/update/sim-cfn-stack-template-changes.d.ts.map +1 -0
  361. package/dist/service/cloudformation/stack/update/sim-cfn-stack-template-changes.js +32 -0
  362. package/dist/service/cloudformation/stack/update/sim-cfn-stack-template-changes.js.map +1 -0
  363. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.d.ts +64 -0
  364. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.d.ts.map +1 -0
  365. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.js +95 -0
  366. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.js.map +1 -0
  367. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.d.ts +50 -0
  368. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.d.ts.map +1 -0
  369. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js +76 -0
  370. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js.map +1 -0
  371. package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.d.ts +52 -0
  372. package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.d.ts.map +1 -0
  373. package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js +65 -0
  374. package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js.map +1 -0
  375. package/dist/service/cloudformation/stack/update/sim-cfn-template-signature.d.ts +17 -0
  376. package/dist/service/cloudformation/stack/update/sim-cfn-template-signature.d.ts.map +1 -0
  377. package/dist/service/cloudformation/stack/update/sim-cfn-template-signature.js +24 -0
  378. package/dist/service/cloudformation/stack/update/sim-cfn-template-signature.js.map +1 -0
  379. package/dist/service/cloudformation/watch/sim-cfn-template-file-events.d.ts +30 -0
  380. package/dist/service/cloudformation/watch/sim-cfn-template-file-events.d.ts.map +1 -0
  381. package/dist/service/cloudformation/watch/sim-cfn-template-file-events.js +51 -0
  382. package/dist/service/cloudformation/watch/sim-cfn-template-file-events.js.map +1 -0
  383. package/dist/service/cloudformation/watch/sim-cfn-template-file-watch.d.ts +39 -0
  384. package/dist/service/cloudformation/watch/sim-cfn-template-file-watch.d.ts.map +1 -0
  385. package/dist/service/cloudformation/watch/sim-cfn-template-file-watch.js +73 -0
  386. package/dist/service/cloudformation/watch/sim-cfn-template-file-watch.js.map +1 -0
  387. package/dist/service/cloudformation/watch/sim-cfn-template-file-watches.d.ts +46 -0
  388. package/dist/service/cloudformation/watch/sim-cfn-template-file-watches.d.ts.map +1 -0
  389. package/dist/service/cloudformation/watch/sim-cfn-template-file-watches.js +0 -0
  390. package/dist/service/cloudformation/watch/sim-cfn-template-file-watches.js.map +1 -0
  391. package/dist/service/cloudformation/watch/sim-cfn-template-watch-report.d.ts +25 -0
  392. package/dist/service/cloudformation/watch/sim-cfn-template-watch-report.d.ts.map +1 -0
  393. package/dist/service/cloudformation/watch/sim-cfn-template-watch-report.js +35 -0
  394. package/dist/service/cloudformation/watch/sim-cfn-template-watch-report.js.map +1 -0
  395. package/dist/service/cloudformation/watch/sim-cfn-template-watch-update.d.ts +44 -0
  396. package/dist/service/cloudformation/watch/sim-cfn-template-watch-update.d.ts.map +1 -0
  397. package/dist/service/cloudformation/watch/sim-cfn-template-watch-update.js +75 -0
  398. package/dist/service/cloudformation/watch/sim-cfn-template-watch-update.js.map +1 -0
  399. package/dist/service/cloudformation/watch/sim-cfn-template-watch.type.d.ts +30 -0
  400. package/dist/service/cloudformation/watch/sim-cfn-template-watch.type.d.ts.map +1 -0
  401. package/dist/service/cloudformation/watch/sim-cfn-template-watch.type.js +2 -0
  402. package/dist/service/cloudformation/watch/sim-cfn-template-watch.type.js.map +1 -0
  403. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.d.ts +29 -0
  404. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.d.ts.map +1 -0
  405. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.js +42 -0
  406. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.js.map +1 -0
  407. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +8 -0
  408. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts.map +1 -1
  409. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +32 -0
  410. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js.map +1 -1
  411. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +2 -9
  412. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts.map +1 -1
  413. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
  414. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +5 -13
  415. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
  416. package/dist/service/cloudfront/command/delete-distribution/delete-distribution-authorizer.d.ts +31 -0
  417. package/dist/service/cloudfront/command/delete-distribution/delete-distribution-authorizer.d.ts.map +1 -0
  418. package/dist/service/cloudfront/command/delete-distribution/delete-distribution-authorizer.js +40 -0
  419. package/dist/service/cloudfront/command/delete-distribution/delete-distribution-authorizer.js.map +1 -0
  420. package/dist/service/cloudfront/command/delete-distribution/delete-distribution.command.d.ts +27 -0
  421. package/dist/service/cloudfront/command/delete-distribution/delete-distribution.command.d.ts.map +1 -0
  422. package/dist/service/cloudfront/command/delete-distribution/delete-distribution.command.js +2 -0
  423. package/dist/service/cloudfront/command/delete-distribution/delete-distribution.command.js.map +1 -0
  424. package/dist/service/cloudfront/command/delete-distribution/delete-distribution.handler.d.ts +47 -0
  425. package/dist/service/cloudfront/command/delete-distribution/delete-distribution.handler.d.ts.map +1 -0
  426. package/dist/service/cloudfront/command/delete-distribution/delete-distribution.handler.js +53 -0
  427. package/dist/service/cloudfront/command/delete-distribution/delete-distribution.handler.js.map +1 -0
  428. package/dist/service/cloudfront/command/delete-function/delete-function-authorizer.d.ts +27 -0
  429. package/dist/service/cloudfront/command/delete-function/delete-function-authorizer.d.ts.map +1 -0
  430. package/dist/service/cloudfront/command/delete-function/delete-function-authorizer.js +36 -0
  431. package/dist/service/cloudfront/command/delete-function/delete-function-authorizer.js.map +1 -0
  432. package/dist/service/cloudfront/command/delete-function/delete-function.command.d.ts +27 -0
  433. package/dist/service/cloudfront/command/delete-function/delete-function.command.d.ts.map +1 -0
  434. package/dist/service/cloudfront/command/delete-function/delete-function.command.js +2 -0
  435. package/dist/service/cloudfront/command/delete-function/delete-function.command.js.map +1 -0
  436. package/dist/service/cloudfront/command/delete-function/delete-function.handler.d.ts +43 -0
  437. package/dist/service/cloudfront/command/delete-function/delete-function.handler.d.ts.map +1 -0
  438. package/dist/service/cloudfront/command/delete-function/delete-function.handler.js +46 -0
  439. package/dist/service/cloudfront/command/delete-function/delete-function.handler.js.map +1 -0
  440. package/dist/service/cloudfront/command/get-distribution/get-distribution.command.d.ts +2 -10
  441. package/dist/service/cloudfront/command/get-distribution/get-distribution.command.d.ts.map +1 -1
  442. package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts.map +1 -1
  443. package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js +4 -11
  444. package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js.map +1 -1
  445. package/dist/service/cloudfront/command/update-distribution/update-distribution-authorizer.d.ts +27 -0
  446. package/dist/service/cloudfront/command/update-distribution/update-distribution-authorizer.d.ts.map +1 -0
  447. package/dist/service/cloudfront/command/update-distribution/update-distribution-authorizer.js +36 -0
  448. package/dist/service/cloudfront/command/update-distribution/update-distribution-authorizer.js.map +1 -0
  449. package/dist/service/cloudfront/command/update-distribution/update-distribution.command.d.ts +32 -0
  450. package/dist/service/cloudfront/command/update-distribution/update-distribution.command.d.ts.map +1 -0
  451. package/dist/service/cloudfront/command/update-distribution/update-distribution.command.js +2 -0
  452. package/dist/service/cloudfront/command/update-distribution/update-distribution.command.js.map +1 -0
  453. package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.d.ts +48 -0
  454. package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.d.ts.map +1 -0
  455. package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.js +63 -0
  456. package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.js.map +1 -0
  457. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.d.ts +16 -0
  458. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.d.ts.map +1 -0
  459. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.js +13 -0
  460. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.js.map +1 -0
  461. package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.d.ts +35 -0
  462. package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.d.ts.map +1 -0
  463. package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.js +37 -0
  464. package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.js.map +1 -0
  465. package/dist/service/cloudfront/distribution/sim-cf-distribution-view.d.ts +27 -0
  466. package/dist/service/cloudfront/distribution/sim-cf-distribution-view.d.ts.map +1 -0
  467. package/dist/service/cloudfront/distribution/sim-cf-distribution-view.js +22 -0
  468. package/dist/service/cloudfront/distribution/sim-cf-distribution-view.js.map +1 -0
  469. package/dist/service/cloudfront/distribution/sim-cf-distro-config.factory.d.ts.map +1 -1
  470. package/dist/service/cloudfront/distribution/sim-cf-distro-config.factory.js +1 -0
  471. package/dist/service/cloudfront/distribution/sim-cf-distro-config.factory.js.map +1 -1
  472. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +27 -1
  473. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts.map +1 -1
  474. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +49 -2
  475. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js.map +1 -1
  476. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +24 -3
  477. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -1
  478. package/dist/service/cloudfront/error/sim-cloudfront.error.js +28 -3
  479. package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -1
  480. package/dist/service/cloudfront/registry/sim-cloud-front-registry.d.ts +25 -0
  481. package/dist/service/cloudfront/registry/sim-cloud-front-registry.d.ts.map +1 -1
  482. package/dist/service/cloudfront/registry/sim-cloud-front-registry.js +48 -5
  483. package/dist/service/cloudfront/registry/sim-cloud-front-registry.js.map +1 -1
  484. package/dist/service/cloudfront/sdk/sim-cloudfront-sdk-command-router.d.ts.map +1 -1
  485. package/dist/service/cloudfront/sdk/sim-cloudfront-sdk-command-router.js +12 -0
  486. package/dist/service/cloudfront/sdk/sim-cloudfront-sdk-command-router.js.map +1 -1
  487. package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +87 -0
  488. package/dist/service/cloudfront/sim-cloudfront-commands.d.ts.map +1 -0
  489. package/dist/service/cloudfront/sim-cloudfront-commands.js +97 -0
  490. package/dist/service/cloudfront/sim-cloudfront-commands.js.map +1 -0
  491. package/dist/service/cloudfront/sim-cloudfront.d.ts +24 -33
  492. package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
  493. package/dist/service/cloudfront/sim-cloudfront.js +33 -48
  494. package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
  495. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.d.ts +24 -0
  496. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.d.ts.map +1 -0
  497. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.js +55 -0
  498. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-deleter.js.map +1 -0
  499. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.d.ts +5 -0
  500. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.d.ts.map +1 -1
  501. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.js +9 -0
  502. package/dist/service/cognito/cfn/sim-cfn-cognito-resource-factory.js.map +1 -1
  503. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.d.ts +23 -0
  504. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.d.ts.map +1 -0
  505. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.js +29 -0
  506. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-deleter.js.map +1 -0
  507. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts +5 -0
  508. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts.map +1 -1
  509. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +11 -0
  510. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js.map +1 -1
  511. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.d.ts +30 -0
  512. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.d.ts.map +1 -0
  513. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.js +41 -0
  514. package/dist/service/iam/cfn/role/sim-cfn-iam-role-deleter.js.map +1 -0
  515. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts +29 -0
  516. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.d.ts.map +1 -0
  517. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js +61 -0
  518. package/dist/service/iam/cfn/sim-cfn-iam-resource-deleter.js.map +1 -0
  519. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.d.ts +6 -0
  520. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.d.ts.map +1 -1
  521. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js +9 -0
  522. package/dist/service/iam/cfn/sim-cfn-iam-resource-factory.js.map +1 -1
  523. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.d.ts +23 -0
  524. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.d.ts.map +1 -0
  525. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.js +40 -0
  526. package/dist/service/kms/cfn/sim-cfn-kms-resource-deleter.js.map +1 -0
  527. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts +5 -0
  528. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts.map +1 -1
  529. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js +9 -0
  530. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js.map +1 -1
  531. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.d.ts +33 -0
  532. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.d.ts.map +1 -0
  533. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.js +80 -0
  534. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.js.map +1 -0
  535. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts +5 -0
  536. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts.map +1 -1
  537. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js +9 -0
  538. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js.map +1 -1
  539. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.d.ts +30 -0
  540. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.d.ts.map +1 -0
  541. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.js +63 -0
  542. package/dist/service/route53/cfn/sim-cfn-route53-resource-deleter.js.map +1 -0
  543. package/dist/service/route53/cfn/sim-cfn-route53-resource-factory.d.ts +6 -0
  544. package/dist/service/route53/cfn/sim-cfn-route53-resource-factory.d.ts.map +1 -1
  545. package/dist/service/route53/cfn/sim-cfn-route53-resource-factory.js +9 -0
  546. package/dist/service/route53/cfn/sim-cfn-route53-resource-factory.js.map +1 -1
  547. package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +4 -0
  548. package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts.map +1 -1
  549. package/dist/service/s3/bucket/sim-s3-bucket-access.js +6 -0
  550. package/dist/service/s3/bucket/sim-s3-bucket-access.js.map +1 -1
  551. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.d.ts +32 -0
  552. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.d.ts.map +1 -0
  553. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.js +51 -0
  554. package/dist/service/s3/cfn/sim-cfn-s3-resource-deleter.js.map +1 -0
  555. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts +5 -0
  556. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts.map +1 -1
  557. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js +9 -0
  558. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js.map +1 -1
  559. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts +11 -0
  560. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts.map +1 -1
  561. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js +22 -0
  562. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js.map +1 -1
  563. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.d.ts +32 -0
  564. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.d.ts.map +1 -0
  565. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.js +61 -0
  566. package/dist/service/sqs/cfn/sim-cfn-sqs-resource-deleter.js.map +1 -0
  567. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.d.ts +6 -0
  568. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.d.ts.map +1 -1
  569. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.js +9 -0
  570. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.js.map +1 -1
  571. package/dist/service/sqs/queue/sim-sqs-queue-json-attribute.d.ts +4 -0
  572. package/dist/service/sqs/queue/sim-sqs-queue-json-attribute.d.ts.map +1 -1
  573. package/dist/service/sqs/queue/sim-sqs-queue-json-attribute.js +5 -1
  574. package/dist/service/sqs/queue/sim-sqs-queue-json-attribute.js.map +1 -1
  575. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts +4 -3
  576. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts.map +1 -1
  577. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js +4 -3
  578. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js.map +1 -1
  579. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts +5 -0
  580. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts.map +1 -1
  581. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js +14 -0
  582. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js.map +1 -1
  583. package/dist/watch/sim-watch-runtime.d.ts +76 -0
  584. package/dist/watch/sim-watch-runtime.d.ts.map +1 -0
  585. package/dist/watch/sim-watch-runtime.js +124 -0
  586. package/dist/watch/sim-watch-runtime.js.map +1 -0
  587. package/dist/watch/sim-watch-settle.d.ts +32 -0
  588. package/dist/watch/sim-watch-settle.d.ts.map +1 -0
  589. package/dist/watch/sim-watch-settle.js +43 -0
  590. package/dist/watch/sim-watch-settle.js.map +1 -0
  591. package/dist/watch/sim-watch.config.d.ts +22 -0
  592. package/dist/watch/sim-watch.config.d.ts.map +1 -0
  593. package/dist/watch/sim-watch.config.js +39 -0
  594. package/dist/watch/sim-watch.config.js.map +1 -0
  595. package/package.json +4 -1
  596. package/dist/service/cloudformation/error/sim-cloudfront.error.d.ts.map +0 -1
  597. package/dist/service/cloudformation/error/sim-cloudfront.error.js.map +0 -1
  598. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-deployment-scheduler.d.ts +0 -47
  599. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-deployment-scheduler.d.ts.map +0 -1
  600. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-deployment-scheduler.js +0 -64
  601. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-deployment-scheduler.js.map +0 -1
package/README.md CHANGED
@@ -38,6 +38,7 @@ npm i -D @kensio/yulin
38
38
  ## Feature specific docs
39
39
 
40
40
  - [AWS SDK interception](./docs/sdk "Simulated AWS SDK docs")
41
+ - [Serving on localhost](./docs/serve "Serving simulated AWS on localhost docs")
41
42
  - [Simulated time](./docs/time "Simulated time docs")
42
43
 
43
44
  ## Usage
@@ -185,6 +186,77 @@ console.log(bucketWebsiteUrl.toString());
185
186
  const res = await fetch(new URL("/foo/", bucketWebsiteUrl));
186
187
  ```
187
188
 
189
+ #### Restarting a served environment
190
+
191
+ A served environment takes an available port by default, so the URL changes every time the process
192
+ starts. Pin a port to keep the URL the same across restarts:
193
+
194
+ ```typescript
195
+ const srv = await serveSimAws({ simAws, port: 4599 });
196
+ ```
197
+
198
+ Closing the server ends the connections it is holding, so the process can exit rather than being
199
+ kept alive by a browser tab. Yulin does not install signal handlers, so call `close()` from your
200
+ own:
201
+
202
+ ```typescript
203
+ process.on("SIGTERM", () => {
204
+ srv.close();
205
+ });
206
+ ```
207
+
208
+ A restart usually overlaps the process it is replacing. `listen` waits a couple of seconds for a
209
+ pinned port that is still held, then throws `SimAwsLocalPortInUse` naming the port, which means
210
+ something other than the outgoing process owns it.
211
+
212
+ #### Reload the browser on a restart
213
+
214
+ Yulin is the only thing in the response path of a page it serves, so it can tell the browser to
215
+ reload. Turning `liveReload` on puts a small script into the HTML pages served to browsers, and the
216
+ page reloads itself when the process restarts:
217
+
218
+ ```typescript
219
+ const srv = await serveSimAws({ simAws, port: 4599, liveReload: true });
220
+ ```
221
+
222
+ `srv.reload()` reloads connected browsers for a change that needs no restart. Live reload is off by
223
+ default, since an injected page is not byte for byte what the real service returns.
224
+
225
+ Run the dev script through `yulin watch` and a save is the whole loop, with the process restarted and
226
+ the page refreshed:
227
+
228
+ ```bash
229
+ yulin watch -- tsx dev.ts
230
+ ```
231
+
232
+ It watches the working directory, plus the paths Yulin is holding that a module graph never mentions:
233
+ a directory mounted into a Bucket, and a synthesized template. See the
234
+ [serving docs](./docs/serve "Serving simulated AWS on localhost docs") for what gets the script, what
235
+ is watched, and what is not.
236
+
237
+ #### Update a stack when its template changes
238
+
239
+ A synthesized template is data rather than code, so a change to one does not need the process
240
+ restarted. Deploy it with `watch` and Yulin applies the file again whenever it changes, updating the
241
+ stack in place:
242
+
243
+ ```typescript
244
+ await simAws.cloudFormation().deployTemplateFile({
245
+ templatePath: "cdk.out/SiteStack.template.json",
246
+ watch: {
247
+ onUpdated: () => {
248
+ srv.reload();
249
+ },
250
+ },
251
+ });
252
+ ```
253
+
254
+ Resources the change left alone keep what they hold, so simulated S3, DynamoDB and SQS survive a
255
+ `cdk synth`. Under `yulin watch` the template is left to the process watching it rather than being a
256
+ reason to restart. See the
257
+ [CloudFormation docs](./docs/services/cloudformation "Simulated CloudFormation docs") for what an
258
+ update does to each resource.
259
+
188
260
  ### Control simulated time
189
261
 
190
262
  Each simulated AWS has its own clock, which you can freeze, set, or advance. This lets a test
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Thrown for a command the CLI does not have.
3
+ */
4
+ export declare class SimCliUnknownCommand extends Error {
5
+ readonly name = "SimCliUnknownCommand";
6
+ constructor(command: string);
7
+ }
8
+ /**
9
+ * The `yulin` command line.
10
+ *
11
+ * One command so far. It exists because a local dev loop needs a process
12
+ * outside the one being restarted, which is not something a library can be.
13
+ */
14
+ export declare class SimCli {
15
+ /**
16
+ * Run the CLI, and report the exit code it should leave behind.
17
+ */
18
+ run(argv: readonly string[]): Promise<number>;
19
+ }
20
+ //# sourceMappingURL=sim-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cli.d.ts","sourceRoot":"","sources":["../../src/cli/sim-cli.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,SAAyB,IAAI,0BAA0B;IAEvD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,MAAM;IACjB;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBlD;CACF"}
@@ -0,0 +1,42 @@
1
+ import { SimWatchCommand } from "./watch/sim-watch-command.js";
2
+ const usage = `Usage: yulin <command>
3
+
4
+ Commands:
5
+ watch [--inspect[=port]] -- <command> Run a command, and run it again when project files change
6
+ `;
7
+ /**
8
+ * Thrown for a command the CLI does not have.
9
+ */
10
+ export class SimCliUnknownCommand extends Error {
11
+ name = "SimCliUnknownCommand";
12
+ constructor(command) {
13
+ super(`Unknown command ${command}.\n\n${usage}`);
14
+ }
15
+ }
16
+ /**
17
+ * The `yulin` command line.
18
+ *
19
+ * One command so far. It exists because a local dev loop needs a process
20
+ * outside the one being restarted, which is not something a library can be.
21
+ */
22
+ export class SimCli {
23
+ /**
24
+ * Run the CLI, and report the exit code it should leave behind.
25
+ */
26
+ async run(argv) {
27
+ const [command, ...rest] = argv;
28
+ if (command === undefined) {
29
+ process.stdout.write(usage);
30
+ return 1;
31
+ }
32
+ if (["--help", "-h", "help"].includes(command)) {
33
+ process.stdout.write(usage);
34
+ return 0;
35
+ }
36
+ if (command !== "watch") {
37
+ throw new SimCliUnknownCommand(command);
38
+ }
39
+ return await new SimWatchCommand().run(rest);
40
+ }
41
+ }
42
+ //# sourceMappingURL=sim-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cli.js","sourceRoot":"","sources":["../../src/cli/sim-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,KAAK,GAAG;;;;CAIb,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpB,IAAI,GAAG,sBAAsB,CAAC;IAEvD,YAAY,OAAe;QACzB,KAAK,CAAC,mBAAmB,OAAO,QAAQ,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,MAAM;IACjB;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,IAAuB;QAC/B,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAEhC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,MAAM,IAAI,eAAe,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;CACF"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Thrown when `yulin watch` was not given something to run.
3
+ */
4
+ export declare class SimWatchUsageError extends Error {
5
+ readonly name = "SimWatchUsageError";
6
+ constructor(message: string);
7
+ }
8
+ /**
9
+ * What `yulin watch` was asked to do.
10
+ *
11
+ * Everything after `--` is the command, passed through untouched. The CLI does
12
+ * not import the command, look for an exported setup function, or care whether
13
+ * the simulation it builds came from SDK commands, a template, or several
14
+ * `SimAws` instances at once. It runs it and runs it again.
15
+ */
16
+ export declare class SimWatchArguments {
17
+ readonly command: string;
18
+ readonly commandArguments: readonly string[];
19
+ readonly inspect: string | undefined;
20
+ private constructor();
21
+ /**
22
+ * Read the arguments given after `yulin watch`.
23
+ */
24
+ static parse(argv: readonly string[]): SimWatchArguments;
25
+ /**
26
+ * The command as it was written, for reporting.
27
+ */
28
+ describe(): string;
29
+ }
30
+ //# sourceMappingURL=sim-watch-arguments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-watch-arguments.d.ts","sourceRoot":"","sources":["../../../src/cli/watch/sim-watch-arguments.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,SAAyB,IAAI,wBAAwB;IAErD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;;GAOG;AACH,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAErC,OAAO,eAQN;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,iBAAiB,CAoBvD;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,CAEjB;CACF"}
@@ -0,0 +1,67 @@
1
+ const inspectorFlags = new Set([
2
+ "--inspect",
3
+ "--inspect-brk",
4
+ "--inspect-wait",
5
+ ]);
6
+ /**
7
+ * Thrown when `yulin watch` was not given something to run.
8
+ */
9
+ export class SimWatchUsageError extends Error {
10
+ name = "SimWatchUsageError";
11
+ constructor(message) {
12
+ super(`${message}\n\nUsage: yulin watch [--inspect[=port]] -- <command>`);
13
+ }
14
+ }
15
+ /**
16
+ * What `yulin watch` was asked to do.
17
+ *
18
+ * Everything after `--` is the command, passed through untouched. The CLI does
19
+ * not import the command, look for an exported setup function, or care whether
20
+ * the simulation it builds came from SDK commands, a template, or several
21
+ * `SimAws` instances at once. It runs it and runs it again.
22
+ */
23
+ export class SimWatchArguments {
24
+ command;
25
+ commandArguments;
26
+ inspect;
27
+ constructor(command, commandArguments, inspect) {
28
+ this.command = command;
29
+ this.commandArguments = commandArguments;
30
+ this.inspect = inspect;
31
+ }
32
+ /**
33
+ * Read the arguments given after `yulin watch`.
34
+ */
35
+ static parse(argv) {
36
+ const separator = argv.indexOf("--");
37
+ if (separator === -1) {
38
+ throw new SimWatchUsageError("No command given. Put the command to run after --, so that its own options are not read as options to watch.");
39
+ }
40
+ const [command, ...rest] = argv.slice(separator + 1);
41
+ if (command === undefined) {
42
+ throw new SimWatchUsageError("No command given after --.");
43
+ }
44
+ return new SimWatchArguments(command, rest, inspectorFlag(argv.slice(0, separator)));
45
+ }
46
+ /**
47
+ * The command as it was written, for reporting.
48
+ */
49
+ describe() {
50
+ return [this.command, ...this.commandArguments].join(" ");
51
+ }
52
+ }
53
+ /**
54
+ * The inspector flag to pass through to each run, if one was asked for.
55
+ */
56
+ function inspectorFlag(options) {
57
+ const unknown = options.find((option) => !isInspectorFlag(option));
58
+ if (unknown !== undefined) {
59
+ throw new SimWatchUsageError(`Unknown option ${unknown}.`);
60
+ }
61
+ return options.at(-1);
62
+ }
63
+ function isInspectorFlag(option) {
64
+ const [flag = ""] = option.split("=");
65
+ return inspectorFlags.has(flag);
66
+ }
67
+ //# sourceMappingURL=sim-watch-arguments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-watch-arguments.js","sourceRoot":"","sources":["../../../src/cli/watch/sim-watch-arguments.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,WAAW;IACX,eAAe;IACf,gBAAgB;CACjB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClB,IAAI,GAAG,oBAAoB,CAAC;IAErD,YAAY,OAAe;QACzB,KAAK,CAAC,GAAG,OAAO,wDAAwD,CAAC,CAAC;IAC5E,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,iBAAiB;IACnB,OAAO,CAAS;IAChB,gBAAgB,CAAoB;IACpC,OAAO,CAAqB;IAErC,YACE,OAAe,EACf,gBAAmC,EACnC,OAA2B;QAE3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,IAAuB;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,kBAAkB,CAC1B,8GAA8G,CAC/G,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAErD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,kBAAkB,CAAC,4BAA4B,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,iBAAiB,CAC1B,OAAO,EACP,IAAI,EACJ,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CACxC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;CACF;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,OAA0B;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,kBAAkB,CAAC,kBAAkB,OAAO,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEtC,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,30 @@
1
+ interface SimWatchChildEnvironmentProperties {
2
+ readonly cwd: string;
3
+ readonly inspect?: string | undefined;
4
+ readonly environment?: NodeJS.ProcessEnv;
5
+ }
6
+ /**
7
+ * The environment a supervised process runs in.
8
+ *
9
+ * Three things are added to the environment the supervisor was given. The
10
+ * project's own `node_modules/.bin` goes on `PATH`, so `yulin watch -- tsx
11
+ * dev.ts` works from a plain shell as well as from a package script. A marker
12
+ * says a supervisor is listening, which is what makes the runtime in the child
13
+ * report paths at all. An inspector flag goes through `NODE_OPTIONS` rather
14
+ * than on the command line, because the command being run is often not `node`
15
+ * itself.
16
+ */
17
+ export declare class SimWatchChildEnvironment {
18
+ private readonly cwd;
19
+ private readonly inspect;
20
+ private readonly environment;
21
+ constructor(properties: SimWatchChildEnvironmentProperties);
22
+ /**
23
+ * Build the environment for one run of the supervised command.
24
+ */
25
+ build(): NodeJS.ProcessEnv;
26
+ private pathWithLocalBin;
27
+ private nodeOptionsWithInspector;
28
+ }
29
+ export {};
30
+ //# sourceMappingURL=sim-watch-child-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-watch-child-environment.d.ts","sourceRoot":"","sources":["../../../src/cli/watch/sim-watch-child-environment.ts"],"names":[],"mappings":"AAKA,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAC1C;AAED;;;;;;;;;;GAUG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAEhD,YAAY,UAAU,EAAE,kCAAkC,EAKzD;IAED;;OAEG;IACH,KAAK,IAAI,MAAM,CAAC,UAAU,CAUzB;IAED,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,wBAAwB;CAKjC"}
@@ -0,0 +1,51 @@
1
+ import path from "node:path";
2
+ import { simWatchConfig } from "../../watch/sim-watch.config.js";
3
+ const nodeOptionsName = "NODE_OPTIONS";
4
+ /**
5
+ * The environment a supervised process runs in.
6
+ *
7
+ * Three things are added to the environment the supervisor was given. The
8
+ * project's own `node_modules/.bin` goes on `PATH`, so `yulin watch -- tsx
9
+ * dev.ts` works from a plain shell as well as from a package script. A marker
10
+ * says a supervisor is listening, which is what makes the runtime in the child
11
+ * report paths at all. An inspector flag goes through `NODE_OPTIONS` rather
12
+ * than on the command line, because the command being run is often not `node`
13
+ * itself.
14
+ */
15
+ export class SimWatchChildEnvironment {
16
+ cwd;
17
+ inspect;
18
+ environment;
19
+ constructor(properties) {
20
+ const { cwd, inspect, environment = process.env } = properties;
21
+ this.cwd = cwd;
22
+ this.inspect = inspect;
23
+ this.environment = environment;
24
+ }
25
+ /**
26
+ * Build the environment for one run of the supervised command.
27
+ */
28
+ build() {
29
+ return {
30
+ ...this.environment,
31
+ PATH: this.pathWithLocalBin(),
32
+ [simWatchConfig.environmentVariableName]: simWatchConfig.environmentVariableValue,
33
+ ...(this.inspect !== undefined && {
34
+ [nodeOptionsName]: this.nodeOptionsWithInspector(this.inspect),
35
+ }),
36
+ };
37
+ }
38
+ pathWithLocalBin() {
39
+ const localBin = path.join(this.cwd, "node_modules", ".bin");
40
+ const existing = this.environment["PATH"] ?? "";
41
+ if (existing.split(path.delimiter).includes(localBin)) {
42
+ return existing;
43
+ }
44
+ return `${localBin}${path.delimiter}${existing}`;
45
+ }
46
+ nodeOptionsWithInspector(inspect) {
47
+ const existing = this.environment["NODE_OPTIONS"] ?? "";
48
+ return `${existing} ${inspect}`.trim();
49
+ }
50
+ }
51
+ //# sourceMappingURL=sim-watch-child-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-watch-child-environment.js","sourceRoot":"","sources":["../../../src/cli/watch/sim-watch-child-environment.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,MAAM,eAAe,GAAG,cAAc,CAAC;AAQvC;;;;;;;;;;GAUG;AACH,MAAM,OAAO,wBAAwB;IAClB,GAAG,CAAS;IACZ,OAAO,CAAqB;IAC5B,WAAW,CAAoB;IAEhD,YAAY,UAA8C;QACxD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;QAC/D,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO;YACL,GAAG,IAAI,CAAC,WAAW;YACnB,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAC7B,CAAC,cAAc,CAAC,uBAAuB,CAAC,EACtC,cAAc,CAAC,wBAAwB;YACzC,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI;gBAChC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC;aAC/D,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,gBAAgB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAEhD,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,QAAQ,EAAE,CAAC;IACnD,CAAC;IAEO,wBAAwB,CAAC,OAAe;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAExD,OAAO,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;CACF"}
@@ -0,0 +1,19 @@
1
+ import type { ChildProcess } from "node:child_process";
2
+ /**
3
+ * Whether an IPC message is one of the kind named.
4
+ */
5
+ export declare function isWatchMessage(message: unknown, type: string): boolean;
6
+ /**
7
+ * Whether an IPC message names a path to watch.
8
+ */
9
+ export declare function isWatchPathMessage(message: unknown, type: string): message is {
10
+ readonly path: string;
11
+ };
12
+ /**
13
+ * Wait for a process to send a message of one kind, and give up after a while.
14
+ *
15
+ * A process not running Yulin's runtime never answers, so this is a short wait
16
+ * rather than a requirement.
17
+ */
18
+ export declare function waitWatchMessage(childProcess: ChildProcess, type: string, withinMs: number): Promise<void>;
19
+ //# sourceMappingURL=sim-watch-child-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-watch-child-message.d.ts","sourceRoot":"","sources":["../../../src/cli/watch/sim-watch-child-message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,IAAI;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAQtC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAkBf"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Whether an IPC message is one of the kind named.
3
+ */
4
+ export function isWatchMessage(message, type) {
5
+ return (typeof message === "object" &&
6
+ message !== null &&
7
+ "type" in message &&
8
+ message.type === type);
9
+ }
10
+ /**
11
+ * Whether an IPC message names a path to watch.
12
+ */
13
+ export function isWatchPathMessage(message, type) {
14
+ return (isWatchMessage(message, type) &&
15
+ typeof message === "object" &&
16
+ message !== null &&
17
+ "path" in message &&
18
+ typeof message.path === "string");
19
+ }
20
+ /**
21
+ * Wait for a process to send a message of one kind, and give up after a while.
22
+ *
23
+ * A process not running Yulin's runtime never answers, so this is a short wait
24
+ * rather than a requirement.
25
+ */
26
+ export async function waitWatchMessage(childProcess, type, withinMs) {
27
+ await new Promise((resolve) => {
28
+ const done = () => {
29
+ clearTimeout(timer);
30
+ childProcess.off("message", onMessage);
31
+ resolve();
32
+ };
33
+ const onMessage = (message) => {
34
+ if (isWatchMessage(message, type)) {
35
+ done();
36
+ }
37
+ };
38
+ const timer = setTimeout(done, withinMs);
39
+ childProcess.on("message", onMessage);
40
+ });
41
+ }
42
+ //# sourceMappingURL=sim-watch-child-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-watch-child-message.js","sourceRoot":"","sources":["../../../src/cli/watch/sim-watch-child-message.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,IAAY;IAC3D,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,MAAM,IAAI,OAAO;QACjB,OAAO,CAAC,IAAI,KAAK,IAAI,CACtB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,IAAY;IAEZ,OAAO,CACL,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC;QAC7B,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,MAAM,IAAI,OAAO;QACjB,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CACjC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,YAA0B,EAC1B,IAAY,EACZ,QAAgB;IAEhB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,GAAS,EAAE;YACtB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAQ,EAAE;YAC3C,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;gBAClC,IAAI,EAAE,CAAC;YACT,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { type ChildProcess } from "node:child_process";
2
+ interface SimWatchChildProcessProperties {
3
+ readonly command: string;
4
+ readonly args: readonly string[];
5
+ readonly cwd: string;
6
+ readonly env: NodeJS.ProcessEnv;
7
+ }
8
+ /**
9
+ * A spawned command, and the two moments in its life a supervisor waits on.
10
+ *
11
+ * Standard input, output and error are the supervisor's own, so the process
12
+ * being watched prints where it would have printed if it had been started by
13
+ * hand. The fourth channel is what the runtime inside it reports paths over.
14
+ */
15
+ export declare class SimWatchChildProcess {
16
+ readonly process: ChildProcess;
17
+ readonly spawned: Promise<void>;
18
+ readonly finished: Promise<void>;
19
+ constructor(properties: SimWatchChildProcessProperties);
20
+ }
21
+ export {};
22
+ //# sourceMappingURL=sim-watch-child-process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-watch-child-process.d.ts","sourceRoot":"","sources":["../../../src/cli/watch/sim-watch-child-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,oBAAoB,CAAC;AAE9D,UAAU,8BAA8B;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACjC;AAED;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAC/B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjC,YAAY,UAAU,EAAE,8BAA8B,EAqBrD;CACF"}
@@ -0,0 +1,33 @@
1
+ import { spawn } from "node:child_process";
2
+ /**
3
+ * A spawned command, and the two moments in its life a supervisor waits on.
4
+ *
5
+ * Standard input, output and error are the supervisor's own, so the process
6
+ * being watched prints where it would have printed if it had been started by
7
+ * hand. The fourth channel is what the runtime inside it reports paths over.
8
+ */
9
+ export class SimWatchChildProcess {
10
+ process;
11
+ spawned;
12
+ finished;
13
+ constructor(properties) {
14
+ const { command, args, cwd, env } = properties;
15
+ this.process = spawn(command, [...args], {
16
+ cwd,
17
+ env,
18
+ stdio: ["inherit", "inherit", "inherit", "ipc"],
19
+ });
20
+ this.spawned = new Promise((resolve, reject) => {
21
+ this.process.once("spawn", resolve);
22
+ this.process.once("error", (error) => {
23
+ reject(new Error(`Could not run ${command}: ${error.message}`));
24
+ });
25
+ });
26
+ this.finished = new Promise((resolve) => {
27
+ this.process.once("exit", () => {
28
+ resolve();
29
+ });
30
+ });
31
+ }
32
+ }
33
+ //# sourceMappingURL=sim-watch-child-process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-watch-child-process.js","sourceRoot":"","sources":["../../../src/cli/watch/sim-watch-child-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAS9D;;;;;;GAMG;AACH,MAAM,OAAO,oBAAoB;IACtB,OAAO,CAAe;IACtB,OAAO,CAAgB;IACvB,QAAQ,CAAgB;IAEjC,YAAY,UAA0C;QACpD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;QAE/C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;YACvC,GAAG;YACH,GAAG;YACH,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC;SAChD,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBAC1C,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC7B,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ import type { ChildProcess } from "node:child_process";
2
+ interface SimWatchChildShutdownProperties {
3
+ readonly process: ChildProcess;
4
+ readonly finished: Promise<void>;
5
+ }
6
+ /**
7
+ * Takes a supervised process down, in the order that lets it say goodbye.
8
+ *
9
+ * A process running Yulin's runtime is warned first, so a served page hears
10
+ * that a reload is coming rather than only seeing its connection go, and is
11
+ * killed as soon as it says it has passed that on. One that does not answer,
12
+ * because it is serving nothing or is not a Yulin process at all, is killed
13
+ * when the short wait runs out. Either way it is killed, and killed harder if
14
+ * it will not go, because the port has to be free for the process replacing it.
15
+ */
16
+ export declare class SimWatchChildShutdown {
17
+ private readonly process;
18
+ private readonly finished;
19
+ constructor(properties: SimWatchChildShutdownProperties);
20
+ /**
21
+ * Stop the process, and wait until it has gone.
22
+ */
23
+ stop(): Promise<void>;
24
+ private warn;
25
+ private gone;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=sim-watch-child-shutdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-watch-child-shutdown.d.ts","sourceRoot":"","sources":["../../../src/cli/watch/sim-watch-child-shutdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOvD,UAAU,+BAA+B;IACvC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IAEzC,YAAY,UAAU,EAAE,+BAA+B,EAItD;IAED;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAI1B;YAEa,IAAI;YA0BJ,IAAI;CAWnB"}
@@ -0,0 +1,59 @@
1
+ import { simWatchConfig, simWatchMessages, } from "../../watch/sim-watch.config.js";
2
+ import { waitWatchMessage } from "./sim-watch-child-message.js";
3
+ /**
4
+ * Takes a supervised process down, in the order that lets it say goodbye.
5
+ *
6
+ * A process running Yulin's runtime is warned first, so a served page hears
7
+ * that a reload is coming rather than only seeing its connection go, and is
8
+ * killed as soon as it says it has passed that on. One that does not answer,
9
+ * because it is serving nothing or is not a Yulin process at all, is killed
10
+ * when the short wait runs out. Either way it is killed, and killed harder if
11
+ * it will not go, because the port has to be free for the process replacing it.
12
+ */
13
+ export class SimWatchChildShutdown {
14
+ process;
15
+ finished;
16
+ constructor(properties) {
17
+ const { process: childProcess, finished } = properties;
18
+ this.process = childProcess;
19
+ this.finished = finished;
20
+ }
21
+ /**
22
+ * Stop the process, and wait until it has gone.
23
+ */
24
+ async stop() {
25
+ await this.warn();
26
+ this.process.kill("SIGTERM");
27
+ await this.gone();
28
+ }
29
+ async warn() {
30
+ if (!this.process.connected) {
31
+ return;
32
+ }
33
+ const acknowledged = Promise.race([
34
+ this.finished,
35
+ waitWatchMessage(this.process, simWatchMessages.stopped, simWatchConfig.stoppingMs),
36
+ ]);
37
+ // The channel can close between being asked whether it is open and being
38
+ // written to, because the process is free to exit in between. The callback
39
+ // is where that failure goes; without one it reaches the process as an
40
+ // error event, and a warning that could not be delivered is not a reason to
41
+ // stop taking the process down.
42
+ this.process.send({ type: simWatchMessages.stopping }, () => {
43
+ // Nothing to do about a process that has already gone.
44
+ });
45
+ await acknowledged;
46
+ }
47
+ async gone() {
48
+ const timer = setTimeout(() => {
49
+ this.process.kill("SIGKILL");
50
+ }, simWatchConfig.exitMs);
51
+ try {
52
+ await this.finished;
53
+ }
54
+ finally {
55
+ clearTimeout(timer);
56
+ }
57
+ }
58
+ }
59
+ //# sourceMappingURL=sim-watch-child-shutdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-watch-child-shutdown.js","sourceRoot":"","sources":["../../../src/cli/watch/sim-watch-child-shutdown.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAOhE;;;;;;;;;GASG;AACH,MAAM,OAAO,qBAAqB;IACf,OAAO,CAAe;IACtB,QAAQ,CAAgB;IAEzC,YAAY,UAA2C;QACrD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;YAChC,IAAI,CAAC,QAAQ;YACb,gBAAgB,CACd,IAAI,CAAC,OAAO,EACZ,gBAAgB,CAAC,OAAO,EACxB,cAAc,CAAC,UAAU,CAC1B;SACF,CAAC,CAAC;QAEH,yEAAyE;QACzE,2EAA2E;QAC3E,uEAAuE;QACvE,4EAA4E;QAC5E,gCAAgC;QAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE;YAC1D,uDAAuD;QACzD,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAE1B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,42 @@
1
+ interface SimWatchChildProperties {
2
+ readonly command: string;
3
+ readonly args: readonly string[];
4
+ readonly cwd: string;
5
+ readonly env: NodeJS.ProcessEnv;
6
+ readonly onPath: (reportedPath: string) => void;
7
+ readonly onHeldPath: (heldPath: string) => void;
8
+ readonly onExit: (code: number | null, signal: NodeJS.Signals | null) => void;
9
+ }
10
+ /**
11
+ * One run of the supervised command.
12
+ *
13
+ * A restart is a new instance of this rather than anything swapped in place. A
14
+ * handler is a function reference out of the user's own module graph, and a new
15
+ * process re-imports it with no module cache to defeat, so a restart is correct
16
+ * by construction where an in-process swap would have to invalidate an import
17
+ * graph that ESM does not expose.
18
+ */
19
+ export declare class SimWatchChild {
20
+ private readonly properties;
21
+ private readonly run;
22
+ private readonly startedAt;
23
+ private stopping;
24
+ private readonly onMessage;
25
+ private readonly onProcessExit;
26
+ constructor(properties: SimWatchChildProperties);
27
+ /**
28
+ * How long this process has been running.
29
+ */
30
+ ranForMs(): number;
31
+ /**
32
+ * Fail if the command could not be run at all, rather than letting it look
33
+ * like a process that started and stopped.
34
+ */
35
+ started(): Promise<void>;
36
+ /**
37
+ * Stop this process, giving it a moment to tell its browsers first.
38
+ */
39
+ stop(): Promise<void>;
40
+ }
41
+ export {};
42
+ //# sourceMappingURL=sim-watch-child.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-watch-child.d.ts","sourceRoot":"","sources":["../../../src/cli/watch/sim-watch-child.ts"],"names":[],"mappings":"AAKA,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;CAC/E;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IACrD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAuB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAQxB;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAO5B;IAEF,YAAY,UAAU,EAAE,uBAAuB,EAM9C;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,CAEjB;IAED;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAE7B;IAED;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAO1B;CACF"}