@grnsft/if 1.0.1 → 1.1.0-beta.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 (319) hide show
  1. package/.dockerignore +10 -0
  2. package/CONTAINER.md +148 -0
  3. package/Dockerfile +73 -0
  4. package/HELM_CHART.md +96 -0
  5. package/README.md +56 -0
  6. package/bin/docker-entrypoint.sh +15 -0
  7. package/build/common/types/manifest.d.ts +1 -0
  8. package/build/common/types/manifest.js +1 -1
  9. package/build/common/util/debug-logger.js +4 -18
  10. package/build/common/util/helpers.d.ts +3 -2
  11. package/build/common/util/helpers.js +6 -18
  12. package/build/common/util/storage.d.ts +9 -0
  13. package/build/common/util/storage.js +24 -0
  14. package/build/if-api/config/config.d.ts +9 -0
  15. package/build/if-api/config/config.js +58 -0
  16. package/build/if-api/config/index.d.ts +2 -0
  17. package/build/if-api/config/index.js +8 -0
  18. package/build/if-api/config/strings.d.ts +16 -0
  19. package/build/if-api/config/strings.js +20 -0
  20. package/build/if-api/index.d.ts +2 -0
  21. package/build/if-api/index.js +268 -0
  22. package/build/if-api/types/process-args.d.ts +18 -0
  23. package/build/if-api/types/process-args.js +3 -0
  24. package/build/if-api/util/args.d.ts +5 -0
  25. package/build/if-api/util/args.js +42 -0
  26. package/build/if-check/index.js +1 -11
  27. package/build/if-check/util/npm.d.ts +1 -1
  28. package/build/if-check/util/npm.js +31 -74
  29. package/build/if-metadata-check/config/config.d.ts +5 -0
  30. package/build/if-metadata-check/config/config.js +26 -0
  31. package/build/if-metadata-check/config/strings.d.ts +5 -0
  32. package/build/if-metadata-check/config/strings.js +9 -0
  33. package/build/if-metadata-check/index.d.ts +2 -0
  34. package/build/if-metadata-check/index.js +30 -0
  35. package/build/if-metadata-check/types/plugin.d.ts +7 -0
  36. package/build/if-metadata-check/types/plugin.js +3 -0
  37. package/build/if-metadata-check/types/process-args.d.ts +5 -0
  38. package/build/if-metadata-check/types/process-args.js +3 -0
  39. package/build/if-metadata-check/util/args.d.ts +57 -0
  40. package/build/if-metadata-check/util/args.js +29 -0
  41. package/build/if-metadata-check/util/metadata-checker.d.ts +44 -0
  42. package/build/if-metadata-check/util/metadata-checker.js +99 -0
  43. package/build/if-run/builtins/divide/index.js +2 -2
  44. package/build/if-run/builtins/sci/index.js +2 -2
  45. package/build/if-run/config/strings.js +3 -3
  46. package/build/if-run/index.js +1 -1
  47. package/build/if-run/lib/aggregate.d.ts +2 -2
  48. package/build/if-run/lib/aggregate.js +5 -19
  49. package/build/if-run/lib/compute.d.ts +1 -1
  50. package/build/if-run/lib/compute.js +10 -9
  51. package/build/if-run/lib/environment.d.ts +5 -1
  52. package/build/if-run/lib/environment.js +30 -29
  53. package/build/if-run/lib/initialize.d.ts +12 -0
  54. package/build/if-run/lib/initialize.js +37 -3
  55. package/build/if-run/lib/regroup.d.ts +3 -2
  56. package/build/if-run/lib/regroup.js +13 -9
  57. package/build/if-run/types/compute.d.ts +1 -1
  58. package/build/if-run/types/compute.js +1 -1
  59. package/build/if-run/util/os-checker.js +14 -10
  60. package/helm-chart/.helmignore +23 -0
  61. package/helm-chart/Chart.yaml +24 -0
  62. package/helm-chart/templates/NOTES.txt +22 -0
  63. package/helm-chart/templates/_helpers.tpl +62 -0
  64. package/helm-chart/templates/additionalPlugins.yaml +13 -0
  65. package/helm-chart/templates/deployment.yaml +144 -0
  66. package/helm-chart/templates/disabledPlugins.yaml +11 -0
  67. package/helm-chart/templates/env-configmap.yaml +10 -0
  68. package/helm-chart/templates/env-secret.yaml +10 -0
  69. package/helm-chart/templates/hpa.yaml +32 -0
  70. package/helm-chart/templates/ingress.yaml +43 -0
  71. package/helm-chart/templates/npmrc.yaml +11 -0
  72. package/helm-chart/templates/service.yaml +24 -0
  73. package/helm-chart/templates/serviceaccount.yaml +13 -0
  74. package/helm-chart/templates/tests/test-connection.yaml +15 -0
  75. package/helm-chart/values.yaml +175 -0
  76. package/jest.config.js +6 -2
  77. package/manifests/examples/bugs/aggregation-error-wrong-metric.yml +173 -0
  78. package/manifests/examples/bugs/input-error-missing-duration.yml +25 -0
  79. package/manifests/examples/bugs/mock-observations-failure-duration-is-zero.yml +33 -0
  80. package/manifests/examples/bugs/pipeline-error-naming-mismatch.yml +32 -0
  81. package/manifests/examples/bugs/pipeline-error-uninitialized-plugin.yml +33 -0
  82. package/manifests/examples/bugs/pipeline-ordering-error.yml +91 -0
  83. package/manifests/examples/builtins/divide/success-denominator-equal-zero.yml +36 -0
  84. package/manifests/examples/builtins/mock-observations/failure-invalid-config-cpu-range.yml +0 -1
  85. package/manifests/examples/builtins/mock-observations/failure-invalid-memory-utilization-range.yml +0 -1
  86. package/manifests/examples/builtins/mock-observations/failure-missing-timestamp-from-param.yml +0 -1
  87. package/manifests/examples/builtins/mock-observations/success.yml +0 -1
  88. package/manifests/examples/builtins/sci/failure-invalid-config-value.yml +0 -1
  89. package/manifests/examples/builtins/sci/failure-missing-input-param.yml +0 -1
  90. package/manifests/examples/builtins/sci/success.yml +0 -1
  91. package/manifests/examples/builtins/sci-embodied/failure-invalid-default-emission-value.yml +22 -0
  92. package/manifests/examples/builtins/time-sync/failure-missing-config.yml +0 -2
  93. package/manifests/examples/builtins/time-sync/success.yml +0 -2
  94. package/manifests/examples/features/aggregate-failure-invalid-metrics.yml +50 -0
  95. package/manifests/examples/features/aggregate-failure-missing-metric-in-inputs.yml +50 -0
  96. package/manifests/examples/features/aggregate-horizontal.yml +58 -0
  97. package/manifests/examples/features/aggregate-vertical.yml +58 -0
  98. package/manifests/examples/features/aggregate.yml +58 -0
  99. package/manifests/examples/pipelines/cloud-metadata-divide.yml +36 -0
  100. package/manifests/examples/pipelines/pipeline-with-mocks.yml +0 -1
  101. package/manifests/examples/pipelines/scenario-5.yml +0 -1
  102. package/manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml +0 -1
  103. package/manifests/outputs/builtins/mock-observations/failure-invalid-config-cpu-range.yaml +0 -1
  104. package/manifests/outputs/builtins/mock-observations/failure-invalid-memory-utilization-range.yaml +0 -1
  105. package/manifests/outputs/builtins/mock-observations/failure-missing-timestamp-from-param.yaml +0 -1
  106. package/manifests/outputs/builtins/sci/failure-invalid-config-value.yaml +0 -1
  107. package/manifests/outputs/builtins/sci/failure-missing-input-param.yaml +0 -1
  108. package/manifests/outputs/builtins/time-sync/failure-missing-config.yaml +0 -2
  109. package/manifests/outputs/features/regroup/success.yaml +72 -0
  110. package/manifests/outputs/pipelines/pipeline-with-aggregate.yaml +1291 -0
  111. package/manifests/outputs/pipelines/scenario-3.yaml +126 -0
  112. package/openapi.yaml +424 -0
  113. package/package.json +17 -12
  114. package/with-plugins/Dockerfile +59 -0
  115. package/.env +0 -5
  116. package/coverage/clover.xml +0 -2062
  117. package/coverage/coverage-final.json +0 -58
  118. package/coverage/lcov-report/base.css +0 -224
  119. package/coverage/lcov-report/block-navigation.js +0 -87
  120. package/coverage/lcov-report/builtins/coefficient/index.html +0 -116
  121. package/coverage/lcov-report/builtins/coefficient/index.ts.html +0 -298
  122. package/coverage/lcov-report/builtins/csv-lookup/index.html +0 -116
  123. package/coverage/lcov-report/builtins/csv-lookup/index.ts.html +0 -826
  124. package/coverage/lcov-report/builtins/divide/index.html +0 -116
  125. package/coverage/lcov-report/builtins/divide/index.ts.html +0 -358
  126. package/coverage/lcov-report/builtins/exponent/index.html +0 -116
  127. package/coverage/lcov-report/builtins/exponent/index.ts.html +0 -361
  128. package/coverage/lcov-report/builtins/export-csv-raw.ts.html +0 -553
  129. package/coverage/lcov-report/builtins/export-csv.ts.html +0 -436
  130. package/coverage/lcov-report/builtins/export-log.ts.html +0 -148
  131. package/coverage/lcov-report/builtins/export-yaml.ts.html +0 -193
  132. package/coverage/lcov-report/builtins/group-by.ts.html +0 -370
  133. package/coverage/lcov-report/builtins/index.html +0 -206
  134. package/coverage/lcov-report/builtins/index.ts.html +0 -130
  135. package/coverage/lcov-report/builtins/interpolation/index.html +0 -116
  136. package/coverage/lcov-report/builtins/interpolation/index.ts.html +0 -676
  137. package/coverage/lcov-report/builtins/interpolation/types.ts.html +0 -100
  138. package/coverage/lcov-report/builtins/mock-observations/helpers/common-generator.ts.html +0 -184
  139. package/coverage/lcov-report/builtins/mock-observations/helpers/index.html +0 -131
  140. package/coverage/lcov-report/builtins/mock-observations/helpers/rand-int-generator.ts.html +0 -289
  141. package/coverage/lcov-report/builtins/mock-observations/index.html +0 -116
  142. package/coverage/lcov-report/builtins/mock-observations/index.ts.html +0 -619
  143. package/coverage/lcov-report/builtins/multiply/index.html +0 -116
  144. package/coverage/lcov-report/builtins/multiply/index.ts.html +0 -343
  145. package/coverage/lcov-report/builtins/regex/index.html +0 -116
  146. package/coverage/lcov-report/builtins/regex/index.ts.html +0 -373
  147. package/coverage/lcov-report/builtins/sci/config.ts.html +0 -205
  148. package/coverage/lcov-report/builtins/sci/index.html +0 -116
  149. package/coverage/lcov-report/builtins/sci/index.ts.html +0 -325
  150. package/coverage/lcov-report/builtins/sci-embodied/index.html +0 -116
  151. package/coverage/lcov-report/builtins/sci-embodied/index.ts.html +0 -478
  152. package/coverage/lcov-report/builtins/shell/index.html +0 -116
  153. package/coverage/lcov-report/builtins/shell/index.ts.html +0 -280
  154. package/coverage/lcov-report/builtins/subtract/index.html +0 -116
  155. package/coverage/lcov-report/builtins/subtract/index.ts.html +0 -379
  156. package/coverage/lcov-report/builtins/sum/index.html +0 -116
  157. package/coverage/lcov-report/builtins/sum/index.ts.html +0 -334
  158. package/coverage/lcov-report/builtins/time-sync.ts.html +0 -1462
  159. package/coverage/lcov-report/common/config/index.html +0 -131
  160. package/coverage/lcov-report/common/config/index.ts.html +0 -88
  161. package/coverage/lcov-report/common/config/strings.ts.html +0 -121
  162. package/coverage/lcov-report/common/lib/index.html +0 -116
  163. package/coverage/lcov-report/common/lib/load.ts.html +0 -139
  164. package/coverage/lcov-report/common/util/debug-logger.ts.html +0 -514
  165. package/coverage/lcov-report/common/util/fs.ts.html +0 -289
  166. package/coverage/lcov-report/common/util/helpers.ts.html +0 -355
  167. package/coverage/lcov-report/common/util/index.html +0 -191
  168. package/coverage/lcov-report/common/util/logger.ts.html +0 -151
  169. package/coverage/lcov-report/common/util/validations.ts.html +0 -628
  170. package/coverage/lcov-report/common/util/yaml.ts.html +0 -226
  171. package/coverage/lcov-report/config/config.ts.html +0 -463
  172. package/coverage/lcov-report/config/index.html +0 -161
  173. package/coverage/lcov-report/config/index.ts.html +0 -94
  174. package/coverage/lcov-report/config/params.ts.html +0 -697
  175. package/coverage/lcov-report/config/strings.ts.html +0 -490
  176. package/coverage/lcov-report/favicon.png +0 -0
  177. package/coverage/lcov-report/if-check/config/config.ts.html +0 -184
  178. package/coverage/lcov-report/if-check/config/index.html +0 -146
  179. package/coverage/lcov-report/if-check/config/index.ts.html +0 -91
  180. package/coverage/lcov-report/if-check/config/strings.ts.html +0 -142
  181. package/coverage/lcov-report/if-check/util/args.ts.html +0 -310
  182. package/coverage/lcov-report/if-check/util/helpers.ts.html +0 -136
  183. package/coverage/lcov-report/if-check/util/index.html +0 -146
  184. package/coverage/lcov-report/if-check/util/npm.ts.html +0 -376
  185. package/coverage/lcov-report/if-csv/util/args.ts.html +0 -256
  186. package/coverage/lcov-report/if-csv/util/helpers.ts.html +0 -346
  187. package/coverage/lcov-report/if-csv/util/index.html +0 -131
  188. package/coverage/lcov-report/if-diff/config/config.ts.html +0 -184
  189. package/coverage/lcov-report/if-diff/config/index.html +0 -146
  190. package/coverage/lcov-report/if-diff/config/index.ts.html +0 -91
  191. package/coverage/lcov-report/if-diff/config/strings.ts.html +0 -100
  192. package/coverage/lcov-report/if-diff/lib/compare.ts.html +0 -286
  193. package/coverage/lcov-report/if-diff/lib/index.html +0 -131
  194. package/coverage/lcov-report/if-diff/lib/load.ts.html +0 -199
  195. package/coverage/lcov-report/if-diff/util/args.ts.html +0 -274
  196. package/coverage/lcov-report/if-diff/util/helpers.ts.html +0 -337
  197. package/coverage/lcov-report/if-diff/util/index.html +0 -131
  198. package/coverage/lcov-report/if-env/config/config.ts.html +0 -211
  199. package/coverage/lcov-report/if-env/config/index.html +0 -146
  200. package/coverage/lcov-report/if-env/config/index.ts.html +0 -91
  201. package/coverage/lcov-report/if-env/config/strings.ts.html +0 -109
  202. package/coverage/lcov-report/if-env/util/args.ts.html +0 -256
  203. package/coverage/lcov-report/if-env/util/index.html +0 -131
  204. package/coverage/lcov-report/if-env/util/npm.ts.html +0 -526
  205. package/coverage/lcov-report/if-merge/util/args.ts.html +0 -301
  206. package/coverage/lcov-report/if-merge/util/helpers.ts.html +0 -313
  207. package/coverage/lcov-report/if-merge/util/index.html +0 -131
  208. package/coverage/lcov-report/if-run/builtins/coefficient/index.html +0 -116
  209. package/coverage/lcov-report/if-run/builtins/coefficient/index.ts.html +0 -286
  210. package/coverage/lcov-report/if-run/builtins/copy-param/index.html +0 -116
  211. package/coverage/lcov-report/if-run/builtins/copy-param/index.ts.html +0 -301
  212. package/coverage/lcov-report/if-run/builtins/csv-import/index.html +0 -116
  213. package/coverage/lcov-report/if-run/builtins/csv-import/index.ts.html +0 -364
  214. package/coverage/lcov-report/if-run/builtins/csv-lookup/index.html +0 -116
  215. package/coverage/lcov-report/if-run/builtins/csv-lookup/index.ts.html +0 -478
  216. package/coverage/lcov-report/if-run/builtins/divide/index.html +0 -116
  217. package/coverage/lcov-report/if-run/builtins/divide/index.ts.html +0 -346
  218. package/coverage/lcov-report/if-run/builtins/exponent/index.html +0 -116
  219. package/coverage/lcov-report/if-run/builtins/exponent/index.ts.html +0 -319
  220. package/coverage/lcov-report/if-run/builtins/export-csv-raw.ts.html +0 -553
  221. package/coverage/lcov-report/if-run/builtins/export-csv.ts.html +0 -436
  222. package/coverage/lcov-report/if-run/builtins/export-log.ts.html +0 -148
  223. package/coverage/lcov-report/if-run/builtins/export-yaml.ts.html +0 -193
  224. package/coverage/lcov-report/if-run/builtins/group-by.ts.html +0 -370
  225. package/coverage/lcov-report/if-run/builtins/index.html +0 -146
  226. package/coverage/lcov-report/if-run/builtins/index.ts.html +0 -136
  227. package/coverage/lcov-report/if-run/builtins/interpolation/index.html +0 -116
  228. package/coverage/lcov-report/if-run/builtins/interpolation/index.ts.html +0 -643
  229. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/common-generator.ts.html +0 -184
  230. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/index.html +0 -131
  231. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/rand-int-generator.ts.html +0 -289
  232. package/coverage/lcov-report/if-run/builtins/mock-observations/index.html +0 -116
  233. package/coverage/lcov-report/if-run/builtins/mock-observations/index.ts.html +0 -607
  234. package/coverage/lcov-report/if-run/builtins/multiply/index.html +0 -116
  235. package/coverage/lcov-report/if-run/builtins/multiply/index.ts.html +0 -289
  236. package/coverage/lcov-report/if-run/builtins/regex/index.html +0 -116
  237. package/coverage/lcov-report/if-run/builtins/regex/index.ts.html +0 -298
  238. package/coverage/lcov-report/if-run/builtins/sci/index.html +0 -116
  239. package/coverage/lcov-report/if-run/builtins/sci/index.ts.html +0 -418
  240. package/coverage/lcov-report/if-run/builtins/sci-embodied/index.html +0 -116
  241. package/coverage/lcov-report/if-run/builtins/sci-embodied/index.ts.html +0 -664
  242. package/coverage/lcov-report/if-run/builtins/shell/index.html +0 -116
  243. package/coverage/lcov-report/if-run/builtins/shell/index.ts.html +0 -256
  244. package/coverage/lcov-report/if-run/builtins/subtract/index.html +0 -116
  245. package/coverage/lcov-report/if-run/builtins/subtract/index.ts.html +0 -298
  246. package/coverage/lcov-report/if-run/builtins/sum/index.html +0 -116
  247. package/coverage/lcov-report/if-run/builtins/sum/index.ts.html +0 -238
  248. package/coverage/lcov-report/if-run/builtins/time-converter/config.ts.html +0 -205
  249. package/coverage/lcov-report/if-run/builtins/time-converter/index.html +0 -131
  250. package/coverage/lcov-report/if-run/builtins/time-converter/index.ts.html +0 -328
  251. package/coverage/lcov-report/if-run/builtins/time-sync/index.html +0 -116
  252. package/coverage/lcov-report/if-run/builtins/time-sync/index.ts.html +0 -1804
  253. package/coverage/lcov-report/if-run/builtins/time-sync.ts.html +0 -1462
  254. package/coverage/lcov-report/if-run/builtins/util/csv-helpers.ts.html +0 -376
  255. package/coverage/lcov-report/if-run/builtins/util/index.html +0 -116
  256. package/coverage/lcov-report/if-run/config/config.ts.html +0 -271
  257. package/coverage/lcov-report/if-run/config/index.html +0 -161
  258. package/coverage/lcov-report/if-run/config/index.ts.html +0 -94
  259. package/coverage/lcov-report/if-run/config/params.ts.html +0 -679
  260. package/coverage/lcov-report/if-run/config/strings.ts.html +0 -460
  261. package/coverage/lcov-report/if-run/lib/aggregate.ts.html +0 -577
  262. package/coverage/lcov-report/if-run/lib/compute.ts.html +0 -733
  263. package/coverage/lcov-report/if-run/lib/environment.ts.html +0 -373
  264. package/coverage/lcov-report/if-run/lib/exhaust.ts.html +0 -193
  265. package/coverage/lcov-report/if-run/lib/explain.ts.html +0 -484
  266. package/coverage/lcov-report/if-run/lib/index.html +0 -206
  267. package/coverage/lcov-report/if-run/lib/initialize.ts.html +0 -490
  268. package/coverage/lcov-report/if-run/lib/parameterize.ts.html +0 -322
  269. package/coverage/lcov-report/if-run/lib/regroup.ts.html +0 -349
  270. package/coverage/lcov-report/if-run/lib/time-sync.ts.html +0 -1510
  271. package/coverage/lcov-report/if-run/types/aggregation.ts.html +0 -94
  272. package/coverage/lcov-report/if-run/types/index.html +0 -146
  273. package/coverage/lcov-report/if-run/types/interface.ts.html +0 -112
  274. package/coverage/lcov-report/if-run/types/parameters.ts.html +0 -106
  275. package/coverage/lcov-report/if-run/util/aggregation-helper.ts.html +0 -277
  276. package/coverage/lcov-report/if-run/util/args.ts.html +0 -325
  277. package/coverage/lcov-report/if-run/util/helpers.ts.html +0 -208
  278. package/coverage/lcov-report/if-run/util/index.html +0 -191
  279. package/coverage/lcov-report/if-run/util/json.ts.html +0 -115
  280. package/coverage/lcov-report/if-run/util/log-memoize.ts.html +0 -145
  281. package/coverage/lcov-report/if-run/util/os-checker.ts.html +0 -421
  282. package/coverage/lcov-report/if-run/util/plugin-storage.ts.html +0 -202
  283. package/coverage/lcov-report/index.html +0 -551
  284. package/coverage/lcov-report/lib/aggregate.ts.html +0 -358
  285. package/coverage/lcov-report/lib/compare.ts.html +0 -286
  286. package/coverage/lcov-report/lib/compute.ts.html +0 -436
  287. package/coverage/lcov-report/lib/environment.ts.html +0 -376
  288. package/coverage/lcov-report/lib/exhaust.ts.html +0 -289
  289. package/coverage/lcov-report/lib/index.html +0 -221
  290. package/coverage/lcov-report/lib/initialize.ts.html +0 -430
  291. package/coverage/lcov-report/lib/load.ts.html +0 -268
  292. package/coverage/lcov-report/lib/parameterize.ts.html +0 -316
  293. package/coverage/lcov-report/prettify.css +0 -1
  294. package/coverage/lcov-report/prettify.js +0 -2
  295. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  296. package/coverage/lcov-report/sorter.js +0 -196
  297. package/coverage/lcov-report/types/aggregation.ts.html +0 -94
  298. package/coverage/lcov-report/types/index.html +0 -146
  299. package/coverage/lcov-report/types/interface.ts.html +0 -112
  300. package/coverage/lcov-report/types/parameters.ts.html +0 -106
  301. package/coverage/lcov-report/util/aggregation-helper.ts.html +0 -289
  302. package/coverage/lcov-report/util/args.ts.html +0 -649
  303. package/coverage/lcov-report/util/debug-logger.ts.html +0 -481
  304. package/coverage/lcov-report/util/errors.ts.html +0 -232
  305. package/coverage/lcov-report/util/fs.ts.html +0 -124
  306. package/coverage/lcov-report/util/helpers.ts.html +0 -895
  307. package/coverage/lcov-report/util/index.html +0 -296
  308. package/coverage/lcov-report/util/json.ts.html +0 -115
  309. package/coverage/lcov-report/util/log-memoize.ts.html +0 -145
  310. package/coverage/lcov-report/util/logger.ts.html +0 -151
  311. package/coverage/lcov-report/util/npm.ts.html +0 -499
  312. package/coverage/lcov-report/util/os-checker.ts.html +0 -421
  313. package/coverage/lcov-report/util/plugin-storage.ts.html +0 -202
  314. package/coverage/lcov-report/util/validations.ts.html +0 -544
  315. package/coverage/lcov-report/util/yaml.ts.html +0 -193
  316. package/coverage/lcov.info +0 -3548
  317. package/manifests/outputs/builtins/interpolation/interpolation.yaml +0 -81
  318. package/manifests/outputs/features/failure-invalid-regroup.yaml +0 -87
  319. package/manifests/outputs/features/failure-missing-cloud-instance-type.yaml +0 -86
package/.dockerignore ADDED
@@ -0,0 +1,10 @@
1
+ # ignore all
2
+ *
3
+
4
+ # exclude only necessary items
5
+ !src/common
6
+ !src/if-*
7
+ !package*.json
8
+ !tsconfig.json
9
+ !tsconfig.build.json
10
+ !bin/docker-entrypoint.sh
package/CONTAINER.md ADDED
@@ -0,0 +1,148 @@
1
+ # Using Docker Container
2
+
3
+ The Impact Framework API server can be run as a Docker container.
4
+ The official image is provided at `ghcr.io/green-software-foundation/if`.
5
+
6
+ ## Running the Container
7
+
8
+ Run a container using the built image:
9
+
10
+ ```sh
11
+ # Run with default port (3000)
12
+ $ docker run --rm -p 3000:3000 ghcr.io/green-software-foundation/if
13
+
14
+ # Run with custom port
15
+ $ docker run --rm -p 8080:3000 ghcr.io/green-software-foundation/if
16
+ ```
17
+
18
+ When specifying arguments for the `if-api` command, you need to include the `if-api` command as shown below.
19
+
20
+ ```sh
21
+ # Run without external plugin warning
22
+ $ docker run --rm -p 3000:3000 ghcr.io/green-software-foundation/if if-api --disableExternalPluginWarning
23
+ ```
24
+
25
+ ## Using the containerized API server
26
+
27
+ The containerized API server provides the same endpoints as the regular API server:
28
+
29
+ ```sh
30
+ # Process manifest
31
+ $ curl -H "Content-Type: application/yaml" --data-binary @manifest.yaml http://localhost:3000/v1/run
32
+ ```
33
+
34
+ ## Adding external plugins at startup
35
+ You can add any external plugins at startup by mounting a file that lists the plugins to `/app/plugins.txt`.
36
+
37
+ ```sh
38
+ $ cat plugins.txt
39
+ carbon-intensity-plugin
40
+ Green-Software-Foundation/if-github-plugin
41
+ $ docker run --rm -p 3000:3000 -v $(pwd)/plugins.txt:/app/plugins.txt ghcr.io/green-software-foundation/if
42
+ ```
43
+
44
+ The contents of `/app/plugins.txt` are used directly as arguments for `npm install`.
45
+ For available formats, refer to: https://docs.npmjs.com/cli/v8/commands/npm-install
46
+
47
+ If the plugin itself or packages it depends on are private, you'll need to mount an `.npmrc` file at `/app/.npmrc` for the access token required to install packages.
48
+
49
+ ```sh
50
+ $ cat plugins.txt
51
+ @myscope/myplugin
52
+ $ cat .npmrc
53
+ //registry.npmjs.org/:_authToken=<YOUR_AUTH_TOKEN>
54
+ @myscope:registry=https://registry.npmjs.org/
55
+ $ docker run --rm -p 3000:3000 -v $(pwd)/plugins.txt:/app/plugins.txt -v $(pwd)/.npmrc:/app/.npmrc ghcr.io/green-software-foundation/if
56
+ ```
57
+
58
+ For `.npmrc` format reference: https://docs.npmjs.com/cli/v8/configuring-npm/npmrc
59
+
60
+ Note that if the plugin itself or packages it depends on are in GitHub Packages, a personal access token (classic) with `read:packages` permission is required even for public packages.
61
+
62
+ ```sh
63
+ $ cat plugins.txt
64
+ danuw/if-casdk-plugin
65
+ $ cat .npmrc
66
+ //npm.pkg.github.com/:_authToken=<YOUR_PERSONAL_ACCESS_TOKEN>
67
+ @Green-Software-Foundation:registry=https://npm.pkg.github.com/
68
+ $ docker run --rm -p 3000:3000 -v $(pwd)/plugins.txt:/app/plugins.txt -v $(pwd)/.npmrc:/app/.npmrc ghcr.io/green-software-foundation/if
69
+ ```
70
+
71
+ Alternatively, the access token can also be extracted to an environment variable (but this is not recommended as it can easily leak through `ps` commands, `proc` filesystem, dumps, etc.).
72
+
73
+ ```sh
74
+ $ cat plugins.txt
75
+ @myscope/myplugin
76
+ $ cat .npmrc
77
+ //registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}
78
+ @myscope:registry=https://registry.npmjs.org/
79
+ $ docker run --rm -p 3000:3000 -v $(pwd)/plugins.txt:/app/plugins.txt -e NODE_AUTH_TOKEN=<YOUR_AUTH_TOKEN> -v $(pwd)/.npmrc:/app/.npmrc ghcr.io/green-software-foundation/if
80
+ ```
81
+
82
+ ## Building the Container Image
83
+
84
+ As mentioned above, there are official images available, but you can also build your own container image using the provided `Dockerfile`:
85
+
86
+ ```sh
87
+ # Build the container image
88
+ $ docker build -t myorg/if:v1.0.0 .
89
+ ```
90
+
91
+ ## Building Slim Image
92
+
93
+ The built container image includes the git command to enable installation of external plugins from git repositories such as GitHub at startup.
94
+ However, if you know that you don't need to install external plugins from git repositories during startup, you can create a slimmer container image without git by specifying the `--build-arg PACKAGES=` option in the container image build command.
95
+
96
+ ```sh
97
+ # Build custom image without git
98
+ $ docker build -t myorg/if:v1.0.0-slim --build-arg PACKAGES= .
99
+ ```
100
+
101
+ Note that the absence of git does not affect the installation of npm packages.
102
+
103
+ ```sh
104
+ # Run the custom image with the npm package
105
+ $ cat plugins-startup.txt
106
+ carbon-intensity-plugin
107
+ $ docker run --rm -p 3000:3000 -v $(pwd)/plugins-startup.txt:/app/plugins.txt myorg/if:v1.0.0-slim
108
+ ```
109
+
110
+ ## Building the Container Image with external plugins
111
+
112
+ While the official image and images built using the methods described above can add external plugins at container startup, installing external plugins takes considerable time, which significantly slows down container startup.
113
+ To avoid this, a `Dockerfile` for building container images with external plugins pre-installed is also provided in the `with-plugins` directory.
114
+ Create a `with-plugins/plugins.txt` file and build the image.
115
+
116
+ ```sh
117
+ $ cat with-plugins/plugins.txt
118
+ carbon-intensity-plugin
119
+ Green-Software-Foundation/if-github-plugin
120
+ $ docker build -t myorg/if-with-plugins:v1.0.0 with-plugins
121
+ ```
122
+
123
+ A `with-plugins/.npmrc` is required if you need an access token, as well as if you want to add external plugins when starting the container (The `with-plugins/.npmrc` file will not remain in the container image).
124
+
125
+ ```sh
126
+ $ cat with-plugins/plugins.txt
127
+ danuw/if-casdk-plugin
128
+ $ cat with-plugins/.npmrc
129
+ //npm.pkg.github.com/:_authToken=<YOUR_PERSONAL_ACCESS_TOKEN>
130
+ @Green-Software-Foundation:registry=https://npm.pkg.github.com/
131
+ $ docker build -t myorg/if-with-plugins:v1.0.0 with-plugins
132
+ ```
133
+
134
+ The base image used for installing external plugins is the official image, and the base image for the final image is `node:18-slim`, but these can be changed using the `BUILDBASEIMAGE` and `BASEIMAGE` arguments respectively.
135
+
136
+ ```sh
137
+ $ docker build -t myorg/if-with-plugins:v1.0.0 --build-arg BUILDBASEIMAGE=myorg/if:v1.0.0 --build-arg BASEIMAGE=node:20-slim with-plugins
138
+ ```
139
+
140
+ Note that, as with regular images, you can also create a slim image without git by adding the `--build-arg PACKAGES=` option.
141
+
142
+ ## Execution Other Than API Server
143
+
144
+ The container image can execute commands other than the `if-api` command.
145
+
146
+ ```sh
147
+ $ docker run --rm -v $(pwd)/manifests/examples/pipelines/sci.yml:/app/sci.yml myorg/if:v1.0.0 if-run -m sci.yml
148
+ ```
package/Dockerfile ADDED
@@ -0,0 +1,73 @@
1
+ ARG BASEIMAGE=node:18-slim
2
+
3
+ FROM --platform=$BUILDPLATFORM $BASEIMAGE AS deps
4
+
5
+ # Install git and ca-certificates
6
+ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
7
+ --mount=type=cache,target=/var/lib/apt,sharing=locked \
8
+ apt-get update && \
9
+ apt-get --no-install-recommends install -y \
10
+ git ca-certificates
11
+
12
+ # Create application directory
13
+ WORKDIR /app
14
+
15
+ # Copy package*.json
16
+ COPY package*.json .
17
+
18
+ # Install build dependencies
19
+ RUN --mount=type=cache,target=/root/.npm,sharing=locked \
20
+ npm ci --ignore-scripts --no-fund
21
+
22
+ # Compile TypeScript
23
+ RUN --mount=src=tsconfig.json,target=tsconfig.json \
24
+ --mount=src=tsconfig.build.json,target=tsconfig.build.json \
25
+ --mount=src=src/,target=src/ \
26
+ npm run build
27
+
28
+ # Remove devDependencies
29
+ RUN --mount=type=cache,target=/root/.npm,sharing=locked \
30
+ npm prune --ignore-scripts --omit=dev
31
+
32
+ # Remove empty directory
33
+ RUN rmdir --ignore-fail-on-non-empty node_modules/*
34
+
35
+ # Set executable attributes to applications
36
+ RUN chmod +x build/if-*/index.js
37
+
38
+ # Link applications
39
+ RUN for a in build/if-*/index.js; do ln -s ../../$a node_modules/.bin/$(basename $(dirname $a)); done
40
+
41
+
42
+ FROM $BASEIMAGE
43
+
44
+ # Packages to be installed
45
+ ARG PACKAGES='git ca-certificates'
46
+
47
+ # Install lsb_release, git and ca-certificates
48
+ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
49
+ --mount=type=cache,target=/var/lib/apt,sharing=locked \
50
+ apt-get update && \
51
+ apt-get --no-install-recommends install -y \
52
+ lsb-release $PACKAGES
53
+
54
+ # Copy entrypoint shell script
55
+ COPY bin/docker-entrypoint.sh /usr/local/bin
56
+
57
+ # Set execution user
58
+ USER 1000
59
+
60
+ # Create application directory
61
+ WORKDIR /app
62
+
63
+ # Copy application and runtime dependencies
64
+ COPY --from=deps --chown=node:node /app .
65
+
66
+ # Set environment variables
67
+ ENV NODE_ENV=production NPM_CONFIG_UPDATE_NOTIFIER=false PATH=/app/node_modules/.bin:$PATH HOST=
68
+
69
+ # Expose port
70
+ EXPOSE 3000
71
+
72
+ # Run the application
73
+ CMD ["if-api"]
package/HELM_CHART.md ADDED
@@ -0,0 +1,96 @@
1
+ # Using API server with Kubernetes
2
+
3
+ The Impact Framework provides a helm chart, making it easy to run on a Kubernetes cluster.
4
+
5
+ ## Deploy the API server to Kubernetes
6
+
7
+ The helm chart is provided in OCI format on GitHub Container Registry, so you need to specify `oci:` when referencing the chart.
8
+
9
+ ```sh
10
+ $ helm install if oci://ghcr.io/green-software-foundation/charts/if
11
+ ```
12
+
13
+ For security reasons, three builtin plugins (Shell, CSVImport, CSVLookup) are disabled by default, but they can be enabled by specifying in `values.yaml`.
14
+
15
+ ```yaml
16
+ # enable all builtin plugins
17
+ disabledPlugins: []
18
+ ```
19
+
20
+ ## Install External Plugins
21
+
22
+ You can also specify in `values.yaml` to install external plugins when the pod starts.
23
+
24
+ ```yaml
25
+ additionalPlugins:
26
+ - carbon-intensity-plugin
27
+ - Green-Software-Foundation/if-github-plugin
28
+ ```
29
+
30
+ If an `.npmrc` file is required, you can create a `Secret` by specifying it in the `npmrc` section of the `values.yaml` file.
31
+
32
+ ```yaml
33
+ additionalPlugins:
34
+ - Green-Software-Foundation/community-plugins
35
+ - danuw/if-casdk-plugin
36
+
37
+ npmrc: |
38
+ //npm.pkg.github.com/:_authToken=<YOUR_PERSONAL_ACCESS_TOKEN>
39
+ @Green-Software-Foundation:registry=https://npm.pkg.github.com/
40
+ ```
41
+
42
+ You can also extract the access token as an environment variable.
43
+
44
+ ```yaml
45
+ additionalPlugins:
46
+ - Green-Software-Foundation/community-plugins
47
+ - danuw/if-casdk-plugin
48
+
49
+ npmrc: |
50
+ //npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}
51
+ @Green-Software-Foundation:registry=https://npm.pkg.github.com/
52
+
53
+ env:
54
+ secret:
55
+ GITHUB_TOKEN: <YOUR_PERSONAL_ACCESS_TOKEN>
56
+ ```
57
+
58
+ ## Using Custom Container Images
59
+
60
+ By creating and using a container image with external plugins pre-installed, you can use external plugins without installing them at pod startup, which reduces pod startup time.
61
+
62
+ `values.yaml` for using `my-image-repository:my-version` as the container image:
63
+
64
+ ```yaml
65
+ image:
66
+ repository: my-image-repository
67
+ tag: my-version
68
+ ```
69
+
70
+ ## Using Kubernetes service
71
+
72
+ By default, a `ClusterIP` service is deployed, so you can access the API server by running `kubectl port-forward`.
73
+
74
+ ```sh
75
+ $ kubectl port-forward svc/if 3000:3000 &
76
+ $ curl -H "Content-Type: application/yaml" --data-binary @manifest.yaml http://localhost:3000/v1/run
77
+ ```
78
+
79
+ You can access the API server from outside the cluster without using `port-forward` by changing the service type to `NodePort` or `LoadBalancer`.
80
+
81
+ `values.yaml` for the `NodePort`:
82
+
83
+ ```yaml
84
+ # Using NodePort
85
+ service:
86
+ type: NodePort
87
+ nodePort: 32000
88
+ ```
89
+
90
+ `values.yaml` for the `LoadBalancer`:
91
+
92
+ ```yaml
93
+ # Using LoadBalancer
94
+ service:
95
+ type: LoadBalancer
96
+ ```
package/README.md CHANGED
@@ -60,6 +60,62 @@ if-run --help
60
60
  if-run -h
61
61
  ```
62
62
 
63
+ ### Using API server
64
+
65
+ The Impact Framework also provides an API server. By default, it listens on localhost:3000, but this can be changed.
66
+
67
+ ```sh
68
+ # Run the API server listening on the default localhost:3000.
69
+ $ if-api
70
+
71
+ # Run the API server listening on 0.0.0.0:8080.
72
+ $ if-api --host 0.0.0.0 --port 8080
73
+ ```
74
+
75
+ If the API server is running, you can send a manifest in the request body and receive the results of `if-run` as a response.
76
+
77
+ ```sh
78
+ # Process manifest
79
+ $ curl -H "Content-Type: application/yaml" --data-binary @manifest.yaml http://localhost:3000/v1/run
80
+ ```
81
+
82
+ Note that in `if-api`, the following builtin plugins are disabled by default for security reasons.
83
+ - Shell
84
+ - CSVImport
85
+ - CSVLookup
86
+
87
+ Please refer to the documentation for detailed usage instructions, including how to enable these plugins.
88
+
89
+ ### Using Docker Container
90
+
91
+ The Impact Framework API server can also be run as a Docker container.
92
+ The official image is provided at `ghcr.io/green-software-foundation/if`, so you can run the container with the following command.
93
+
94
+ ```sh
95
+ # Run with default port (3000)
96
+ $ docker run --rm -p 3000:3000 ghcr.io/green-software-foundation/if
97
+ ```
98
+
99
+ Please refer to [`CONTAINER.md`](CONTAINER.md) for how to install external plugins during container execution and how to build custom images.
100
+
101
+ ### Using API server with Kubernetes
102
+
103
+ The Impact Framework also provides a helm chart for running the API server on a Kubernetes cluster.
104
+ The helm chart is provided in OCI format on GitHub Container Registry, so you need to specify `oci:` when referencing the chart.
105
+
106
+ ```sh
107
+ $ helm install if oci://ghcr.io/green-software-foundation/charts/if
108
+ ```
109
+
110
+ By default, a `ClusterIP` service is deployed, so you can access the API server by running `kubectl port-forward`.
111
+
112
+ ```sh
113
+ $ kubectl port-forward svc/if 3000:3000 &
114
+ $ curl -H "Content-Type: application/yaml" --data-binary @manifest.yaml http://localhost:3000/v1/run
115
+ ```
116
+
117
+ For detailed usage including external plugin installation and NodePort configuration, please refer to [`HELM_CHART.md`](HELM_CHART.md).
118
+
63
119
  ## Documentation
64
120
 
65
121
  Please read our documentation at [if.greensoftware.foundation](https://if.greensoftware.foundation/)
@@ -0,0 +1,15 @@
1
+ #!/bin/sh
2
+ set -e
3
+
4
+ # Install plugins if plugins.txt exists.
5
+ if [ -f plugins.txt ] && [ -r plugins.txt ]; then
6
+ echo "Installing plugins..."
7
+ npm install --no-fund $(cat plugins.txt)
8
+ fi
9
+
10
+ # Run command with node if the first argument contains a "-" or is not a system command.
11
+ if [ "${1#-}" != "${1}" ] || [ -z "$(command -v "${1}")" ] || { [ -f "${1}" ] && ! [ -x "${1}" ]; } || [ -d "${1}" ]; then
12
+ set -- node "$@"
13
+ fi
14
+
15
+ exec "$@"
@@ -2,6 +2,7 @@ import { z } from 'zod';
2
2
  import { AggregationOptions } from '@grnsft/if-core/types';
3
3
  import { manifestSchema } from '../util/validations';
4
4
  export type Manifest = z.infer<typeof manifestSchema>;
5
+ export type Execution = NonNullable<Manifest['execution']>;
5
6
  export type GlobalPlugins = Manifest['initialize']['plugins'];
6
7
  export type PluginOptions = GlobalPlugins[string];
7
8
  export type AggregationParams = Manifest['aggregation'];
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL3R5cGVzL21hbmlmZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5pbXBvcnQge0FnZ3JlZ2F0aW9uT3B0aW9uc30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcblxuaW1wb3J0IHttYW5pZmVzdFNjaGVtYX0gZnJvbSAnLi4vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmV4cG9ydCB0eXBlIE1hbmlmZXN0ID0gei5pbmZlcjx0eXBlb2YgbWFuaWZlc3RTY2hlbWE+O1xuXG5leHBvcnQgdHlwZSBHbG9iYWxQbHVnaW5zID0gTWFuaWZlc3RbJ2luaXRpYWxpemUnXVsncGx1Z2lucyddO1xuXG5leHBvcnQgdHlwZSBQbHVnaW5PcHRpb25zID0gR2xvYmFsUGx1Z2luc1tzdHJpbmddO1xuXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGlvblBhcmFtcyA9IE1hbmlmZXN0WydhZ2dyZWdhdGlvbiddO1xuZXhwb3J0IHR5cGUgQWdncmVnYXRpb25NZXRyaWNzV2l0aE1ldGhvZCA9IHtcbiAgW2tleTogc3RyaW5nXTogQWdncmVnYXRpb25PcHRpb25zO1xufTtcblxuZXhwb3J0IHR5cGUgQWdncmVnYXRpb25QYXJhbXNTdXJlID0gRXh0cmFjdDxNYW5pZmVzdFsnYWdncmVnYXRpb24nXSwge30+O1xuXG5leHBvcnQgdHlwZSBDb250ZXh0ID0gT21pdDxNYW5pZmVzdCwgJ3RyZWUnPjtcblxuZXhwb3J0IHR5cGUgQ29udGV4dFdpdGhFeGVjID0gT21pdDxNYW5pZmVzdCwgJ3RyZWUnPjtcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL3R5cGVzL21hbmlmZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5pbXBvcnQge0FnZ3JlZ2F0aW9uT3B0aW9uc30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcblxuaW1wb3J0IHttYW5pZmVzdFNjaGVtYX0gZnJvbSAnLi4vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmV4cG9ydCB0eXBlIE1hbmlmZXN0ID0gei5pbmZlcjx0eXBlb2YgbWFuaWZlc3RTY2hlbWE+O1xuXG5leHBvcnQgdHlwZSBFeGVjdXRpb24gPSBOb25OdWxsYWJsZTxNYW5pZmVzdFsnZXhlY3V0aW9uJ10+O1xuXG5leHBvcnQgdHlwZSBHbG9iYWxQbHVnaW5zID0gTWFuaWZlc3RbJ2luaXRpYWxpemUnXVsncGx1Z2lucyddO1xuXG5leHBvcnQgdHlwZSBQbHVnaW5PcHRpb25zID0gR2xvYmFsUGx1Z2luc1tzdHJpbmddO1xuXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGlvblBhcmFtcyA9IE1hbmlmZXN0WydhZ2dyZWdhdGlvbiddO1xuZXhwb3J0IHR5cGUgQWdncmVnYXRpb25NZXRyaWNzV2l0aE1ldGhvZCA9IHtcbiAgW2tleTogc3RyaW5nXTogQWdncmVnYXRpb25PcHRpb25zO1xufTtcblxuZXhwb3J0IHR5cGUgQWdncmVnYXRpb25QYXJhbXNTdXJlID0gRXh0cmFjdDxNYW5pZmVzdFsnYWdncmVnYXRpb24nXSwge30+O1xuXG5leHBvcnQgdHlwZSBDb250ZXh0ID0gT21pdDxNYW5pZmVzdCwgJ3RyZWUnPjtcblxuZXhwb3J0IHR5cGUgQ29udGV4dFdpdGhFeGVjID0gT21pdDxNYW5pZmVzdCwgJ3RyZWUnPjtcbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.debugLogger = void 0;
4
+ const storage_1 = require("../../common/util/storage");
4
5
  const config_1 = require("../../if-run/config");
5
6
  const logMessagesKeys = [
6
7
  'STARTING_IF',
@@ -46,26 +47,11 @@ const overrideConsoleMethods = (debugMode) => {
46
47
  console.error = (...args) => debugLog(LogLevel.Error, args, debugMode);
47
48
  console.debug = (...args) => debugLog(LogLevel.Debug, args, debugMode);
48
49
  };
49
- /**
50
- * Creates an encapsulated object to retrieve the plugin name.
51
- */
52
- const pluginNameManager = (() => {
53
- let pluginName = '';
54
- const manager = {
55
- get currentPluginName() {
56
- return pluginName;
57
- },
58
- set currentPluginName(value) {
59
- pluginName = value;
60
- },
61
- };
62
- return manager;
63
- })();
64
50
  /**
65
51
  * Sets the name of the currently executing plugin.
66
52
  */
67
53
  const setExecutingPluginName = (pluginName) => {
68
- pluginNameManager.currentPluginName = pluginName;
54
+ (0, storage_1.getStorage)().currentPluginName = pluginName;
69
55
  };
70
56
  /**
71
57
  * Logs messages with the specified log level and format.
@@ -96,7 +82,7 @@ const debugLog = (level, args, debugMode) => {
96
82
  return;
97
83
  }
98
84
  const date = new Date().toISOString();
99
- const plugin = pluginNameManager.currentPluginName;
85
+ const plugin = (0, storage_1.getStorage)().currentPluginName;
100
86
  const isExeption = typeof args[0] === 'string' && args[0].includes('**Computing');
101
87
  const message = `${level}: ${date}: ${plugin ? plugin + ': ' : ''}${args.join(', ')}`;
102
88
  const formattedMessage = isExeption ? args.join(', ') : message;
@@ -121,4 +107,4 @@ exports.debugLogger = {
121
107
  overrideConsoleMethods,
122
108
  setExecutingPluginName,
123
109
  };
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWctbG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1vbi91dGlsL2RlYnVnLWxvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnREFBNEM7QUFFNUMsTUFBTSxlQUFlLEdBQTZCO0lBQ2hELGFBQWE7SUFDYixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLHFCQUFxQjtJQUNyQixvQ0FBb0M7SUFDcEMsNkJBQTZCO0lBQzdCLHNCQUFzQjtJQUN0QixxQkFBcUI7SUFDckIsMEJBQTBCO0lBQzFCLDZCQUE2QjtJQUM3Qiw4QkFBOEI7SUFDOUIsWUFBWTtJQUNaLFdBQVc7SUFDWCxrQ0FBa0M7SUFDbEMscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIsd0JBQXdCO0NBQ3pCLENBQUM7QUFFRixJQUFLLFFBS0o7QUFMRCxXQUFLLFFBQVE7SUFDWCx5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7SUFDZiwyQkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFMSSxRQUFRLEtBQVIsUUFBUSxRQUtaO0FBRUQsTUFBTSxlQUFlLEdBQUc7SUFDdEIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO0lBQ2hCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtJQUNsQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7SUFDbEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO0lBQ3BCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztDQUNyQixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLHNCQUFzQixHQUFHLENBQUMsU0FBa0IsRUFBRSxFQUFFO0lBQ3BELE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzNFLE9BQU8sQ0FBQyxJ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TyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakUsTUFBTSxPQUFPLEdBQUcsR0FBRyxLQUFLLEtBQUssSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQzNFLElBQUksQ0FDTCxFQUFFLENBQUM7SUFFSixNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBRWhFLElBQUksU0FBUyxFQUFFO1FBQ2IsUUFBUSxLQUFLLEVBQUU7WUFDYixLQUFLLFFBQVEsQ0FBQyxJQUFJO2dCQUNoQixlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxJQUFJO2dCQUNoQixlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxLQUFLO2dCQUNqQixlQUFlLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3hDLE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxLQUFLO2dCQUNqQixlQUFlLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3hDLE1BQU07U0FDVDtLQUNGO0FBQ0gsQ0FBQyxDQUFDO0FBRVcsUUFBQSxXQUFXLEdBQUc7SUFDekIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtDQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi8uLi9pZi1ydW4vY29uZmlnJztcblxuY29uc3QgbG9nTWVzc2FnZXNLZXlzOiAoa2V5b2YgdHlwZW9mIFNUUklOR1MpW10gPSBbXG4gICdTVEFSVElOR19JRicsXG4gICdFWElUSU5HX0lGJyxcbiAgJ0xPQURJTkdfTUFOSUZFU1QnLFxuICAnVkFMSURBVElOR19NQU5JRkVTVCcsXG4gICdDQVBUVVJJTkdfUlVOVElNRV9FTlZJUk9OTUVOVF9EQVRBJyxcbiAgJ0NIRUNLSU5HX0FHR1JFR0FUSU9OX01FVEhPRCcsXG4gICdJTklUSUFMSVpJTkdfUExVR0lOUycsXG4gICdJTklUSUFMSVpJTkdfUExVR0lOJyxcbiAgJ0xPQURJTkdfUExVR0lOX0ZST01fUEFUSCcsXG4gICdDT01QVVRJTkdfUElQRUxJTkVfRk9SX05PREUnLFxuICAnQ09NUFVUSU5HX0NPTVBPTkVOVF9QSVBFTElORScsXG4gICdSRUdST1VQSU5HJyxcbiAgJ09CU0VSVklORycsXG4gICdNRVJHSU5HX0RFRkFVTFRTX1dJVEhfSU5QVVRfREFUQScsXG4gICdBR0dSRUdBVElOR19PVVRQVVRTJyxcbiAgJ0FHR1JFR0FUSU5HX05PREUnLFxuICAnUFJFUEFSSU5HX09VVFBVVF9EQVRBJyxcbiAgJ0VYUE9SVElOR19UT19ZQU1MX0ZJTEUnLFxuXTtcblxuZW51bSBMb2dMZXZlbCB7XG4gIEluZm8gPSAnSU5GTycsXG4gIFdhcm4gPSAnV0FSTicsXG4gIEVycm9yID0gJ0VSUk9SJyxcbiAgRGVidWcgPSAnREVCVUcnLFxufVxuXG5jb25zdCBvcmlnaW5hbENvbnNvbGUgPSB7XG4gIGxvZzogY29uc29sZS5sb2csXG4gIGluZm86IGNvbnNvbGUuaW5mbyxcbiAgd2FybjogY29uc29sZS53YXJuLFxuICBlcnJvcjogY29uc29sZS5lcnJvcixcbiAgZGVidWc6IGNvbnNvbGUuZGVidWcsXG59O1xuXG4vKipcbiAqIE92ZXJyaWRlcyBjb25zb2xlIG1ldGhvZHMgd2l0aCBjdXN0b20gZGVidWcgbG9nZ2luZy5cbiAqL1xuY29uc3Qgb3ZlcnJpZGVDb25zb2xlTWV0aG9kcyA9IChkZWJ1Z01vZGU6IGJvb2xlYW4pID0+IHtcbiAgY29uc29sZS5sb2cgPSAoLi4uYXJnczogYW55W10pID0+IGRlYnVnTG9nKExvZ0xldmVsLkluZm8sIGFyZ3MsIGRlYnVnTW9kZSk7XG4gIGNvbnNvbGUuaW5mbyA9ICguLi5hcmdzOiBhbnlbXSkgPT4gZGVidWdMb2coTG9nTGV2ZWwuSW5mbywgYXJncywgZGVidWdNb2RlKTtcbiAgY29uc29sZS53YXJuID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBkZWJ1Z0xvZyhMb2dMZXZlbC5XYXJuLCBhcmdzLCBkZWJ1Z01vZGUpO1xuICBjb25zb2xlLmVycm9yID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBkZWJ1Z0xvZyhMb2dMZXZlbC5FcnJvciwgYXJncywgZGVidWdNb2RlKTtcbiAgY29uc29sZS5kZWJ1ZyA9ICguLi5hcmdzOiBhbnlbXSkgPT4gZGVidWdMb2coTG9nTGV2ZWwuRGVidWcsIGFyZ3MsIGRlYnVnTW9kZSk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gZW5jYXBzdWxhdGVkIG9iamVjdCB0byByZXRyaWV2ZSB0aGUgcGx1Z2luIG5hbWUuXG4gKi9cbmNvbnN0IHBsdWdpbk5hbWVNYW5hZ2VyID0gKCgpID0+IHtcbiAgbGV0IHBsdWdpbk5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnO1xuXG4gIGNvbnN0IG1hbmFnZXIgPSB7XG4gICAgZ2V0IGN1cnJlbnRQbHVnaW5OYW1lKCkge1xuICAgICAgcmV0dXJuIHBsdWdpbk5hbWU7XG4gICAgfSxcbiAgICBzZXQgY3VycmVudFBsdWdpbk5hbWUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgICAgcGx1Z2luTmFtZSA9IHZhbHVlO1xuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIG1hbmFnZXI7XG59KSgpO1xuXG4vKipcbiAqIFNldHMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgcGx1Z2luLlxuICovXG5jb25zdCBzZXRFeGVjdXRpbmdQbHVnaW5OYW1lID0gKHBsdWdpbk5hbWU/OiBzdHJpbmcpID0+IHtcbiAgcGx1Z2luTmFtZU1hbmFnZXIuY3VycmVudFBsdWdpbk5hbWUgPSBwbHVnaW5OYW1lO1xufTtcblxuLyoqXG4gKiBMb2dzIG1lc3NhZ2VzIHdpdGggdGhlIHNwZWNpZmllZCBsb2cgbGV2ZWwgYW5kIGZvcm1hdC5cbiAqL1xuY29uc3QgZGVidWdMb2cgPSAobGV2ZWw6IExvZ0xldmVsLCBhcmdzOiBhbnlbXSwgZGVidWdNb2RlOiBib29sZWFuKSA9PiB7XG4gIGlmICghZGVidWdNb2RlKSB7XG4gICAgaWYgKGxldmVsID09PSBMb2dMZXZlbC5EZWJ1Zykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzRGVidWdMb2cgPVxuICAgICAgdHlwZW9mIGFyZ3NbMF0gPT09ICdzdHJpbmcnICYmXG4gICAgICBsb2dNZXNzYWdlc0tleXMuc29tZShrZXkgPT4ge1xuICAgICAgICBjb25zdCBtZXNzYWdlID1cbiAgICAgICAgICB0eXBlb2YgU1RSSU5HU1trZXldID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICA/IChTVFJJTkdTW2tleV0gYXMgRnVuY3Rpb24pLmNhbGwobnVsbCwgJycpXG4gICAgICAgICAgICA6IChTVFJJTkdTW2tleV0gYXMgc3RyaW5nKTtcblxuICAgICAgICByZXR1cm4gYXJnc1swXS5pbmNsdWRlcyhtZXNzYWdlKTtcbiAgICAgIH0pO1xuXG4gICAgaWYgKCFpc0RlYnVnTG9nKSB7XG4gICAgICBvcmlnaW5hbENvbnNvbGUubG9nKC4uLmFyZ3MpO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICh0eXBlb2YgYXJnc1swXSA9PT0gJ3N0cmluZycgJiYgYXJnc1swXS5pbmNsdWRlcygnIyBzdGFydCcpKSB7XG4gICAgb3JpZ2luYWxDb25zb2xlLmxvZyguLi5hcmdzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoYXJnc1swXSA9PT0gJ1xcbicpIHtcbiAgICBvcmlnaW5hbENvbnNvbGUubG9nKCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgY29uc3QgcGx1Z2luID0gcGx1Z2luTmFtZU1hbmFnZXIuY3VycmVudFBsdWdpbk5hbWU7XG4gIGNvbnN0IGlzRXhlcHRpb24gPVxuICAgIHR5cGVvZiBhcmdzWzBdID09PSAnc3RyaW5nJyAmJiBhcmdzWzBdLmluY2x1ZGVzKCcqKkNvbXB1dGluZycpO1xuICBjb25zdCBtZXNzYWdlID0gYCR7bGV2ZWx9OiAke2RhdGV9OiAke3BsdWdpbiA/IHBsdWdpbiArICc6ICcgOiAnJ30ke2FyZ3Muam9pbihcbiAgICAnLCAnXG4gICl9YDtcblxuICBjb25zdCBmb3JtYXR0ZWRNZXNzYWdlID0gaXNFeGVwdGlvbiA/IGFyZ3Muam9pbignLCAnKSA6IG1lc3NhZ2U7XG5cbiAgaWYgKGRlYnVnTW9kZSkge1xuICAgIHN3aXRjaCAobGV2ZWwpIHtcbiAgICAgIGNhc2UgTG9nTGV2ZWwuSW5mbzpcbiAgICAgICAgb3JpZ2luYWxDb25zb2xlLmluZm8oZm9ybWF0dGVkTWVzc2FnZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBMb2dMZXZlbC5XYXJuOlxuICAgICAgICBvcmlnaW5hbENvbnNvbGUud2Fybihmb3JtYXR0ZWRNZXNzYWdlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLkVycm9yOlxuICAgICAgICBvcmlnaW5hbENvbnNvbGUuZXJyb3IoZm9ybWF0dGVkTWVzc2FnZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBMb2dMZXZlbC5EZWJ1ZzpcbiAgICAgICAgb3JpZ2luYWxDb25zb2xlLmRlYnVnKGZvcm1hdHRlZE1lc3NhZ2UpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBkZWJ1Z0xvZ2dlciA9IHtcbiAgb3ZlcnJpZGVDb25zb2xlTWV0aG9kcyxcbiAgc2V0RXhlY3V0aW5nUGx1Z2luTmFtZSxcbn07XG4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWctbG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1vbi91dGlsL2RlYnVnLWxvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1REFBcUQ7QUFFckQsZ0RBQTRDO0FBRTVDLE1BQU0sZUFBZSxHQUE2QjtJQUNoRCxhQUFhO0lBQ2IsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsb0NBQW9DO0lBQ3BDLDZCQUE2QjtJQUM3QixzQkFBc0I7SUFDdEIscUJBQXFCO0lBQ3JCLDBCQUEwQjtJQUMxQiw2QkFBNkI7SUFDN0IsOEJBQThCO0lBQzlCLFlBQVk7SUFDWixXQUFXO0lBQ1gsa0NBQWtDO0lBQ2xDLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtDQUN6QixDQUFDO0FBRUYsSUFBSyxRQUtKO0FBTEQsV0FBSyxRQUFRO0lBQ1gseUJBQWEsQ0FBQTtJQUNiLHlCQUFhLENBQUE7SUFDYiwyQkFBZSxDQUFBO0lBQ2YsMkJBQWUsQ0FBQTtBQUNqQixDQUFDLEVBTEksUUFBUSxLQUFSLFFBQVEsUUFLWjtBQUVELE1BQU0sZUFBZSxHQUFHO0lBQ3RCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztJQUNoQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7SUFDbEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0lBQ2xCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztJQUNwQixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7Q0FDckIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLFNBQWtCLEVBQUUsRUFBRTtJQUNwRCxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMz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QUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBRWhFLElBQUksU0FBUyxFQUFFO1FBQ2IsUUFBUSxLQUFLLEVBQUU7WUFDYixLQUFLLFFBQVEsQ0FBQyxJQUFJO2dCQUNoQixlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxJQUFJO2dCQUNoQixlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxLQUFLO2dCQUNqQixlQUFlLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3hDLE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxLQUFLO2dCQUNqQixlQUFlLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3hDLE1BQU07U0FDVDtLQUNGO0FBQ0gsQ0FBQyxDQUFDO0FBRVcsUUFBQSxXQUFXLEdBQUc7SUFDekIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtDQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRTdG9yYWdlfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9zdG9yYWdlJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi8uLi9pZi1ydW4vY29uZmlnJztcblxuY29uc3QgbG9nTWVzc2FnZXNLZXlzOiAoa2V5b2YgdHlwZW9mIFNUUklOR1MpW10gPSBbXG4gICdTVEFSVElOR19JRicsXG4gICdFWElUSU5HX0lGJyxcbiAgJ0xPQURJTkdfTUFOSUZFU1QnLFxuICAnVkFMSURBVElOR19NQU5JRkVTVCcsXG4gICdDQVBUVVJJTkdfUlVOVElNRV9FTlZJUk9OTUVOVF9EQVRBJyxcbiAgJ0NIRUNLSU5HX0FHR1JFR0FUSU9OX01FVEhPRCcsXG4gICdJTklUSUFMSVpJTkdfUExVR0lOUycsXG4gICdJTklUSUFMSVpJTkdfUExVR0lOJyxcbiAgJ0xPQURJTkdfUExVR0lOX0ZST01fUEFUSCcsXG4gICdDT01QVVRJTkdfUElQRUxJTkVfRk9SX05PREUnLFxuICAnQ09NUFVUSU5HX0NPTVBPTkVOVF9QSVBFTElORScsXG4gICdSRUdST1VQSU5HJyxcbiAgJ09CU0VSVklORycsXG4gICdNRVJHSU5HX0RFRkFVTFRTX1dJVEhfSU5QVVRfREFUQScsXG4gICdBR0dSRUdBVElOR19PVVRQVVRTJyxcbiAgJ0FHR1JFR0FUSU5HX05PREUnLFxuICAnUFJFUEFSSU5HX09VVFBVVF9EQVRBJyxcbiAgJ0VYUE9SVElOR19UT19ZQU1MX0ZJTEUnLFxuXTtcblxuZW51bSBMb2dMZXZlbCB7XG4gIEluZm8gPSAnSU5GTycsXG4gIFdhcm4gPSAnV0FSTicsXG4gIEVycm9yID0gJ0VSUk9SJyxcbiAgRGVidWcgPSAnREVCVUcnLFxufVxuXG5jb25zdCBvcmlnaW5hbENvbnNvbGUgPSB7XG4gIGxvZzogY29uc29sZS5sb2csXG4gIGluZm86IGNvbnNvbGUuaW5mbyxcbiAgd2FybjogY29uc29sZS53YXJuLFxuICBlcnJvcjogY29uc29sZS5lcnJvcixcbiAgZGVidWc6IGNvbnNvbGUuZGVidWcsXG59O1xuXG4vKipcbiAqIE92ZXJyaWRlcyBjb25zb2xlIG1ldGhvZHMgd2l0aCBjdXN0b20gZGVidWcgbG9nZ2luZy5cbiAqL1xuY29uc3Qgb3ZlcnJpZGVDb25zb2xlTWV0aG9kcyA9IChkZWJ1Z01vZGU6IGJvb2xlYW4pID0+IHtcbiAgY29uc29sZS5sb2cgPSAoLi4uYXJnczogYW55W10pID0+IGRlYnVnTG9nKExvZ0xldmVsLkluZm8sIGFyZ3MsIGRlYnVnTW9kZSk7XG4gIGNvbnNvbGUuaW5mbyA9ICguLi5hcmdzOiBhbnlbXSkgPT4gZGVidWdMb2coTG9nTGV2ZWwuSW5mbywgYXJncywgZGVidWdNb2RlKTtcbiAgY29uc29sZS53YXJuID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBkZWJ1Z0xvZyhMb2dMZXZlbC5XYXJuLCBhcmdzLCBkZWJ1Z01vZGUpO1xuICBjb25zb2xlLmVycm9yID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBkZWJ1Z0xvZyhMb2dMZXZlbC5FcnJvciwgYXJncywgZGVidWdNb2RlKTtcbiAgY29uc29sZS5kZWJ1ZyA9ICguLi5hcmdzOiBhbnlbXSkgPT4gZGVidWdMb2coTG9nTGV2ZWwuRGVidWcsIGFyZ3MsIGRlYnVnTW9kZSk7XG59O1xuXG4vKipcbiAqIFNldHMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgcGx1Z2luLlxuICovXG5jb25zdCBzZXRFeGVjdXRpbmdQbHVnaW5OYW1lID0gKHBsdWdpbk5hbWU/OiBzdHJpbmcpID0+IHtcbiAgZ2V0U3RvcmFnZSgpLmN1cnJlbnRQbHVnaW5OYW1lID0gcGx1Z2luTmFtZTtcbn07XG5cbi8qKlxuICogTG9ncyBtZXNzYWdlcyB3aXRoIHRoZSBzcGVjaWZpZWQgbG9nIGxldmVsIGFuZCBmb3JtYXQuXG4gKi9cbmNvbnN0IGRlYnVnTG9nID0gKGxldmVsOiBMb2dMZXZlbCwgYXJnczogYW55W10sIGRlYnVnTW9kZTogYm9vbGVhbikgPT4ge1xuICBpZiAoIWRlYnVnTW9kZSkge1xuICAgIGlmIChsZXZlbCA9PT0gTG9nTGV2ZWwuRGVidWcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpc0RlYnVnTG9nID1cbiAgICAgIHR5cGVvZiBhcmdzWzBdID09PSAnc3RyaW5nJyAmJlxuICAgICAgbG9nTWVzc2FnZXNLZXlzLnNvbWUoa2V5ID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9XG4gICAgICAgICAgdHlwZW9mIFNUUklOR1Nba2V5XSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgPyAoU1RSSU5HU1trZXldIGFzIEZ1bmN0aW9uKS5jYWxsKG51bGwsICcnKVxuICAgICAgICAgICAgOiAoU1RSSU5HU1trZXldIGFzIHN0cmluZyk7XG5cbiAgICAgICAgcmV0dXJuIGFyZ3NbMF0uaW5jbHVkZXMobWVzc2FnZSk7XG4gICAgICB9KTtcblxuICAgIGlmICghaXNEZWJ1Z0xvZykge1xuICAgICAgb3JpZ2luYWxDb25zb2xlLmxvZyguLi5hcmdzKTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAodHlwZW9mIGFyZ3NbMF0gPT09ICdzdHJpbmcnICYmIGFyZ3NbMF0uaW5jbHVkZXMoJyMgc3RhcnQnKSkge1xuICAgIG9yaWdpbmFsQ29uc29sZS5sb2coLi4uYXJncyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGFyZ3NbMF0gPT09ICdcXG4nKSB7XG4gICAgb3JpZ2luYWxDb25zb2xlLmxvZygpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gIGNvbnN0IHBsdWdpbiA9IGdldFN0b3JhZ2UoKS5jdXJyZW50UGx1Z2luTmFtZTtcbiAgY29uc3QgaXNFeGVwdGlvbiA9XG4gICAgdHlwZW9mIGFyZ3NbMF0gPT09ICdzdHJpbmcnICYmIGFyZ3NbMF0uaW5jbHVkZXMoJyoqQ29tcHV0aW5nJyk7XG4gIGNvbnN0IG1lc3NhZ2UgPSBgJHtsZXZlbH06ICR7ZGF0ZX06ICR7cGx1Z2luID8gcGx1Z2luICsgJzogJyA6ICcnfSR7YXJncy5qb2luKFxuICAgICcsICdcbiAgKX1gO1xuXG4gIGNvbnN0IGZvcm1hdHRlZE1lc3NhZ2UgPSBpc0V4ZXB0aW9uID8gYXJncy5qb2luKCcsICcpIDogbWVzc2FnZTtcblxuICBpZiAoZGVidWdNb2RlKSB7XG4gICAgc3dpdGNoIChsZXZlbCkge1xuICAgICAgY2FzZSBMb2dMZXZlbC5JbmZvOlxuICAgICAgICBvcmlnaW5hbENvbnNvbGUuaW5mbyhmb3JtYXR0ZWRNZXNzYWdlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLldhcm46XG4gICAgICAgIG9yaWdpbmFsQ29uc29sZS53YXJuKGZvcm1hdHRlZE1lc3NhZ2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTG9nTGV2ZWwuRXJyb3I6XG4gICAgICAgIG9yaWdpbmFsQ29uc29sZS5lcnJvcihmb3JtYXR0ZWRNZXNzYWdlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLkRlYnVnOlxuICAgICAgICBvcmlnaW5hbENvbnNvbGUuZGVidWcoZm9ybWF0dGVkTWVzc2FnZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGRlYnVnTG9nZ2VyID0ge1xuICBvdmVycmlkZUNvbnNvbGVNZXRob2RzLFxuICBzZXRFeGVjdXRpbmdQbHVnaW5OYW1lLFxufTtcbiJdfQ==
@@ -1,10 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  /// <reference types="node" />
3
- import { exec } from 'child_process';
3
+ import { exec, execFile } from 'child_process';
4
4
  /**
5
- * Promise version of Node's `exec` from `child-process`.
5
+ * Promise version of Node's `exec` and `execFile` from `child-process`.
6
6
  */
7
7
  export declare const execPromise: typeof exec.__promisify__;
8
+ export declare const execFilePromise: typeof execFile.__promisify__;
8
9
  /**
9
10
  * Prepends process path to given `filePath`.
10
11
  */
@@ -24,25 +24,22 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  return result;
25
25
  };
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.runHelpCommand = exports.parseManifestFromStdin = exports.prependFullFilePath = exports.execPromise = void 0;
27
+ exports.runHelpCommand = exports.parseManifestFromStdin = exports.prependFullFilePath = exports.execFilePromise = exports.execPromise = void 0;
28
28
  /* eslint-disable no-process-exit */
29
29
  const promises_1 = require("node:readline/promises");
30
30
  const child_process_1 = require("child_process");
31
31
  const path = __importStar(require("path"));
32
32
  const util_1 = require("util");
33
33
  /**
34
- * Promise version of Node's `exec` from `child-process`.
34
+ * Promise version of Node's `exec` and `execFile` from `child-process`.
35
35
  */
36
36
  exports.execPromise = (0, util_1.promisify)(child_process_1.exec);
37
+ exports.execFilePromise = (0, util_1.promisify)(child_process_1.execFile);
37
38
  /**
38
39
  * Prepends process path to given `filePath`.
39
40
  */
40
41
  const prependFullFilePath = (filePath) => {
41
- const processRunningPath = process.cwd();
42
- if (path.isAbsolute(filePath)) {
43
- return filePath;
44
- }
45
- return path.normalize(`${processRunningPath}/${filePath}`);
42
+ return path.resolve(process.env.CURRENT_DIR || process.cwd(), filePath);
46
43
  };
47
44
  exports.prependFullFilePath = prependFullFilePath;
48
45
  /**
@@ -84,19 +81,10 @@ exports.parseManifestFromStdin = parseManifestFromStdin;
84
81
  */
85
82
  const runHelpCommand = (command) => {
86
83
  console.log(`Here are the supported flags for the \`${command}\` command:`);
87
- const isGlobal = !!process.env.npm_config_global;
88
- const ifCommand = [
89
- isGlobal ? command : 'npm',
90
- ...(isGlobal ? ['--silent'] : ['run', command, '--silent']),
91
- '--',
92
- '-h',
93
- ];
94
- (0, child_process_1.execFileSync)(ifCommand[0], ifCommand.slice(1), {
95
- cwd: process.env.CURRENT_DIR || process.cwd(),
84
+ (0, child_process_1.execFileSync)(process.execPath, [...process.execArgv, process.argv[1], '-h'], {
96
85
  stdio: 'inherit',
97
- shell: false,
98
86
  });
99
87
  process.exit(1);
100
88
  };
101
89
  exports.runHelpCommand = runHelpCommand;
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vdXRpbC9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLG9DQUFvQztBQUNwQyxxREFBdUQ7QUFDdkQsaURBQWlEO0FBQ2pELDJDQUE2QjtBQUM3QiwrQkFBK0I7QUFFL0I7O0dBRUc7QUFDVSxRQUFBLFdBQVcsR0FBRyxJQUFBLGdCQUFTLEVBQUMsb0JBQUksQ0FBQyxDQUFDO0FBRTNDOztHQUVHO0FBQ0ksTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtJQUN0RCxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUV6QyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDN0IsT0FBTyxRQUFRLENBQUM7S0FDakI7SUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxrQkFBa0IsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQztBQVJXLFFBQUEsbUJBQW1CLHVCQVE5QjtBQUVGOzs7R0FHRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDbEMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtRQUN2QixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsTUFBTSxRQUFRLEdBQUcsSUFBQSwwQkFBZSxFQUFDO1FBQy9CLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztLQUNyQixDQUFDLENBQUM7SUFFSCxNQUFNLElBQUksR0FBYSxFQUFFLENBQUM7SUFFMUIsSUFBSSxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksUUFBUSxFQUFFO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDakI7SUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxzQkFBc0IsR0FBRyxLQUFLLElBQUksRUFBRTtJQUMvQyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQztJQUVyRCxJQUFJLENBQUMsbUJBQW1CLEVBQUU7UUFDeEIsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUVELE1BQU0sS0FBSyxHQUFHLDBCQUEwQixDQUFDO0lBQ3pDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUU5QyxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUVELE9BQU8sS0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQWZXLFFBQUEsc0JBQXNCLDBCQWVqQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRTtJQUNoRCxPQUFPLENBQUMsR0FBRyxDQUFDLDBDQUEwQyxPQUFPLGFBQWEsQ0FBQyxDQUFDO0lBRTVFLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDO0lBQ2pELE1BQU0sU0FBUyxHQUFHO1FBQ2hCLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLO1FBQzFCLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMzRCxJQUFJO1FBQ0osSUFBSTtLQUNMLENBQUM7SUFFRixJQUFBLDRCQUFZLEVBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDN0MsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDN0MsS0FBSyxFQUFFLFNBQVM7UUFDaEIsS0FBSyxFQUFFLEtBQUs7S0FDYixDQUFDLENBQUM7SUFFSCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQWxCVyxRQUFBLGNBQWMsa0JBa0J6QiIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbi8qIGVzbGludC1kaXNhYmxlIG5vLXByb2Nlc3MtZXhpdCAqL1xuaW1wb3J0IHtjcmVhdGVJbnRlcmZhY2V9IGZyb20gJ25vZGU6cmVhZGxpbmUvcHJvbWlzZXMnO1xuaW1wb3J0IHtleGVjLCBleGVjRmlsZVN5bmN9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7cHJvbWlzaWZ5fSBmcm9tICd1dGlsJztcblxuLyoqXG4gKiBQcm9taXNlIHZlcnNpb24gb2YgTm9kZSdzIGBleGVjYCBmcm9tIGBjaGlsZC1wcm9jZXNzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4ZWNQcm9taXNlID0gcHJvbWlzaWZ5KGV4ZWMpO1xuXG4vKipcbiAqIFByZXBlbmRzIHByb2Nlc3MgcGF0aCB0byBnaXZlbiBgZmlsZVBhdGhgLlxuICovXG5leHBvcnQgY29uc3QgcHJlcGVuZEZ1bGxGaWxlUGF0aCA9IChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHByb2Nlc3NSdW5uaW5nUGF0aCA9IHByb2Nlc3MuY3dkKCk7XG5cbiAgaWYgKHBhdGguaXNBYnNvbHV0ZShmaWxlUGF0aCkpIHtcbiAgICByZXR1cm4gZmlsZVBhdGg7XG4gIH1cblxuICByZXR1cm4gcGF0aC5ub3JtYWxpemUoYCR7cHJvY2Vzc1J1bm5pbmdQYXRofS8ke2ZpbGVQYXRofWApO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlcmUgaXMgZGF0YSBwaXBlZCwgdGhlbiBjb2xsZWN0cyBpdC5cbiAqIE90aGVyd2lzZSByZXR1cm5zIGVtcHR5IHN0cmluZy5cbiAqL1xuY29uc3QgY29sbGVjdFBpcGVkRGF0YSA9IGFzeW5jICgpID0+IHtcbiAgaWYgKHByb2Nlc3Muc3RkaW4uaXNUVFkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBjb25zdCByZWFkbGluZSA9IGNyZWF0ZUludGVyZmFjZSh7XG4gICAgaW5wdXQ6IHByb2Nlc3Muc3RkaW4sXG4gIH0pO1xuXG4gIGNvbnN0IGRhdGE6IHN0cmluZ1tdID0gW107XG5cbiAgZm9yIGF3YWl0IChjb25zdCBsaW5lIG9mIHJlYWRsaW5lKSB7XG4gICAgZGF0YS5wdXNoKGxpbmUpO1xuICB9XG5cbiAgcmV0dXJuIGRhdGEuam9pbignXFxuJyk7XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiB0aGVyZSBpcyBwaXBlZCBkYXRhLCB0cmllcyB0byBwYXJzZSB5YW1sIGZyb20gaXQuXG4gKiBSZXR1cm5zIGVtcHR5IHN0cmluZyBpZiBoYXZlbid0IGZvdW5kIGFueXRoaW5nLlxuICovXG5leHBvcnQgY29uc3QgcGFyc2VNYW5pZmVzdEZyb21TdGRpbiA9IGFzeW5jICgpID0+IHtcbiAgY29uc3QgcGlwZWRTb3VyY2VNYW5pZmVzdCA9IGF3YWl0IGNvbGxlY3RQaXBlZERhdGEoKTtcblxuICBpZiAoIXBpcGVkU291cmNlTWFuaWZlc3QpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBjb25zdCByZWdleCA9IC8jIHN0YXJ0KCg/Oi4qXFxuKSs/KSMgZW5kLztcbiAgY29uc3QgbWF0Y2ggPSByZWdleC5leGVjKHBpcGVkU291cmNlTWFuaWZlc3QpO1xuXG4gIGlmICghbWF0Y2gpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gbWF0Y2ghWzFdO1xufTtcblxuLyoqXG4gKiBSdW5zIHRoZSAtLWhlbHAgY29tbWFuZCB3aGVuIHRoZSBlbnRlcmVkIGNvbW1hbmQgaXMgaW5jb3JyZWN0LlxuICovXG5leHBvcnQgY29uc3QgcnVuSGVscENvbW1hbmQgPSAoY29tbWFuZDogc3RyaW5nKSA9PiB7XG4gIGNvbnNvbGUubG9nKGBIZXJlIGFyZSB0aGUgc3VwcG9ydGVkIGZsYWdzIGZvciB0aGUgXFxgJHtjb21tYW5kfVxcYCBjb21tYW5kOmApO1xuXG4gIGNvbnN0IGlzR2xvYmFsID0gISFwcm9jZXNzLmVudi5ucG1fY29uZmlnX2dsb2JhbDtcbiAgY29uc3QgaWZDb21tYW5kID0gW1xuICAgIGlzR2xvYmFsID8gY29tbWFuZCA6ICducG0nLFxuICAgIC4uLihpc0dsb2JhbCA/IFsnLS1zaWxlbnQnXSA6IFsncnVuJywgY29tbWFuZCwgJy0tc2lsZW50J10pLFxuICAgICctLScsXG4gICAgJy1oJyxcbiAgXTtcblxuICBleGVjRmlsZVN5bmMoaWZDb21tYW5kWzBdLCBpZkNvbW1hbmQuc2xpY2UoMSksIHtcbiAgICBjd2Q6IHByb2Nlc3MuZW52LkNVUlJFTlRfRElSIHx8IHByb2Nlc3MuY3dkKCksXG4gICAgc3RkaW86ICdpbmhlcml0JyxcbiAgICBzaGVsbDogZmFsc2UsXG4gIH0pO1xuXG4gIHByb2Nlc3MuZXhpdCgxKTtcbn07XG4iXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vdXRpbC9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLG9DQUFvQztBQUNwQyxxREFBdUQ7QUFDdkQsaURBQTJEO0FBQzNELDJDQUE2QjtBQUM3QiwrQkFBK0I7QUFFL0I7O0dBRUc7QUFDVSxRQUFBLFdBQVcsR0FBRyxJQUFBLGdCQUFTLEVBQUMsb0JBQUksQ0FBQyxDQUFDO0FBQzlCLFFBQUEsZUFBZSxHQUFHLElBQUEsZ0JBQVMsRUFBQyx3QkFBUSxDQUFDLENBQUM7QUFFbkQ7O0dBRUc7QUFDSSxNQUFNLG1CQUFtQixHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFFO0lBQ3RELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDMUUsQ0FBQyxDQUFDO0FBRlcsUUFBQSxtQkFBbUIsdUJBRTlCO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLElBQUksRUFBRTtJQUNsQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1FBQ3ZCLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFBLDBCQUFlLEVBQUM7UUFDL0IsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO0tBQ3JCLENBQUMsQ0FBQztJQUVILE1BQU0sSUFBSSxHQUFhLEVBQUUsQ0FBQztJQUUxQixJQUFJLEtBQUssRUFBRSxNQUFNLElBQUksSUFBSSxRQUFRLEVBQUU7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNqQjtJQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSSxNQUFNLHNCQUFzQixHQUFHLEtBQUssSUFBSSxFQUFFO0lBQy9DLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxnQkFBZ0IsRUFBRSxDQUFDO0lBRXJELElBQUksQ0FBQyxtQkFBbUIsRUFBRTtRQUN4QixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsTUFBTSxLQUFLLEdBQUcsMEJBQTBCLENBQUM7SUFDekMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRTlDLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsT0FBTyxLQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBZlcsUUFBQSxzQkFBc0IsMEJBZWpDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLGNBQWMsR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO0lBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMsMENBQTBDLE9BQU8sYUFBYSxDQUFDLENBQUM7SUFFNUUsSUFBQSw0QkFBWSxFQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRTtRQUMzRSxLQUFLLEVBQUUsU0FBUztLQUNqQixDQUFDLENBQUM7SUFFSCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQVJXLFFBQUEsY0FBYyxrQkFRekIiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1wcm9jZXNzLWV4aXQgKi9cbmltcG9ydCB7Y3JlYXRlSW50ZXJmYWNlfSBmcm9tICdub2RlOnJlYWRsaW5lL3Byb21pc2VzJztcbmltcG9ydCB7ZXhlYywgZXhlY0ZpbGUsIGV4ZWNGaWxlU3luY30gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtwcm9taXNpZnl9IGZyb20gJ3V0aWwnO1xuXG4vKipcbiAqIFByb21pc2UgdmVyc2lvbiBvZiBOb2RlJ3MgYGV4ZWNgIGFuZCBgZXhlY0ZpbGVgIGZyb20gYGNoaWxkLXByb2Nlc3NgLlxuICovXG5leHBvcnQgY29uc3QgZXhlY1Byb21pc2UgPSBwcm9taXNpZnkoZXhlYyk7XG5leHBvcnQgY29uc3QgZXhlY0ZpbGVQcm9taXNlID0gcHJvbWlzaWZ5KGV4ZWNGaWxlKTtcblxuLyoqXG4gKiBQcmVwZW5kcyBwcm9jZXNzIHBhdGggdG8gZ2l2ZW4gYGZpbGVQYXRoYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHByZXBlbmRGdWxsRmlsZVBhdGggPSAoZmlsZVBhdGg6IHN0cmluZykgPT4ge1xuICByZXR1cm4gcGF0aC5yZXNvbHZlKHByb2Nlc3MuZW52LkNVUlJFTlRfRElSIHx8IHByb2Nlc3MuY3dkKCksIGZpbGVQYXRoKTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZXJlIGlzIGRhdGEgcGlwZWQsIHRoZW4gY29sbGVjdHMgaXQuXG4gKiBPdGhlcndpc2UgcmV0dXJucyBlbXB0eSBzdHJpbmcuXG4gKi9cbmNvbnN0IGNvbGxlY3RQaXBlZERhdGEgPSBhc3luYyAoKSA9PiB7XG4gIGlmIChwcm9jZXNzLnN0ZGluLmlzVFRZKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29uc3QgcmVhZGxpbmUgPSBjcmVhdGVJbnRlcmZhY2Uoe1xuICAgIGlucHV0OiBwcm9jZXNzLnN0ZGluLFxuICB9KTtcblxuICBjb25zdCBkYXRhOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGZvciBhd2FpdCAoY29uc3QgbGluZSBvZiByZWFkbGluZSkge1xuICAgIGRhdGEucHVzaChsaW5lKTtcbiAgfVxuXG4gIHJldHVybiBkYXRhLmpvaW4oJ1xcbicpO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlcmUgaXMgcGlwZWQgZGF0YSwgdHJpZXMgdG8gcGFyc2UgeWFtbCBmcm9tIGl0LlxuICogUmV0dXJucyBlbXB0eSBzdHJpbmcgaWYgaGF2ZW4ndCBmb3VuZCBhbnl0aGluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlTWFuaWZlc3RGcm9tU3RkaW4gPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHBpcGVkU291cmNlTWFuaWZlc3QgPSBhd2FpdCBjb2xsZWN0UGlwZWREYXRhKCk7XG5cbiAgaWYgKCFwaXBlZFNvdXJjZU1hbmlmZXN0KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29uc3QgcmVnZXggPSAvIyBzdGFydCgoPzouKlxcbikrPykjIGVuZC87XG4gIGNvbnN0IG1hdGNoID0gcmVnZXguZXhlYyhwaXBlZFNvdXJjZU1hbmlmZXN0KTtcblxuICBpZiAoIW1hdGNoKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoIVsxXTtcbn07XG5cbi8qKlxuICogUnVucyB0aGUgLS1oZWxwIGNvbW1hbmQgd2hlbiB0aGUgZW50ZXJlZCBjb21tYW5kIGlzIGluY29ycmVjdC5cbiAqL1xuZXhwb3J0IGNvbnN0IHJ1bkhlbHBDb21tYW5kID0gKGNvbW1hbmQ6IHN0cmluZykgPT4ge1xuICBjb25zb2xlLmxvZyhgSGVyZSBhcmUgdGhlIHN1cHBvcnRlZCBmbGFncyBmb3IgdGhlIFxcYCR7Y29tbWFuZH1cXGAgY29tbWFuZDpgKTtcblxuICBleGVjRmlsZVN5bmMocHJvY2Vzcy5leGVjUGF0aCwgWy4uLnByb2Nlc3MuZXhlY0FyZ3YsIHByb2Nlc3MuYXJndlsxXSwgJy1oJ10sIHtcbiAgICBzdGRpbzogJ2luaGVyaXQnLFxuICB9KTtcblxuICBwcm9jZXNzLmV4aXQoMSk7XG59O1xuIl19
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Get the storage for the current context
3
+ */
4
+ export declare const getStorage: () => any;
5
+ /**
6
+ * Set up the context and execute the process
7
+ * @param callback The process to be executed after the context is set up
8
+ */
9
+ export declare const executeWithContext: (callback: () => void) => void;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeWithContext = exports.getStorage = void 0;
4
+ const async_hooks_1 = require("async_hooks");
5
+ /**
6
+ * Create global storage
7
+ */
8
+ const globalStorage = {};
9
+ /**
10
+ * Create async local storage
11
+ */
12
+ const asyncLocalStorage = new async_hooks_1.AsyncLocalStorage();
13
+ /**
14
+ * Get the storage for the current context
15
+ */
16
+ const getStorage = () => asyncLocalStorage.getStore() || globalStorage;
17
+ exports.getStorage = getStorage;
18
+ /**
19
+ * Set up the context and execute the process
20
+ * @param callback The process to be executed after the context is set up
21
+ */
22
+ const executeWithContext = (callback) => asyncLocalStorage.run({}, callback);
23
+ exports.executeWithContext = executeWithContext;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vdXRpbC9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE4QztBQUU5Qzs7R0FFRztBQUNILE1BQU0sYUFBYSxHQUFRLEVBQUUsQ0FBQztBQUU5Qjs7R0FFRztBQUNILE1BQU0saUJBQWlCLEdBQUcsSUFBSSwrQkFBaUIsRUFBRSxDQUFDO0FBRWxEOztHQUVHO0FBQ0ksTUFBTSxVQUFVLEdBQUcsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLElBQUksYUFBYSxDQUFDO0FBQWpFLFFBQUEsVUFBVSxjQUF1RDtBQUU5RTs7O0dBR0c7QUFFSSxNQUFNLGtCQUFrQixHQUFHLENBQUMsUUFBb0IsRUFBUSxFQUFFLENBQy9ELGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFEekIsUUFBQSxrQkFBa0Isc0JBQ08iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jTG9jYWxTdG9yYWdlfSBmcm9tICdhc3luY19ob29rcyc7XG5cbi8qKlxuICogQ3JlYXRlIGdsb2JhbCBzdG9yYWdlXG4gKi9cbmNvbnN0IGdsb2JhbFN0b3JhZ2U6IGFueSA9IHt9O1xuXG4vKipcbiAqIENyZWF0ZSBhc3luYyBsb2NhbCBzdG9yYWdlXG4gKi9cbmNvbnN0IGFzeW5jTG9jYWxTdG9yYWdlID0gbmV3IEFzeW5jTG9jYWxTdG9yYWdlKCk7XG5cbi8qKlxuICogR2V0IHRoZSBzdG9yYWdlIGZvciB0aGUgY3VycmVudCBjb250ZXh0XG4gKi9cbmV4cG9ydCBjb25zdCBnZXRTdG9yYWdlID0gKCkgPT4gYXN5bmNMb2NhbFN0b3JhZ2UuZ2V0U3RvcmUoKSB8fCBnbG9iYWxTdG9yYWdlO1xuXG4vKipcbiAqIFNldCB1cCB0aGUgY29udGV4dCBhbmQgZXhlY3V0ZSB0aGUgcHJvY2Vzc1xuICogQHBhcmFtIGNhbGxiYWNrIFRoZSBwcm9jZXNzIHRvIGJlIGV4ZWN1dGVkIGFmdGVyIHRoZSBjb250ZXh0IGlzIHNldCB1cFxuICovXG5cbmV4cG9ydCBjb25zdCBleGVjdXRlV2l0aENvbnRleHQgPSAoY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkID0+XG4gIGFzeW5jTG9jYWxTdG9yYWdlLnJ1bih7fSwgY2FsbGJhY2spO1xuIl19
@@ -0,0 +1,9 @@
1
+ import type { ArgumentConfig, ParseOptions } from 'ts-command-line-args';
2
+ import type { IfApiArgs } from '../types/process-args';
3
+ /**
4
+ * Configuration for if-api.
5
+ */
6
+ export declare const CONFIG: {
7
+ readonly ARGS: ArgumentConfig<IfApiArgs>;
8
+ readonly HELP: ParseOptions<IfApiArgs>;
9
+ };