@grnsft/if 1.0.0 → 1.0.2

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 (218) hide show
  1. package/build/common/util/helpers.d.ts +3 -2
  2. package/build/common/util/helpers.js +6 -18
  3. package/build/if-check/index.js +3 -13
  4. package/build/if-check/util/helpers.js +4 -4
  5. package/build/if-check/util/npm.d.ts +2 -2
  6. package/build/if-check/util/npm.js +32 -62
  7. package/build/if-run/builtins/divide/index.js +2 -2
  8. package/build/if-run/builtins/sci/index.js +2 -2
  9. package/build/if-run/config/strings.js +3 -3
  10. package/build/if-run/lib/compute.js +22 -5
  11. package/build/if-run/lib/environment.js +10 -14
  12. package/build/if-run/util/os-checker.js +14 -10
  13. package/jest.config.js +6 -2
  14. package/package.json +11 -10
  15. package/.env +0 -5
  16. package/coverage/clover.xml +0 -2062
  17. package/coverage/coverage-final.json +0 -58
  18. package/coverage/lcov-report/base.css +0 -224
  19. package/coverage/lcov-report/block-navigation.js +0 -87
  20. package/coverage/lcov-report/builtins/coefficient/index.html +0 -116
  21. package/coverage/lcov-report/builtins/coefficient/index.ts.html +0 -298
  22. package/coverage/lcov-report/builtins/csv-lookup/index.html +0 -116
  23. package/coverage/lcov-report/builtins/csv-lookup/index.ts.html +0 -826
  24. package/coverage/lcov-report/builtins/divide/index.html +0 -116
  25. package/coverage/lcov-report/builtins/divide/index.ts.html +0 -358
  26. package/coverage/lcov-report/builtins/exponent/index.html +0 -116
  27. package/coverage/lcov-report/builtins/exponent/index.ts.html +0 -361
  28. package/coverage/lcov-report/builtins/export-csv-raw.ts.html +0 -553
  29. package/coverage/lcov-report/builtins/export-csv.ts.html +0 -436
  30. package/coverage/lcov-report/builtins/export-log.ts.html +0 -148
  31. package/coverage/lcov-report/builtins/export-yaml.ts.html +0 -193
  32. package/coverage/lcov-report/builtins/group-by.ts.html +0 -370
  33. package/coverage/lcov-report/builtins/index.html +0 -206
  34. package/coverage/lcov-report/builtins/index.ts.html +0 -130
  35. package/coverage/lcov-report/builtins/interpolation/index.html +0 -116
  36. package/coverage/lcov-report/builtins/interpolation/index.ts.html +0 -676
  37. package/coverage/lcov-report/builtins/interpolation/types.ts.html +0 -100
  38. package/coverage/lcov-report/builtins/mock-observations/helpers/common-generator.ts.html +0 -184
  39. package/coverage/lcov-report/builtins/mock-observations/helpers/index.html +0 -131
  40. package/coverage/lcov-report/builtins/mock-observations/helpers/rand-int-generator.ts.html +0 -289
  41. package/coverage/lcov-report/builtins/mock-observations/index.html +0 -116
  42. package/coverage/lcov-report/builtins/mock-observations/index.ts.html +0 -619
  43. package/coverage/lcov-report/builtins/multiply/index.html +0 -116
  44. package/coverage/lcov-report/builtins/multiply/index.ts.html +0 -343
  45. package/coverage/lcov-report/builtins/regex/index.html +0 -116
  46. package/coverage/lcov-report/builtins/regex/index.ts.html +0 -373
  47. package/coverage/lcov-report/builtins/sci/config.ts.html +0 -205
  48. package/coverage/lcov-report/builtins/sci/index.html +0 -116
  49. package/coverage/lcov-report/builtins/sci/index.ts.html +0 -325
  50. package/coverage/lcov-report/builtins/sci-embodied/index.html +0 -116
  51. package/coverage/lcov-report/builtins/sci-embodied/index.ts.html +0 -478
  52. package/coverage/lcov-report/builtins/shell/index.html +0 -116
  53. package/coverage/lcov-report/builtins/shell/index.ts.html +0 -280
  54. package/coverage/lcov-report/builtins/subtract/index.html +0 -116
  55. package/coverage/lcov-report/builtins/subtract/index.ts.html +0 -379
  56. package/coverage/lcov-report/builtins/sum/index.html +0 -116
  57. package/coverage/lcov-report/builtins/sum/index.ts.html +0 -334
  58. package/coverage/lcov-report/builtins/time-sync.ts.html +0 -1462
  59. package/coverage/lcov-report/common/config/index.html +0 -131
  60. package/coverage/lcov-report/common/config/index.ts.html +0 -88
  61. package/coverage/lcov-report/common/config/strings.ts.html +0 -121
  62. package/coverage/lcov-report/common/lib/index.html +0 -116
  63. package/coverage/lcov-report/common/lib/load.ts.html +0 -139
  64. package/coverage/lcov-report/common/util/debug-logger.ts.html +0 -514
  65. package/coverage/lcov-report/common/util/fs.ts.html +0 -289
  66. package/coverage/lcov-report/common/util/helpers.ts.html +0 -355
  67. package/coverage/lcov-report/common/util/index.html +0 -191
  68. package/coverage/lcov-report/common/util/logger.ts.html +0 -151
  69. package/coverage/lcov-report/common/util/validations.ts.html +0 -628
  70. package/coverage/lcov-report/common/util/yaml.ts.html +0 -226
  71. package/coverage/lcov-report/config/config.ts.html +0 -463
  72. package/coverage/lcov-report/config/index.html +0 -161
  73. package/coverage/lcov-report/config/index.ts.html +0 -94
  74. package/coverage/lcov-report/config/params.ts.html +0 -697
  75. package/coverage/lcov-report/config/strings.ts.html +0 -490
  76. package/coverage/lcov-report/favicon.png +0 -0
  77. package/coverage/lcov-report/if-check/config/config.ts.html +0 -184
  78. package/coverage/lcov-report/if-check/config/index.html +0 -146
  79. package/coverage/lcov-report/if-check/config/index.ts.html +0 -91
  80. package/coverage/lcov-report/if-check/config/strings.ts.html +0 -142
  81. package/coverage/lcov-report/if-check/util/args.ts.html +0 -310
  82. package/coverage/lcov-report/if-check/util/helpers.ts.html +0 -136
  83. package/coverage/lcov-report/if-check/util/index.html +0 -146
  84. package/coverage/lcov-report/if-check/util/npm.ts.html +0 -376
  85. package/coverage/lcov-report/if-csv/util/args.ts.html +0 -256
  86. package/coverage/lcov-report/if-csv/util/helpers.ts.html +0 -346
  87. package/coverage/lcov-report/if-csv/util/index.html +0 -131
  88. package/coverage/lcov-report/if-diff/config/config.ts.html +0 -184
  89. package/coverage/lcov-report/if-diff/config/index.html +0 -146
  90. package/coverage/lcov-report/if-diff/config/index.ts.html +0 -91
  91. package/coverage/lcov-report/if-diff/config/strings.ts.html +0 -100
  92. package/coverage/lcov-report/if-diff/lib/compare.ts.html +0 -286
  93. package/coverage/lcov-report/if-diff/lib/index.html +0 -131
  94. package/coverage/lcov-report/if-diff/lib/load.ts.html +0 -199
  95. package/coverage/lcov-report/if-diff/util/args.ts.html +0 -274
  96. package/coverage/lcov-report/if-diff/util/helpers.ts.html +0 -337
  97. package/coverage/lcov-report/if-diff/util/index.html +0 -131
  98. package/coverage/lcov-report/if-env/config/config.ts.html +0 -211
  99. package/coverage/lcov-report/if-env/config/index.html +0 -146
  100. package/coverage/lcov-report/if-env/config/index.ts.html +0 -91
  101. package/coverage/lcov-report/if-env/config/strings.ts.html +0 -109
  102. package/coverage/lcov-report/if-env/util/args.ts.html +0 -256
  103. package/coverage/lcov-report/if-env/util/index.html +0 -131
  104. package/coverage/lcov-report/if-env/util/npm.ts.html +0 -526
  105. package/coverage/lcov-report/if-merge/util/args.ts.html +0 -301
  106. package/coverage/lcov-report/if-merge/util/helpers.ts.html +0 -313
  107. package/coverage/lcov-report/if-merge/util/index.html +0 -131
  108. package/coverage/lcov-report/if-run/builtins/coefficient/index.html +0 -116
  109. package/coverage/lcov-report/if-run/builtins/coefficient/index.ts.html +0 -286
  110. package/coverage/lcov-report/if-run/builtins/copy-param/index.html +0 -116
  111. package/coverage/lcov-report/if-run/builtins/copy-param/index.ts.html +0 -301
  112. package/coverage/lcov-report/if-run/builtins/csv-import/index.html +0 -116
  113. package/coverage/lcov-report/if-run/builtins/csv-import/index.ts.html +0 -364
  114. package/coverage/lcov-report/if-run/builtins/csv-lookup/index.html +0 -116
  115. package/coverage/lcov-report/if-run/builtins/csv-lookup/index.ts.html +0 -478
  116. package/coverage/lcov-report/if-run/builtins/divide/index.html +0 -116
  117. package/coverage/lcov-report/if-run/builtins/divide/index.ts.html +0 -346
  118. package/coverage/lcov-report/if-run/builtins/exponent/index.html +0 -116
  119. package/coverage/lcov-report/if-run/builtins/exponent/index.ts.html +0 -319
  120. package/coverage/lcov-report/if-run/builtins/export-csv-raw.ts.html +0 -553
  121. package/coverage/lcov-report/if-run/builtins/export-csv.ts.html +0 -436
  122. package/coverage/lcov-report/if-run/builtins/export-log.ts.html +0 -148
  123. package/coverage/lcov-report/if-run/builtins/export-yaml.ts.html +0 -193
  124. package/coverage/lcov-report/if-run/builtins/group-by.ts.html +0 -370
  125. package/coverage/lcov-report/if-run/builtins/index.html +0 -146
  126. package/coverage/lcov-report/if-run/builtins/index.ts.html +0 -136
  127. package/coverage/lcov-report/if-run/builtins/interpolation/index.html +0 -116
  128. package/coverage/lcov-report/if-run/builtins/interpolation/index.ts.html +0 -643
  129. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/common-generator.ts.html +0 -184
  130. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/index.html +0 -131
  131. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/rand-int-generator.ts.html +0 -289
  132. package/coverage/lcov-report/if-run/builtins/mock-observations/index.html +0 -116
  133. package/coverage/lcov-report/if-run/builtins/mock-observations/index.ts.html +0 -607
  134. package/coverage/lcov-report/if-run/builtins/multiply/index.html +0 -116
  135. package/coverage/lcov-report/if-run/builtins/multiply/index.ts.html +0 -289
  136. package/coverage/lcov-report/if-run/builtins/regex/index.html +0 -116
  137. package/coverage/lcov-report/if-run/builtins/regex/index.ts.html +0 -298
  138. package/coverage/lcov-report/if-run/builtins/sci/index.html +0 -116
  139. package/coverage/lcov-report/if-run/builtins/sci/index.ts.html +0 -418
  140. package/coverage/lcov-report/if-run/builtins/sci-embodied/index.html +0 -116
  141. package/coverage/lcov-report/if-run/builtins/sci-embodied/index.ts.html +0 -664
  142. package/coverage/lcov-report/if-run/builtins/shell/index.html +0 -116
  143. package/coverage/lcov-report/if-run/builtins/shell/index.ts.html +0 -256
  144. package/coverage/lcov-report/if-run/builtins/subtract/index.html +0 -116
  145. package/coverage/lcov-report/if-run/builtins/subtract/index.ts.html +0 -298
  146. package/coverage/lcov-report/if-run/builtins/sum/index.html +0 -116
  147. package/coverage/lcov-report/if-run/builtins/sum/index.ts.html +0 -238
  148. package/coverage/lcov-report/if-run/builtins/time-converter/config.ts.html +0 -205
  149. package/coverage/lcov-report/if-run/builtins/time-converter/index.html +0 -131
  150. package/coverage/lcov-report/if-run/builtins/time-converter/index.ts.html +0 -328
  151. package/coverage/lcov-report/if-run/builtins/time-sync/index.html +0 -116
  152. package/coverage/lcov-report/if-run/builtins/time-sync/index.ts.html +0 -1804
  153. package/coverage/lcov-report/if-run/builtins/time-sync.ts.html +0 -1462
  154. package/coverage/lcov-report/if-run/builtins/util/csv-helpers.ts.html +0 -376
  155. package/coverage/lcov-report/if-run/builtins/util/index.html +0 -116
  156. package/coverage/lcov-report/if-run/config/config.ts.html +0 -271
  157. package/coverage/lcov-report/if-run/config/index.html +0 -161
  158. package/coverage/lcov-report/if-run/config/index.ts.html +0 -94
  159. package/coverage/lcov-report/if-run/config/params.ts.html +0 -679
  160. package/coverage/lcov-report/if-run/config/strings.ts.html +0 -460
  161. package/coverage/lcov-report/if-run/lib/aggregate.ts.html +0 -577
  162. package/coverage/lcov-report/if-run/lib/compute.ts.html +0 -733
  163. package/coverage/lcov-report/if-run/lib/environment.ts.html +0 -373
  164. package/coverage/lcov-report/if-run/lib/exhaust.ts.html +0 -193
  165. package/coverage/lcov-report/if-run/lib/explain.ts.html +0 -484
  166. package/coverage/lcov-report/if-run/lib/index.html +0 -206
  167. package/coverage/lcov-report/if-run/lib/initialize.ts.html +0 -490
  168. package/coverage/lcov-report/if-run/lib/parameterize.ts.html +0 -322
  169. package/coverage/lcov-report/if-run/lib/regroup.ts.html +0 -349
  170. package/coverage/lcov-report/if-run/lib/time-sync.ts.html +0 -1510
  171. package/coverage/lcov-report/if-run/types/aggregation.ts.html +0 -94
  172. package/coverage/lcov-report/if-run/types/index.html +0 -146
  173. package/coverage/lcov-report/if-run/types/interface.ts.html +0 -112
  174. package/coverage/lcov-report/if-run/types/parameters.ts.html +0 -106
  175. package/coverage/lcov-report/if-run/util/aggregation-helper.ts.html +0 -277
  176. package/coverage/lcov-report/if-run/util/args.ts.html +0 -325
  177. package/coverage/lcov-report/if-run/util/helpers.ts.html +0 -208
  178. package/coverage/lcov-report/if-run/util/index.html +0 -191
  179. package/coverage/lcov-report/if-run/util/json.ts.html +0 -115
  180. package/coverage/lcov-report/if-run/util/log-memoize.ts.html +0 -145
  181. package/coverage/lcov-report/if-run/util/os-checker.ts.html +0 -421
  182. package/coverage/lcov-report/if-run/util/plugin-storage.ts.html +0 -202
  183. package/coverage/lcov-report/index.html +0 -551
  184. package/coverage/lcov-report/lib/aggregate.ts.html +0 -358
  185. package/coverage/lcov-report/lib/compare.ts.html +0 -286
  186. package/coverage/lcov-report/lib/compute.ts.html +0 -436
  187. package/coverage/lcov-report/lib/environment.ts.html +0 -376
  188. package/coverage/lcov-report/lib/exhaust.ts.html +0 -289
  189. package/coverage/lcov-report/lib/index.html +0 -221
  190. package/coverage/lcov-report/lib/initialize.ts.html +0 -430
  191. package/coverage/lcov-report/lib/load.ts.html +0 -268
  192. package/coverage/lcov-report/lib/parameterize.ts.html +0 -316
  193. package/coverage/lcov-report/prettify.css +0 -1
  194. package/coverage/lcov-report/prettify.js +0 -2
  195. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  196. package/coverage/lcov-report/sorter.js +0 -196
  197. package/coverage/lcov-report/types/aggregation.ts.html +0 -94
  198. package/coverage/lcov-report/types/index.html +0 -146
  199. package/coverage/lcov-report/types/interface.ts.html +0 -112
  200. package/coverage/lcov-report/types/parameters.ts.html +0 -106
  201. package/coverage/lcov-report/util/aggregation-helper.ts.html +0 -289
  202. package/coverage/lcov-report/util/args.ts.html +0 -649
  203. package/coverage/lcov-report/util/debug-logger.ts.html +0 -481
  204. package/coverage/lcov-report/util/errors.ts.html +0 -232
  205. package/coverage/lcov-report/util/fs.ts.html +0 -124
  206. package/coverage/lcov-report/util/helpers.ts.html +0 -895
  207. package/coverage/lcov-report/util/index.html +0 -296
  208. package/coverage/lcov-report/util/json.ts.html +0 -115
  209. package/coverage/lcov-report/util/log-memoize.ts.html +0 -145
  210. package/coverage/lcov-report/util/logger.ts.html +0 -151
  211. package/coverage/lcov-report/util/npm.ts.html +0 -499
  212. package/coverage/lcov-report/util/os-checker.ts.html +0 -421
  213. package/coverage/lcov-report/util/plugin-storage.ts.html +0 -202
  214. package/coverage/lcov-report/util/validations.ts.html +0 -544
  215. package/coverage/lcov-report/util/yaml.ts.html +0 -193
  216. package/coverage/lcov.info +0 -3548
  217. package/manifests/regroup.yml +0 -49
  218. package/manifests/test.yml +0 -524
@@ -24,10 +24,9 @@ const traverse = async (children, params) => {
24
24
  */
25
25
  const mergeDefaults = (inputs, defaults) => {
26
26
  if (inputs) {
27
- const response = defaults
27
+ return defaults
28
28
  ? inputs.map(input => (0, helpers_1.mergeObjects)(defaults, input))
29
29
  : inputs;
30
- return response;
31
30
  }
32
31
  console.debug(MERGING_DEFAULTS_WITH_INPUT_DATA, '\n');
33
32
  return defaults ? [defaults] : [];
@@ -74,8 +73,7 @@ const computeNode = async (node, params) => {
74
73
  config,
75
74
  });
76
75
  }
77
- let outputStorage = structuredClone(node.inputs);
78
- outputStorage = mergeDefaults(outputStorage, defaults);
76
+ let outputStorage = structuredClone(node.inputs) || [];
79
77
  const pipelineCopy = structuredClone(pipeline) || {};
80
78
  /** Checks if pipeline is not an array or empty object. */
81
79
  if (Array.isArray(pipelineCopy) ||
@@ -103,6 +101,17 @@ const computeNode = async (node, params) => {
103
101
  });
104
102
  }
105
103
  }
104
+ /**
105
+ * Merges defaults with inputs after observing.
106
+ * Defaults are needed to be merged after observing because observing can change the inputs.
107
+ */
108
+ node.inputs = mergeDefaults(outputStorage, defaults);
109
+ }
110
+ /**
111
+ * If observe is not requested, then merge defaults with inputs.
112
+ */
113
+ if (!params.observe && outputStorage.length > 0) {
114
+ outputStorage = mergeDefaults(outputStorage, defaults);
106
115
  }
107
116
  /**
108
117
  * If regroup is requested, execute regroup strategy, delete child's inputs, outputs and empty regroup array.
@@ -141,7 +150,15 @@ const computeNode = async (node, params) => {
141
150
  const nodeConfig = config && config[pluginName];
142
151
  console.debug(COMPUTING_PIPELINE_FOR_NODE(pluginName));
143
152
  debug_logger_1.debugLogger.setExecutingPluginName(pluginName);
153
+ /** Keep previous state to check after computation. */
154
+ const previousOutputsState = outputStorage;
144
155
  outputStorage = await plugin.execute(outputStorage, nodeConfig);
156
+ /**
157
+ * If there are no previous inputs/outputs (compute phase initalizes values), then merge defaults with outputs postfactum.
158
+ */
159
+ if (previousOutputsState.length === 0 && outputStorage.length > 0) {
160
+ outputStorage = mergeDefaults(outputStorage, defaults);
161
+ }
145
162
  debug_logger_1.debugLogger.setExecutingPluginName();
146
163
  node.outputs = outputStorage;
147
164
  if (params.context.explainer) {
@@ -166,4 +183,4 @@ const compute = async (tree, params) => {
166
183
  return copyOfTree;
167
184
  };
168
185
  exports.compute = compute;
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2NvbXB1dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsdUNBQStDO0FBQy9DLHVDQUF5QztBQUV6QyxpRUFBMkQ7QUFDM0QscURBQWdEO0FBRWhELDZDQUE2QztBQUU3QywrQ0FBMEM7QUFJMUMsTUFBTSxFQUNKLGdDQUFnQyxFQUNoQyxjQUFjLEVBQ2QsV0FBVyxFQUNYLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsVUFBVSxFQUNWLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsR0FBRyxpQkFBTyxDQUFDO0FBRVosTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztBQUVyQzs7R0FFRztBQUNILE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxRQUFhLEVBQUUsTUFBcUIsRUFBRSxFQUFFO0lBQzlELEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFO1FBQzVCLE9BQU8sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRCxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUM1QztBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FDcEIsTUFBc0IsRUFDdEIsUUFBa0MsRUFDbEMsRUFBRTtJQUNGLElBQUksTUFBTSxFQUFFO1FBQ1YsTUFBTSxRQUFRLEdBQUcsUUFBUTtZQUN2QixDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUEsc0JBQVksRUFBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDcEQsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUVYLE9BQU8sUUFBUSxD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QkFDMUIsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtRQUVELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQztTQUMzRDtLQUNGO0lBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNJLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxJQUFTLEVBQUUsTUFBcUIsRUFBRSxFQUFFO0lBQ2hFLE1BQU0sVUFBVSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV6QyxNQUFNLFdBQVcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFdEMsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyxDQUFDO0FBTlcsUUFBQSxPQUFPLFdBTWxCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQbHVnaW5QYXJhbXN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS90eXBlcyc7XG5cbmltcG9ydCB7aXNSZWdyb3VwZWQsIFJlZ3JvdXB9IGZyb20gJy4vcmVncm91cCc7XG5pbXBvcnQge2FkZEV4cGxhaW5EYXRhfSBmcm9tICcuL2V4cGxhaW4nO1xuXG5pbXBvcnQge2RlYnVnTG9nZ2VyfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9kZWJ1Zy1sb2dnZXInO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7bWVyZ2VPYmplY3RzfSBmcm9tICcuLi91dGlsL2hlbHBlcnMnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZy9zdHJpbmdzJztcblxuaW1wb3J0IHtDb21wdXRlUGFyYW1zLCBOb2RlLCBQaGFzZWRQaXBlbGluZX0gZnJvbSAnLi4vdHlwZXMvY29tcHV0ZSc7XG5cbmNvbnN0IHtcbiAgTUVSR0lOR19ERUZBVUxUU19XSVRIX0lOUFVUX0RBVEEsXG4gIEVNUFRZX1BJUEVMSU5FLFxuICBDT05GSUdfV0FSTixcbiAgQ09NUFVUSU5HX1BJUEVMSU5FX0ZPUl9OT0RFLFxuICBDT01QVVRJTkdfQ09NUE9ORU5UX1BJUEVMSU5FLFxuICBSRUdST1VQSU5HLFxuICBPQlNFUlZJTkcsXG4gIFNLSVBQSU5HX1JFR1JPVVAsXG59ID0gU1RSSU5HUztcblxuY29uc3QgY2hpbGROYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4vKipcbiAqIFRyYXZlcnNlcyBhbGwgY2hpbGQgbm9kZXMgYmFzZWQgb24gY2hpbGRyZW4gZ3JvdXBpbmcuXG4gKi9cbmNvbnN0IHRyYXZlcnNlID0gYXN5bmMgKGNoaWxkcmVuOiBhbnksIHBhcmFtczogQ29tcHV0ZVBhcmFtcykgPT4ge1xuICBmb3IgKGNvbnN0IGNoaWxkIGluIGNoaWxkcmVuKSB7XG4gICAgY29uc29sZS5kZWJ1ZyhDT01QVVRJTkdfQ09NUE9ORU5UX1BJUEVMSU5FKGNoaWxkKSk7XG4gICAgY2hpbGROYW1lcy5hZGQoY2hpbGQpO1xuICAgIGF3YWl0IGNvbXB1dGVOb2RlKGNoaWxkcmVuW2NoaWxkXSwgcGFyYW1zKTtcbiAgfVxufTtcblxuLyoqXG4gKiBBcHBlbmRzIGBkZWZhdWx0YCB2YWx1ZXMgdG8gYGlucHV0c2AuXG4gKi9cbmNvbnN0IG1lcmdlRGVmYXVsdHMgPSAoXG4gIGlucHV0czogUGx1Z2luUGFyYW1zW10sXG4gIGRlZmF1bHRzOiBQbHVnaW5QYXJhbXMgfCB1bmRlZmluZWRcbikgPT4ge1xuICBpZiAoaW5wdXRzKSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBkZWZhdWx0c1xuICAgICAgPyBpbnB1dHMubWFwKGlucHV0ID0+IG1lcmdlT2JqZWN0cyhkZWZhdWx0cywgaW5wdXQpKVxuICAgICAgOiBpbnB1dHM7XG5cbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBjb25zb2xlLmRlYnVnKE1FUkdJTkdfREVGQVVMVFNfV0lUSF9JTlBVVF9EQVRBLCAnXFxuJyk7XG5cbiAgcmV0dXJuIGRlZmF1bHRzID8gW2RlZmF1bHRzXSA6IFtdO1xufTtcblxuLyoqXG4gKiBXYXJucyBpZiB0aGUgYGNvbmZpZ2AgaXMgcHJvdmlkZWQgaW4gdGhlIG1hbmlmZXN0LlxuICovXG5jb25zdCB3YXJuSWZDb25maWdQcm92aWRlZCA9IChub2RlOiBhbnkpID0+IHtcbiAgaWYgKCdjb25maWcnIGluIG5vZGUpIHtcbiAgICBjb25zdCBwbHVnaW5zID0gT2JqZWN0LmtleXMobm9kZS5jb25maWcgfHwge30pO1xuICAgIGNvbnN0IGpvaW5lZFBsdWdpbnMgPSBwbHVnaW5zLmpvaW4oJywgJyk7XG4gICAgY29uc3QgaXNNb3JlID0gcGx1Z2lucy5sZW5ndGggPiAxO1xuXG4gICAgbG9nZ2VyLndhcm4oQ09ORklHX1dBUk4oam9pbmVkUGx1Z2lucywgaXNNb3JlKSk7XG4gIH1cbn07XG5cbi8qKlxuICogMS4gSWYgdGhlIG5vZGUgaGFzIGl0J3Mgb3duIHBpcGVsaW5lLCBkZWZhdWx0cyBvciBjb25maWcgdGhlbiB1c2UgdGhhdCxcbiAqICAgIG90aGVyd2lzZSB1c2Ugd2hhdGV2ZXIgaGFzIGJlZW4gcGFzc2VkIGRvd24gZnJvbSBmdXJ0aGVyIHVwIHRoZSB0cmVlLlxuICogMi4gSWYgaXQncyBhIGdyb3VwaW5nIG5vZGUsIHRoZW4gZmlyc3Qgb2YgYWxsIGNvbXB1dGVzIGFsbCBpdCdzIGNoaWxkcmVuLlxuICogICAgVGhpcyBpcyBkb2luZyBhIGRlcHRoIGZpcnN0IHRyYXZlcnNhbC5cbiAqIDMuIE90aGVyd2lzZSBtZXJnZXMgdGhlIGRlZmF1bHRzIGludG8gdGhlIGlucHV0cy5cbiAqIDQuIEl0ZXJhdGVzIG92ZXIgcGlwZWxpbmUgcGhhc2VzIChvYnNlcnZlLCByZWdyb3VwLCBjb21wdXRlKS5cbiAqIDUuIE9ic2VydmUgcGx1Z2lucyBhcmUgdXNlZCB0byBpbnNlcnQgaW5wdXQgdmFsdWVzXG4gKiAgICAoaXNvbGF0ZWQgZXhlY3V0aW9uIGNhbiBiZSBhY2hpdmVkIGJ5IHBhc3NpbmcgYC0tb2JzZXJ2ZWAgZmxhZyB0byBDTEkgY29tbWFuZCkuXG4gKiA2LiBSZWdyb3VwIHBsdWdpbiBpcyB1c2VkIHRvIGdyb3VwIGV4aXN0aW5nIGlucHV0cyBieSBjcml0ZXJpYVxuICogICAgKGlzb2xhdGVkIGV4ZWN1dGlvbiBjYW4gYmUgYWNoaXZlZCBieSBwYXNzaW5nIGAtLXJlZ3JvdXBgIGZsYWcgdG8gQ0xJIGNvbW1hbmQpLlxuICogICAgU2luY2UgaXQgY3JlYXRlcyBuZXcgY2hpbGRyZW4gZm9yIG5vZGUsIGV4aXN0aW5nIGlucHV0cyBhbmQgb3V0cHV0cyBhcmUgZHJvcHBlZCBhbmQgcmVjdXJzaXZlIHRyYXZlcnNhbCBpcyBjYWxsZWRcbiAqICAgIGZvciBuZXdib3JkIGNoaWxkIGNvbXBvbmVudC5cbiAqIDcuIENvbXB1dGUgcGx1Z2lucyBhcmUgdXNlZCB0byBkbyBkZXNpcmVkIGNvbXB1dGF0aW9ucyBhbmQgYXBwZW5kaW5nIHRoZSByZXN1bHQgdG8gb3V0cHV0c1xuICogICAgKGlzb2xhdGVkIGV4ZWN1dGlvbiBjYW4gYmUgYWNoaXZlZCBieSBwYXNzaW5nIGAtLWNvbXB1dGVgIGZsYWcgdG8gQ0xJIGNvbW1hbmQpLlxuICovXG5jb25zdCBjb21wdXRlTm9kZSA9IGFzeW5jIChub2RlOiBOb2RlLCBwYXJhbXM6IENvbXB1dGVQYXJhbXMpOiBQcm9taXNlPGFueT4gPT4ge1xuICBjb25zdCBwaXBlbGluZSA9IG5vZGUucGlwZWxpbmUgfHwgKHBhcmFtcy5waXBlbGluZSBhcyBQaGFzZWRQaXBlbGluZSk7XG4gIGNvbnN0IGNvbmZpZyA9IG5vZGUuY29uZmlnIHx8IHBhcmFtcy5jb25maWc7XG4gIGNvbnN0IGRlZmF1bHRzID0gbm9kZS5kZWZhdWx0cyB8fCBwYXJhbXMuZGVmYXVsdHM7XG4gIGNvbnN0IG5vRmxhZ3MgPSAhcGFyYW1zLm9ic2VydmUgJiYgIXBhcmFtcy5yZWdyb3VwICYmICFwYXJhbXMuY29tcHV0ZTtcblxuICBkZWJ1Z0xvZ2dlci5zZXRFeGVjdXRpbmdQbHVnaW5OYW1lKCk7XG4gIHdhcm5JZkNvbmZpZ1Byb3ZpZGVkKG5vZGUpO1xuXG4gIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlKG5vZGUuY2hpbGRyZW4sIHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHBpcGVsaW5lLFxuICAgICAgZGVmYXVsdHMsXG4gICAgICBjb25maWcsXG4gICAgfSk7XG4gIH1cblxuICBsZXQgb3V0cHV0U3RvcmFnZSA9IHN0cnVjdHVyZWRDbG9uZShub2RlLmlucHV0cykgYXMgUGx1Z2luUGFyYW1zW107XG4gIG91dHB1dFN0b3JhZ2UgPSBtZXJnZURlZmF1bHRzKG91dHB1dFN0b3JhZ2UsIGRlZmF1bHRzKTtcbiAgY29uc3QgcGlwZWxpbmVDb3B5ID0gc3RydWN0dXJlZENsb25lKHBpcGVsaW5lKSB8fCB7fTtcblxuICAvKiogQ2hlY2tzIGlmIHBpcGVsaW5lIGlzIG5vdCBhbiBhcnJheSBvciBlbXB0eSBvYmplY3QuICovXG4gIGlmIChcbiAgICBBcnJheS5pc0FycmF5KHBpcGVsaW5lQ29weSkgfHxcbiAgICAodHlwZW9mIHBpcGVsaW5lQ29weSA9PT0gJ29iamVjdCcgJiZcbiAgICAgIHBpcGVsaW5lQ29weSAhPT0gbnVsbCAmJlxuICAgICAgT2JqZWN0LmtleXMocGlwZWxpbmVDb3B5KS5sZW5ndGggPT09IDApXG4gICkge1xuICAgIGxvZ2dlci53YXJuKEVNUFRZX1BJUEVMSU5FKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBpdGVyYXRpb24gaXMgb24gb2JzZXJ2ZSBwaXBlbGluZSwgdGhlbiBleGVjdXRlcyBvYnNlcnZlIHBsdWdpbnMgYW5kIHNldHMgdGhlIGlucHV0cyB2YWx1ZS5cbiAgICovXG4gIGlmICgobm9GbGFncyB8fCBwYXJhbXMub2JzZXJ2ZSkgJiYgcGlwZWxpbmVDb3B5Lm9ic2VydmUpIHtcbiAgICB3aGlsZSAocGlwZWxpbmVDb3B5Lm9ic2VydmUubGVuZ3RoICE9PSAwKSB7XG4gICAgICBjb25zdCBwbHVnaW5OYW1lID0gcGlwZWxpbmVDb3B5Lm9ic2VydmUuc2hpZnQoKSBhcyBzdHJpbmc7XG4gICAgICBjb25zb2xlLmRlYnVnKE9CU0VSVklORyhwbHVnaW5OYW1lKSk7XG4gICAgICBkZWJ1Z0xvZ2dlci5zZXRFeGVjdXRpbmdQbHVnaW5OYW1lKHBsdWdpbk5hbWUpO1xuXG4gICAgICBjb25zdCBwbHVnaW4gPSBwYXJhbXMucGx1Z2luU3RvcmFnZS5nZXQocGx1Z2luTmFtZSk7XG4gICAgICBjb25zdCBub2RlQ29uZmlnID0gY29uZmlnICYmIGNvbmZpZ1twbHVnaW5OYW1lXTtcblxuICAgICAgb3V0cHV0U3RvcmFnZSA9IGF3YWl0IHBsdWdpbi5leGVjdXRlKG91dHB1dFN0b3JhZ2UsIG5vZGVDb25maWcpO1xuICAgICAgbm9kZS5pbnB1dHMgPSBvdXRwdXRTdG9yYWdlO1xuXG4gICAgICBpZiAocGFyYW1zLmNvbnRleHQuZXhwbGFpbmVyKSB7XG4gICAgICAgIGFkZEV4cGxhaW5EYXRhKHtcbiAgICAgICAgICBwbHVnaW5OYW1lLFxuICAgICAgICAgIG1ldGFkYXRhOiBwbHVnaW4ubWV0YWRhdGEsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJZiByZWdyb3VwIGlzIHJlcXVlc3RlZCwgZXhlY3V0ZSByZWdyb3VwIHN0cmF0ZWd5LCBkZWxldGUgY2hpbGQncyBpbnB1dHMsIG91dHB1dHMgYW5kIGVtcHR5IHJlZ3JvdXAgYXJyYXkuXG4gICAqL1xuICBpZiAoKG5vRmxhZ3MgfHwgcGFyYW1zLnJlZ3JvdXApICYmIHBpcGVsaW5lQ29weS5yZWdyb3VwKSB7XG4gICAgY29uc3Qgb3JpZ2luYWxPdXRwdXRzID0gcGFyYW1zLmFwcGVuZCA/IG5vZGUub3V0cHV0cyB8fCBbXSA6IFtdO1xuXG4gICAgaWYgKCFpc1JlZ3JvdXBlZChwaXBlbGluZUNvcHkucmVncm91cCwgb3V0cHV0U3RvcmFnZSwgY2hpbGROYW1lcykpIHtcbiAgICAgIG5vZGUuY2hpbGRyZW4gPSBSZWdyb3VwKFxuICAgICAgICBvdXRwdXRTdG9yYWdlLFxuICAgICAgICBvcmlnaW5hbE91dHB1dHMsXG4gICAgICAgIHBpcGVsaW5lQ29weS5yZWdyb3VwXG4gICAgICApO1xuXG4gICAgICBkZWxldGUgbm9kZS5pbnB1dHM7XG4gICAgICBkZWxldGUgbm9kZS5vdXRwdXRzO1xuXG4gICAgICBkZWJ1Z0xvZ2dlci5zZXRFeGVjdXRpbmdQbHVnaW5OYW1lKCk7XG4gICAgICBjb25zb2xlLmRlYnVnKFJFR1JPVVBJTkcpO1xuXG4gICAgICByZXR1cm4gdHJhdmVyc2Uobm9kZS5jaGlsZHJlbiwge1xuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIHBpcGVsaW5lOiB7XG4gICAgICAgICAgLi4ucGlwZWxpbmVDb3B5LFxuICAgICAgICAgIHJlZ3JvdXA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSxcbiAgICAgICAgZGVmYXVsdHMsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmRlYnVnKFNLSVBQSU5HX1JFR1JPVVApO1xuICAgIH1cbiAgfVxuXG4gIGNvbnNvbGUuZGVidWcoJ1xcbicpO1xuXG4gIC8qKlxuICAgKiBJZiBpdGVyYXRpb24gaXMgb24gY29tcHV0ZSBwbHVnaW4sIHRoZW4gZXhlY3V0ZXMgY29tcHV0ZSBwbHVnaW5zIGFuZCBzZXRzIHRoZSBvdXRwdXRzIHZhbHVlLlxuICAgKi9cbiAgaWYgKChub0ZsYWdzIHx8IHBhcmFtcy5jb21wdXRlKSAmJiBwaXBlbGluZUNvcHkuY29tcHV0ZSkge1xuICAgIGNvbnN0IG9yaWdpbmFsT3V0cHV0cyA9IHBhcmFtcy5hcHBlbmQgPyBub2RlLm91dHB1dHMgfHwgW10gOiBbXTtcblxuICAgIHdoaWxlIChwaXBlbGluZUNvcHkuY29tcHV0ZS5sZW5ndGggIT09IDApIHtcbiAgICAgIGNvbnN0IHBsdWdpbk5hbWUgPSBwaXBlbGluZUNvcHkuY29tcHV0ZS5zaGlmdCgpIGFzIHN0cmluZztcbiAgICAgIGNvbnN0IHBsdWdpbiA9IHBhcmFtcy5wbHVnaW5TdG9yYWdlLmdldChwbHVnaW5OYW1lKTtcbiAgICAgIGNvbnN0IG5vZGVDb25maWcgPSBjb25maWcgJiYgY29uZmlnW3BsdWdpbk5hbWVdO1xuXG4gICAgICBjb25zb2xlLmRlYnVnKENPTVBVVElOR19QSVBFTElORV9GT1JfTk9ERShwbHVnaW5OYW1lKSk7XG4gICAgICBkZWJ1Z0xvZ2dlci5zZXRFeGVjdXRpbmdQbHVnaW5OYW1lKHBsdWdpbk5hbWUpO1xuXG4gICAgICBvdXRwdXRTdG9yYWdlID0gYXdhaXQgcGx1Z2luLmV4ZWN1dGUob3V0cHV0U3RvcmFnZSwgbm9kZUNvbmZpZyk7XG5cbiAgICAgIGRlYnVnTG9nZ2VyLnNldEV4ZWN1dGluZ1BsdWdpbk5hbWUoKTtcblxuICAgICAgbm9kZS5vdXRwdXRzID0gb3V0cHV0U3RvcmFnZTtcblxuICAgICAgaWYgKHBhcmFtcy5jb250ZXh0LmV4cGxhaW5lcikge1xuICAgICAgICBhZGRFeHBsYWluRGF0YSh7XG4gICAgICAgICAgcGx1Z2luTmFtZSxcbiAgICAgICAgICBtZXRhZGF0YTogcGx1Z2luLm1ldGFkYXRhLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLmFwcGVuZCkge1xuICAgICAgbm9kZS5vdXRwdXRzID0gb3JpZ2luYWxPdXRwdXRzLmNvbmNhdChub2RlLm91dHB1dHMgfHwgW10pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnNvbGUuZGVidWcoJ1xcbicpO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGNvcHkgb2YgZXhpc3RpbmcgdHJlZSwgdGhlbiBhcHBsaWVzIGNvbXB1dGluZyBzdHJhdGVneS5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbXB1dGUgPSBhc3luYyAodHJlZTogYW55LCBwYXJhbXM6IENvbXB1dGVQYXJhbXMpID0+IHtcbiAgY29uc3QgY29weU9mVHJlZSA9IHN0cnVjdHVyZWRDbG9uZSh0cmVlKTtcblxuICBhd2FpdCBjb21wdXRlTm9kZShjb3B5T2ZUcmVlLCBwYXJhbXMpO1xuXG4gIHJldHVybiBjb3B5T2ZUcmVlO1xufTtcbiJdfQ==
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2NvbXB1dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsdUNBQStDO0FBQy9DLHVDQUF5QztBQUV6QyxpRUFBMkQ7QUFDM0QscURBQWdEO0FBRWhELDZDQUE2QztBQUU3QywrQ0FBMEM7QUFJMUMsTUFBTSxFQUNKLGdDQUFnQyxFQUNoQyxjQUFjLEVBQ2QsV0FBVyxFQUNYLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsVUFBVSxFQUNWLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsR0FBRyxpQkFBTyxDQUFDO0FBRVosTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztBQUVyQzs7R0FFRztBQUNILE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxRQUFhLEVBQUUsTUFBcUIsRUFBRSxFQUFFO0lBQzlELEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFO1FBQzVCLE9BQU8sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRCxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUM1QztBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FDcEIsTUFBc0IsRUFDdEIsUUFBa0MsRUFDbEMsRUFBRTtJQUNGLElBQUksTUFBTSxFQUFFO1FBQ1YsT0FBTyxRQUFRO1lBQ2IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFBLHNCQUFZLEVBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxNQUFNLENBQUM7S0FDWjtJQUVELE9BQU8sQ0FBQyxLQUFLLENB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QztZQUVoRTs7ZUFFRztZQUNILElBQUksb0JBQW9CLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDakUsYUFBYSxHQUFHLGFBQWEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDeEQ7WUFFRCwwQkFBVyxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFFckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUM7WUFFN0IsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtnQkFDNUIsSUFBQSx3QkFBYyxFQUFDO29CQUNiLFVBQVU7b0JBQ1YsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO2lCQUMxQixDQUFDLENBQUM7YUFDSjtTQUNGO1FBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQzNEO0tBQ0Y7SUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLElBQVMsRUFBRSxNQUFxQixFQUFFLEVBQUU7SUFDaEUsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpDLE1BQU0sV0FBVyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUV0QyxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFOVyxRQUFBLE9BQU8sV0FNbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcblxuaW1wb3J0IHtpc1JlZ3JvdXBlZCwgUmVncm91cH0gZnJvbSAnLi9yZWdyb3VwJztcbmltcG9ydCB7YWRkRXhwbGFpbkRhdGF9IGZyb20gJy4vZXhwbGFpbic7XG5cbmltcG9ydCB7ZGVidWdMb2dnZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2RlYnVnLWxvZ2dlcic7XG5pbXBvcnQge2xvZ2dlcn0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvbG9nZ2VyJztcblxuaW1wb3J0IHttZXJnZU9iamVjdHN9IGZyb20gJy4uL3V0aWwvaGVscGVycyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnL3N0cmluZ3MnO1xuXG5pbXBvcnQge0NvbXB1dGVQYXJhbXMsIE5vZGUsIFBoYXNlZFBpcGVsaW5lfSBmcm9tICcuLi90eXBlcy9jb21wdXRlJztcblxuY29uc3Qge1xuICBNRVJHSU5HX0RFRkFVTFRTX1dJVEhfSU5QVVRfREFUQSxcbiAgRU1QVFlfUElQRUxJTkUsXG4gIENPTkZJR19XQVJOLFxuICBDT01QVVRJTkdfUElQRUxJTkVfRk9SX05PREUsXG4gIENPTVBVVElOR19DT01QT05FTlRfUElQRUxJTkUsXG4gIFJFR1JPVVBJTkcsXG4gIE9CU0VSVklORyxcbiAgU0tJUFBJTkdfUkVHUk9VUCxcbn0gPSBTVFJJTkdTO1xuXG5jb25zdCBjaGlsZE5hbWVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbi8qKlxuICogVHJhdmVyc2VzIGFsbCBjaGlsZCBub2RlcyBiYXNlZCBvbiBjaGlsZHJlbiBncm91cGluZy5cbiAqL1xuY29uc3QgdHJhdmVyc2UgPSBhc3luYyAoY2hpbGRyZW46IGFueSwgcGFyYW1zOiBDb21wdXRlUGFyYW1zKSA9PiB7XG4gIGZvciAoY29uc3QgY2hpbGQgaW4gY2hpbGRyZW4pIHtcbiAgICBjb25zb2xlLmRlYnVnKENPTVBVVElOR19DT01QT05FTlRfUElQRUxJTkUoY2hpbGQpKTtcbiAgICBjaGlsZE5hbWVzLmFkZChjaGlsZCk7XG4gICAgYXdhaXQgY29tcHV0ZU5vZGUoY2hpbGRyZW5bY2hpbGRdLCBwYXJhbXMpO1xuICB9XG59O1xuXG4vKipcbiAqIEFwcGVuZHMgYGRlZmF1bHRgIHZhbHVlcyB0byBgaW5wdXRzYC5cbiAqL1xuY29uc3QgbWVyZ2VEZWZhdWx0cyA9IChcbiAgaW5wdXRzOiBQbHVnaW5QYXJhbXNbXSxcbiAgZGVmYXVsdHM6IFBsdWdpblBhcmFtcyB8IHVuZGVmaW5lZFxuKSA9PiB7XG4gIGlmIChpbnB1dHMpIHtcbiAgICByZXR1cm4gZGVmYXVsdHNcbiAgICAgID8gaW5wdXRzLm1hcChpbnB1dCA9PiBtZXJnZU9iamVjdHMoZGVmYXVsdHMsIGlucHV0KSlcbiAgICAgIDogaW5wdXRzO1xuICB9XG5cbiAgY29uc29sZS5kZWJ1ZyhNRVJHSU5HX0RFRkFVTFRTX1dJVEhfSU5QVVRfREFUQSwgJ1xcbicpO1xuXG4gIHJldHVybiBkZWZhdWx0cyA/IFtkZWZhdWx0c10gOiBbXTtcbn07XG5cbi8qKlxuICogV2FybnMgaWYgdGhlIGBjb25maWdgIGlzIHByb3ZpZGVkIGluIHRoZSBtYW5pZmVzdC5cbiAqL1xuY29uc3Qgd2FybklmQ29uZmlnUHJvdmlkZWQgPSAobm9kZTogYW55KSA9PiB7XG4gIGlmICgnY29uZmlnJyBpbiBub2RlKSB7XG4gICAgY29uc3QgcGx1Z2lucyA9IE9iamVjdC5rZXlzKG5vZGUuY29uZmlnIHx8IHt9KTtcbiAgICBjb25zdCBqb2luZWRQbHVnaW5zID0gcGx1Z2lucy5qb2luKCcsICcpO1xuICAgIGNvbnN0IGlzTW9yZSA9IHBsdWdpbnMubGVuZ3RoID4gMTtcblxuICAgIGxvZ2dlci53YXJuKENPTkZJR19XQVJOKGpvaW5lZFBsdWdpbnMsIGlzTW9yZSkpO1xuICB9XG59O1xuXG4vKipcbiAqIDEuIElmIHRoZSBub2RlIGhhcyBpdCdzIG93biBwaXBlbGluZSwgZGVmYXVsdHMgb3IgY29uZmlnIHRoZW4gdXNlIHRoYXQsXG4gKiAgICBvdGhlcndpc2UgdXNlIHdoYXRldmVyIGhhcyBiZWVuIHBhc3NlZCBkb3duIGZyb20gZnVydGhlciB1cCB0aGUgdHJlZS5cbiAqIDIuIElmIGl0J3MgYSBncm91cGluZyBub2RlLCB0aGVuIGZpcnN0IG9mIGFsbCBjb21wdXRlcyBhbGwgaXQncyBjaGlsZHJlbi5cbiAqICAgIFRoaXMgaXMgZG9pbmcgYSBkZXB0aCBmaXJzdCB0cmF2ZXJzYWwuXG4gKiAzLiBPdGhlcndpc2UgbWVyZ2VzIHRoZSBkZWZhdWx0cyBpbnRvIHRoZSBpbnB1dHMuXG4gKiA0LiBJdGVyYXRlcyBvdmVyIHBpcGVsaW5lIHBoYXNlcyAob2JzZXJ2ZSwgcmVncm91cCwgY29tcHV0ZSkuXG4gKiA1LiBPYnNlcnZlIHBsdWdpbnMgYXJlIHVzZWQgdG8gaW5zZXJ0IGlucHV0IHZhbHVlc1xuICogICAgKGlzb2xhdGVkIGV4ZWN1dGlvbiBjYW4gYmUgYWNoaXZlZCBieSBwYXNzaW5nIGAtLW9ic2VydmVgIGZsYWcgdG8gQ0xJIGNvbW1hbmQpLlxuICogNi4gUmVncm91cCBwbHVnaW4gaXMgdXNlZCB0byBncm91cCBleGlzdGluZyBpbnB1dHMgYnkgY3JpdGVyaWFcbiAqICAgIChpc29sYXRlZCBleGVjdXRpb24gY2FuIGJlIGFjaGl2ZWQgYnkgcGFzc2luZyBgLS1yZWdyb3VwYCBmbGFnIHRvIENMSSBjb21tYW5kKS5cbiAqICAgIFNpbmNlIGl0IGNyZWF0ZXMgbmV3IGNoaWxkcmVuIGZvciBub2RlLCBleGlzdGluZyBpbnB1dHMgYW5kIG91dHB1dHMgYXJlIGRyb3BwZWQgYW5kIHJlY3Vyc2l2ZSB0cmF2ZXJzYWwgaXMgY2FsbGVkXG4gKiAgICBmb3IgbmV3Ym9yZCBjaGlsZCBjb21wb25lbnQuXG4gKiA3LiBDb21wdXRlIHBsdWdpbnMgYXJlIHVzZWQgdG8gZG8gZGVzaXJlZCBjb21wdXRhdGlvbnMgYW5kIGFwcGVuZGluZyB0aGUgcmVzdWx0IHRvIG91dHB1dHNcbiAqICAgIChpc29sYXRlZCBleGVjdXRpb24gY2FuIGJlIGFjaGl2ZWQgYnkgcGFzc2luZyBgLS1jb21wdXRlYCBmbGFnIHRvIENMSSBjb21tYW5kKS5cbiAqL1xuY29uc3QgY29tcHV0ZU5vZGUgPSBhc3luYyAobm9kZTogTm9kZSwgcGFyYW1zOiBDb21wdXRlUGFyYW1zKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3QgcGlwZWxpbmUgPSBub2RlLnBpcGVsaW5lIHx8IChwYXJhbXMucGlwZWxpbmUgYXMgUGhhc2VkUGlwZWxpbmUpO1xuICBjb25zdCBjb25maWcgPSBub2RlLmNvbmZpZyB8fCBwYXJhbXMuY29uZmlnO1xuICBjb25zdCBkZWZhdWx0cyA9IG5vZGUuZGVmYXVsdHMgfHwgcGFyYW1zLmRlZmF1bHRzO1xuICBjb25zdCBub0ZsYWdzID0gIXBhcmFtcy5vYnNlcnZlICYmICFwYXJhbXMucmVncm91cCAmJiAhcGFyYW1zLmNvbXB1dGU7XG5cbiAgZGVidWdMb2dnZXIuc2V0RXhlY3V0aW5nUGx1Z2luTmFtZSgpO1xuICB3YXJuSWZDb25maWdQcm92aWRlZChub2RlKTtcblxuICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgIHJldHVybiB0cmF2ZXJzZShub2RlLmNoaWxkcmVuLCB7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICBwaXBlbGluZSxcbiAgICAgIGRlZmF1bHRzLFxuICAgICAgY29uZmlnLFxuICAgIH0pO1xuICB9XG5cbiAgbGV0IG91dHB1dFN0b3JhZ2UgPSAoc3RydWN0dXJlZENsb25lKG5vZGUuaW5wdXRzKSBhcyBQbHVnaW5QYXJhbXNbXSkgfHwgW107XG4gIGNvbnN0IHBpcGVsaW5lQ29weSA9IHN0cnVjdHVyZWRDbG9uZShwaXBlbGluZSkgfHwge307XG5cbiAgLyoqIENoZWNrcyBpZiBwaXBlbGluZSBpcyBub3QgYW4gYXJyYXkgb3IgZW1wdHkgb2JqZWN0LiAqL1xuICBpZiAoXG4gICAgQXJyYXkuaXNBcnJheShwaXBlbGluZUNvcHkpIHx8XG4gICAgKHR5cGVvZiBwaXBlbGluZUNvcHkgPT09ICdvYmplY3QnICYmXG4gICAgICBwaXBlbGluZUNvcHkgIT09IG51bGwgJiZcbiAgICAgIE9iamVjdC5rZXlzKHBpcGVsaW5lQ29weSkubGVuZ3RoID09PSAwKVxuICApIHtcbiAgICBsb2dnZXIud2FybihFTVBUWV9QSVBFTElORSk7XG4gIH1cblxuICAvKipcbiAgICogSWYgaXRlcmF0aW9uIGlzIG9uIG9ic2VydmUgcGlwZWxpbmUsIHRoZW4gZXhlY3V0ZXMgb2JzZXJ2ZSBwbHVnaW5zIGFuZCBzZXRzIHRoZSBpbnB1dHMgdmFsdWUuXG4gICAqL1xuICBpZiAoKG5vRmxhZ3MgfHwgcGFyYW1zLm9ic2VydmUpICYmIHBpcGVsaW5lQ29weS5vYnNlcnZlKSB7XG4gICAgd2hpbGUgKHBpcGVsaW5lQ29weS5vYnNlcnZlLmxlbmd0aCAhPT0gMCkge1xuICAgICAgY29uc3QgcGx1Z2luTmFtZSA9IHBpcGVsaW5lQ29weS5vYnNlcnZlLnNoaWZ0KCkgYXMgc3RyaW5nO1xuICAgICAgY29uc29sZS5kZWJ1ZyhPQlNFUlZJTkcocGx1Z2luTmFtZSkpO1xuICAgICAgZGVidWdMb2dnZXIuc2V0RXhlY3V0aW5nUGx1Z2luTmFtZShwbHVnaW5OYW1lKTtcblxuICAgICAgY29uc3QgcGx1Z2luID0gcGFyYW1zLnBsdWdpblN0b3JhZ2UuZ2V0KHBsdWdpbk5hbWUpO1xuICAgICAgY29uc3Qgbm9kZUNvbmZpZyA9IGNvbmZpZyAmJiBjb25maWdbcGx1Z2luTmFtZV07XG5cbiAgICAgIG91dHB1dFN0b3JhZ2UgPSBhd2FpdCBwbHVnaW4uZXhlY3V0ZShvdXRwdXRTdG9yYWdlLCBub2RlQ29uZmlnKTtcbiAgICAgIG5vZGUuaW5wdXRzID0gb3V0cHV0U3RvcmFnZTtcblxuICAgICAgaWYgKHBhcmFtcy5jb250ZXh0LmV4cGxhaW5lcikge1xuICAgICAgICBhZGRFeHBsYWluRGF0YSh7XG4gICAgICAgICAgcGx1Z2luTmFtZSxcbiAgICAgICAgICBtZXRhZGF0YTogcGx1Z2luLm1ldGFkYXRhLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXJnZXMgZGVmYXVsdHMgd2l0aCBpbnB1dHMgYWZ0ZXIgb2JzZXJ2aW5nLlxuICAgICAqIERlZmF1bHRzIGFyZSBuZWVkZWQgdG8gYmUgbWVyZ2VkIGFmdGVyIG9ic2VydmluZyBiZWNhdXNlIG9ic2VydmluZyBjYW4gY2hhbmdlIHRoZSBpbnB1dHMuXG4gICAgICovXG4gICAgbm9kZS5pbnB1dHMgPSBtZXJnZURlZmF1bHRzKG91dHB1dFN0b3JhZ2UsIGRlZmF1bHRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBvYnNlcnZlIGlzIG5vdCByZXF1ZXN0ZWQsIHRoZW4gbWVyZ2UgZGVmYXVsdHMgd2l0aCBpbnB1dHMuXG4gICAqL1xuICBpZiAoIXBhcmFtcy5vYnNlcnZlICYmIG91dHB1dFN0b3JhZ2UubGVuZ3RoID4gMCkge1xuICAgIG91dHB1dFN0b3JhZ2UgPSBtZXJnZURlZmF1bHRzKG91dHB1dFN0b3JhZ2UsIGRlZmF1bHRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiByZWdyb3VwIGlzIHJlcXVlc3RlZCwgZXhlY3V0ZSByZWdyb3VwIHN0cmF0ZWd5LCBkZWxldGUgY2hpbGQncyBpbnB1dHMsIG91dHB1dHMgYW5kIGVtcHR5IHJlZ3JvdXAgYXJyYXkuXG4gICAqL1xuICBpZiAoKG5vRmxhZ3MgfHwgcGFyYW1zLnJlZ3JvdXApICYmIHBpcGVsaW5lQ29weS5yZWdyb3VwKSB7XG4gICAgY29uc3Qgb3JpZ2luYWxPdXRwdXRzID0gcGFyYW1zLmFwcGVuZCA/IG5vZGUub3V0cHV0cyB8fCBbXSA6IFtdO1xuXG4gICAgaWYgKCFpc1JlZ3JvdXBlZChwaXBlbGluZUNvcHkucmVncm91cCwgb3V0cHV0U3RvcmFnZSwgY2hpbGROYW1lcykpIHtcbiAgICAgIG5vZGUuY2hpbGRyZW4gPSBSZWdyb3VwKFxuICAgICAgICBvdXRwdXRTdG9yYWdlLFxuICAgICAgICBvcmlnaW5hbE91dHB1dHMsXG4gICAgICAgIHBpcGVsaW5lQ29weS5yZWdyb3VwXG4gICAgICApO1xuXG4gICAgICBkZWxldGUgbm9kZS5pbnB1dHM7XG4gICAgICBkZWxldGUgbm9kZS5vdXRwdXRzO1xuXG4gICAgICBkZWJ1Z0xvZ2dlci5zZXRFeGVjdXRpbmdQbHVnaW5OYW1lKCk7XG4gICAgICBjb25zb2xlLmRlYnVnKFJFR1JPVVBJTkcpO1xuXG4gICAgICByZXR1cm4gdHJhdmVyc2Uobm9kZS5jaGlsZHJlbiwge1xuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIHBpcGVsaW5lOiB7XG4gICAgICAgICAgLi4ucGlwZWxpbmVDb3B5LFxuICAgICAgICAgIHJlZ3JvdXA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSxcbiAgICAgICAgZGVmYXVsdHMsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmRlYnVnKFNLSVBQSU5HX1JFR1JPVVApO1xuICAgIH1cbiAgfVxuXG4gIGNvbnNvbGUuZGVidWcoJ1xcbicpO1xuXG4gIC8qKlxuICAgKiBJZiBpdGVyYXRpb24gaXMgb24gY29tcHV0ZSBwbHVnaW4sIHRoZW4gZXhlY3V0ZXMgY29tcHV0ZSBwbHVnaW5zIGFuZCBzZXRzIHRoZSBvdXRwdXRzIHZhbHVlLlxuICAgKi9cbiAgaWYgKChub0ZsYWdzIHx8IHBhcmFtcy5jb21wdXRlKSAmJiBwaXBlbGluZUNvcHkuY29tcHV0ZSkge1xuICAgIGNvbnN0IG9yaWdpbmFsT3V0cHV0cyA9IHBhcmFtcy5hcHBlbmQgPyBub2RlLm91dHB1dHMgfHwgW10gOiBbXTtcblxuICAgIHdoaWxlIChwaXBlbGluZUNvcHkuY29tcHV0ZS5sZW5ndGggIT09IDApIHtcbiAgICAgIGNvbnN0IHBsdWdpbk5hbWUgPSBwaXBlbGluZUNvcHkuY29tcHV0ZS5zaGlmdCgpIGFzIHN0cmluZztcbiAgICAgIGNvbnN0IHBsdWdpbiA9IHBhcmFtcy5wbHVnaW5TdG9yYWdlLmdldChwbHVnaW5OYW1lKTtcbiAgICAgIGNvbnN0IG5vZGVDb25maWcgPSBjb25maWcgJiYgY29uZmlnW3BsdWdpbk5hbWVdO1xuXG4gICAgICBjb25zb2xlLmRlYnVnKENPTVBVVElOR19QSVBFTElORV9GT1JfTk9ERShwbHVnaW5OYW1lKSk7XG4gICAgICBkZWJ1Z0xvZ2dlci5zZXRFeGVjdXRpbmdQbHVnaW5OYW1lKHBsdWdpbk5hbWUpO1xuXG4gICAgICAvKiogS2VlcCBwcmV2aW91cyBzdGF0ZSB0byBjaGVjayBhZnRlciBjb21wdXRhdGlvbi4gKi9cbiAgICAgIGNvbnN0IHByZXZpb3VzT3V0cHV0c1N0YXRlID0gb3V0cHV0U3RvcmFnZTtcblxuICAgICAgb3V0cHV0U3RvcmFnZSA9IGF3YWl0IHBsdWdpbi5leGVjdXRlKG91dHB1dFN0b3JhZ2UsIG5vZGVDb25maWcpO1xuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGFyZSBubyBwcmV2aW91cyBpbnB1dHMvb3V0cHV0cyAoY29tcHV0ZSBwaGFzZSBpbml0YWxpemVzIHZhbHVlcyksIHRoZW4gbWVyZ2UgZGVmYXVsdHMgd2l0aCBvdXRwdXRzIHBvc3RmYWN0dW0uXG4gICAgICAgKi9cbiAgICAgIGlmIChwcmV2aW91c091dHB1dHNTdGF0ZS5sZW5ndGggPT09IDAgJiYgb3V0cHV0U3RvcmFnZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIG91dHB1dFN0b3JhZ2UgPSBtZXJnZURlZmF1bHRzKG91dHB1dFN0b3JhZ2UsIGRlZmF1bHRzKTtcbiAgICAgIH1cblxuICAgICAgZGVidWdMb2dnZXIuc2V0RXhlY3V0aW5nUGx1Z2luTmFtZSgpO1xuXG4gICAgICBub2RlLm91dHB1dHMgPSBvdXRwdXRTdG9yYWdlO1xuXG4gICAgICBpZiAocGFyYW1zLmNvbnRleHQuZXhwbGFpbmVyKSB7XG4gICAgICAgIGFkZEV4cGxhaW5EYXRhKHtcbiAgICAgICAgICBwbHVnaW5OYW1lLFxuICAgICAgICAgIG1ldGFkYXRhOiBwbHVnaW4ubWV0YWRhdGEsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXJhbXMuYXBwZW5kKSB7XG4gICAgICBub2RlLm91dHB1dHMgPSBvcmlnaW5hbE91dHB1dHMuY29uY2F0KG5vZGUub3V0cHV0cyB8fCBbXSk7XG4gICAgfVxuICB9XG5cbiAgY29uc29sZS5kZWJ1ZygnXFxuJyk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgY29weSBvZiBleGlzdGluZyB0cmVlLCB0aGVuIGFwcGxpZXMgY29tcHV0aW5nIHN0cmF0ZWd5LlxuICovXG5leHBvcnQgY29uc3QgY29tcHV0ZSA9IGFzeW5jICh0cmVlOiBhbnksIHBhcmFtczogQ29tcHV0ZVBhcmFtcykgPT4ge1xuICBjb25zdCBjb3B5T2ZUcmVlID0gc3RydWN0dXJlZENsb25lKHRyZWUpO1xuXG4gIGF3YWl0IGNvbXB1dGVOb2RlKGNvcHlPZlRyZWUsIHBhcmFtcyk7XG5cbiAgcmV0dXJuIGNvcHlPZlRyZWU7XG59O1xuIl19
@@ -1,27 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.injectEnvironment = void 0;
4
- const luxon_1 = require("luxon");
5
4
  const os_checker_1 = require("../util/os-checker");
6
5
  const helpers_1 = require("../../common/util/helpers");
7
6
  const strings_1 = require("../config/strings");
8
7
  const packageJson = require('../../../package.json');
9
8
  const { CAPTURING_RUNTIME_ENVIRONMENT_DATA } = strings_1.STRINGS;
10
9
  /**
11
- * 1. Gets the high-resolution real time when the application starts.
12
- * 2. Converts the high-resolution time to milliseconds.
10
+ * 1. Gets the process uptime (the number of seconds the current Node.js process has been running).
11
+ * 2. Converts the uptime to milliseconds.
13
12
  * 3. Gets the current DateTime.
14
13
  * 4. Subtracts the milliseconds from the current DateTime.
15
14
  */
16
15
  const getProcessStartingTimestamp = () => {
17
- const startTime = process.hrtime();
18
- const [seconds, nanoseconds] = process.hrtime(startTime);
19
- const milliseconds = seconds * 1000 + nanoseconds / 1e6;
20
- const currentDateTime = luxon_1.DateTime.local();
21
- const applicationStartDateTime = currentDateTime.minus({
22
- milliseconds: milliseconds,
23
- });
24
- return applicationStartDateTime.toUTC().toString();
16
+ const seconds = process.uptime();
17
+ const milliseconds = seconds * 1000;
18
+ const currentDateTime = Date.now();
19
+ const applicationStartDateTime = currentDateTime - milliseconds;
20
+ return new Date(applicationStartDateTime).toISOString();
25
21
  };
26
22
  /**
27
23
  * Goes through the dependencies, converts them into oneliner.
@@ -35,11 +31,11 @@ const flattenDependencies = (dependencies) => dependencies.map(dependency => {
35
31
  return formattedString;
36
32
  });
37
33
  /**
38
- * 1. Runs `npm list --json`.
34
+ * 1. Runs `npm list --json --omit=dev`.
39
35
  * 2. Parses json data and converts to list.
40
36
  */
41
37
  const listDependencies = async () => {
42
- const { stdout } = await (0, helpers_1.execPromise)('npm list --json');
38
+ const { stdout } = await (0, helpers_1.execPromise)('npm list --json --omit=dev');
43
39
  const npmListResponse = JSON.parse(stdout);
44
40
  if (npmListResponse.dependencies) {
45
41
  const dependencies = Object.entries(npmListResponse.dependencies);
@@ -72,4 +68,4 @@ const injectEnvironment = async (manifest) => {
72
68
  };
73
69
  };
74
70
  exports.injectEnvironment = injectEnvironment;
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL2xpYi9lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBK0I7QUFFL0IsbURBQTBDO0FBQzFDLHVEQUFzRDtBQUd0RCwrQ0FBMEM7QUFHMUMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFFckQsTUFBTSxFQUFDLGtDQUFrQyxFQUFDLEdBQUcsaUJBQU8sQ0FBQztBQUVyRDs7Ozs7R0FLRztBQUNILE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxFQUFFO0lBQ3ZDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUVuQyxNQUFNLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekQsTUFBTSxZQUFZLEdBQUcsT0FBTyxHQUFHLElBQUksR0FBRyxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBRXhELE1BQU0sZUFBZSxHQUFHLGdCQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFekMsTUFBTSx3QkFBd0IsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDO1FBQ3JELFlBQVksRUFBRSxZQUFZO0tBQzNCLENBQUMsQ0FBQztJQUVILE9BQU8sd0JBQXdCLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDckQsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQUMsWUFBMkMsRUFBRSxFQUFFLENBQzFFLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7SUFDNUIsTUFBTSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDOUMsTUFBTSxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLEdBQUcsV0FBVyxDQUFDO0lBQ3BELE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDcEUsTUFBTSxZQUFZLEdBQ2hCLFFBQVEsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDakUsTUFBTSxlQUFlLEdBQUcsR0FBRyxXQUFXLElBQUksT0FBTyxHQUMvQyxZQUFZLElBQUksWUFDbEIsRUFBRSxDQUFDO0lBRUgsT0FBTyxlQUFlLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUM7QUFFTDs7O0dBR0c7QUFDSCxNQUFNLGdCQUFnQixHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ2xDLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxNQUFNLElBQUEscUJBQVcsRUFBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3RELE1BQU0sZUFBZSxHQUFvQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTVELElBQUksZUFBZSxDQUFDLFlBQVksRUFBRTtRQUNoQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVsRSxPQUFPLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQzFDO0lBRUQsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNJLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxFQUNwQyxRQUFrQixFQUNDLEVBQUU7SUFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBRWxELE1BQU0sWUFBWSxHQUFHLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQztJQUM5QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsbUJBQU0sR0FBRSxDQUFDO0lBQzVCLE1BQU0sUUFBUSxHQUFHLEdBQUcsMkJBQTJCLEVBQUUsUUFBUSxDQUFDO0lBRTFELE9BQU87UUFDTCxHQUFHLFFBQVE7UUFDWCxTQUFTLEVBQUU7WUFDVCxNQUFNLEVBQUUsU0FBUztZQUNqQixPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQy9CLFdBQVcsRUFBRTtnQkFDWCxZQUFZLEVBQUUsV0FBVyxDQUFDLE9BQU87Z0JBQ2pDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDWCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDaEMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDckMsV0FBVyxFQUFFLFFBQVE7Z0JBQ3JCLFlBQVk7YUFDYjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXhCVyxRQUFBLGlCQUFpQixxQkF3QjVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xuXG5pbXBvcnQge29zSW5mb30gZnJvbSAnLi4vdXRpbC9vcy1jaGVja2VyJztcbmltcG9ydCB7ZXhlY1Byb21pc2V9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2hlbHBlcnMnO1xuaW1wb3J0IHtNYW5pZmVzdH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzL21hbmlmZXN0JztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcvc3RyaW5ncyc7XG5pbXBvcnQge05wbUxpc3RSZXNwb25zZSwgUGFja2FnZURlcGVuZGVuY3l9IGZyb20gJy4uL3R5cGVzL2Vudmlyb25tZW50JztcblxuY29uc3QgcGFja2FnZUpzb24gPSByZXF1aXJlKCcuLi8uLi8uLi9wYWNrYWdlLmpzb24nKTtcblxuY29uc3Qge0NBUFRVUklOR19SVU5USU1FX0VOVklST05NRU5UX0RBVEF9ID0gU1RSSU5HUztcblxuLyoqXG4gKiAxLiBHZXRzIHRoZSBoaWdoLXJlc29sdXRpb24gcmVhbCB0aW1lIHdoZW4gdGhlIGFwcGxpY2F0aW9uIHN0YXJ0cy5cbiAqIDIuIENvbnZlcnRzIHRoZSBoaWdoLXJlc29sdXRpb24gdGltZSB0byBtaWxsaXNlY29uZHMuXG4gKiAzLiBHZXRzIHRoZSBjdXJyZW50IERhdGVUaW1lLlxuICogNC4gU3VidHJhY3RzIHRoZSBtaWxsaXNlY29uZHMgZnJvbSB0aGUgY3VycmVudCBEYXRlVGltZS5cbiAqL1xuY29uc3QgZ2V0UHJvY2Vzc1N0YXJ0aW5nVGltZXN0YW1wID0gKCkgPT4ge1xuICBjb25zdCBzdGFydFRpbWUgPSBwcm9jZXNzLmhydGltZSgpO1xuXG4gIGNvbnN0IFtzZWNvbmRzLCBuYW5vc2Vjb25kc10gPSBwcm9jZXNzLmhydGltZShzdGFydFRpbWUpO1xuICBjb25zdCBtaWxsaXNlY29uZHMgPSBzZWNvbmRzICogMTAwMCArIG5hbm9zZWNvbmRzIC8gMWU2O1xuXG4gIGNvbnN0IGN1cnJlbnREYXRlVGltZSA9IERhdGVUaW1lLmxvY2FsKCk7XG5cbiAgY29uc3QgYXBwbGljYXRpb25TdGFydERhdGVUaW1lID0gY3VycmVudERhdGVUaW1lLm1pbnVzKHtcbiAgICBtaWxsaXNlY29uZHM6IG1pbGxpc2Vjb25kcyxcbiAgfSk7XG5cbiAgcmV0dXJuIGFwcGxpY2F0aW9uU3RhcnREYXRlVGltZS50b1VUQygpLnRvU3RyaW5nKCk7XG59O1xuXG4vKipcbiAqIEdvZXMgdGhyb3VnaCB0aGUgZGVwZW5kZW5jaWVzLCBjb252ZXJ0cyB0aGVtIGludG8gb25lbGluZXIuXG4gKi9cbmNvbnN0IGZsYXR0ZW5EZXBlbmRlbmNpZXMgPSAoZGVwZW5kZW5jaWVzOiBbc3RyaW5nLCBQYWNrYWdlRGVwZW5kZW5jeV1bXSkgPT5cbiAgZGVwZW5kZW5jaWVzLm1hcChkZXBlbmRlbmN5ID0+IHtcbiAgICBjb25zdCBbcGFja2FnZU5hbWUsIHZlcnNpb25JbmZvXSA9IGRlcGVuZGVuY3k7XG4gICAgY29uc3Qge3ZlcnNpb24sIGV4dHJhbmVvdXMsIHJlc29sdmVkfSA9IHZlcnNpb25JbmZvO1xuICAgIGNvbnN0IGlmRXh0cmFuZW91cyA9IGV4dHJhbmVvdXMgPyBgIGV4dHJhbmVvdXMgLT4gJHtyZXNvbHZlZH1gIDogJyc7XG4gICAgY29uc3QgaWZGcm9tR2l0aHViID1cbiAgICAgIHJlc29sdmVkICYmIHJlc29sdmVkLnN0YXJ0c1dpdGgoJ2dpdCcpID8gYCAoJHtyZXNvbHZlZH0pYCA6ICcnO1xuICAgIGNvbnN0IGZvcm1hdHRlZFN0cmluZyA9IGAke3BhY2thZ2VOYW1lfUAke3ZlcnNpb259JHtcbiAgICAgIGlmRXh0cmFuZW91cyB8fCBpZkZyb21HaXRodWJcbiAgICB9YDtcblxuICAgIHJldHVybiBmb3JtYXR0ZWRTdHJpbmc7XG4gIH0pO1xuXG4vKipcbiAqIDEuIFJ1bnMgYG5wbSBsaXN0IC0tanNvbmAuXG4gKiAyLiBQYXJzZXMganNvbiBkYXRhIGFuZCBjb252ZXJ0cyB0byBsaXN0LlxuICovXG5jb25zdCBsaXN0RGVwZW5kZW5jaWVzID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWNQcm9taXNlKCducG0gbGlzdCAtLWpzb24nKTtcbiAgY29uc3QgbnBtTGlzdFJlc3BvbnNlOiBOcG1MaXN0UmVzcG9uc2UgPSBKU09OLnBhcnNlKHN0ZG91dCk7XG5cbiAgaWYgKG5wbUxpc3RSZXNwb25zZS5kZXBlbmRlbmNpZXMpIHtcbiAgICBjb25zdCBkZXBlbmRlbmNpZXMgPSBPYmplY3QuZW50cmllcyhucG1MaXN0UmVzcG9uc2UuZGVwZW5kZW5jaWVzKTtcblxuICAgIHJldHVybiBmbGF0dGVuRGVwZW5kZW5jaWVzKGRlcGVuZGVuY2llcyk7XG4gIH1cblxuICByZXR1cm4gW107XG59O1xuXG4vKipcbiAqIEluamVjdHMgZXhlY3V0aW9uIGluZm9ybWF0aW9uIChjb21tYW5kLCBlbnZpcm9ubWVudCkgdG8gZXhpc3RpbmcgbWFuaWZlc3QuXG4gKi9cbmV4cG9ydCBjb25zdCBpbmplY3RFbnZpcm9ubWVudCA9IGFzeW5jIChcbiAgbWFuaWZlc3Q6IE1hbmlmZXN0XG4pOiBQcm9taXNlPE1hbmlmZXN0PiA9PiB7XG4gIGNvbnNvbGUuZGVidWcoQ0FQVFVSSU5HX1JVTlRJTUVfRU5WSVJPTk1FTlRfREFUQSk7XG5cbiAgY29uc3QgZGVwZW5kZW5jaWVzID0gYXdhaXQgbGlzdERlcGVuZGVuY2llcygpO1xuICBjb25zdCBpbmZvID0gYXdhaXQgb3NJbmZvKCk7XG4gIGNvbnN0IGRhdGVUaW1lID0gYCR7Z2V0UHJvY2Vzc1N0YXJ0aW5nVGltZXN0YW1wKCl9IChVVEMpYDtcblxuICByZXR1cm4ge1xuICAgIC4uLm1hbmlmZXN0LFxuICAgIGV4ZWN1dGlvbjoge1xuICAgICAgc3RhdHVzOiAnc3VjY2VzcycsXG4gICAgICBjb21tYW5kOiBwcm9jZXNzLmFyZ3Yuam9pbignICcpLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgJ2lmLXZlcnNpb24nOiBwYWNrYWdlSnNvbi52ZXJzaW9uLFxuICAgICAgICBvczogaW5mby5vcyxcbiAgICAgICAgJ29zLXZlcnNpb24nOiBpbmZvWydvcy12ZXJzaW9uJ10sXG4gICAgICAgICdub2RlLXZlcnNpb24nOiBwcm9jZXNzLnZlcnNpb25zLm5vZGUsXG4gICAgICAgICdkYXRlLXRpbWUnOiBkYXRlVGltZSxcbiAgICAgICAgZGVwZW5kZW5jaWVzLFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xufTtcbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL2xpYi9lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBMEM7QUFDMUMsdURBQXNEO0FBR3RELCtDQUEwQztBQUcxQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUVyRCxNQUFNLEVBQUMsa0NBQWtDLEVBQUMsR0FBRyxpQkFBTyxDQUFDO0FBRXJEOzs7OztHQUtHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLEVBQUU7SUFDdkMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2pDLE1BQU0sWUFBWSxHQUFHLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFFcEMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRW5DLE1BQU0sd0JBQXdCLEdBQUcsZUFBZSxHQUFHLFlBQVksQ0FBQztJQUVoRSxPQUFPLElBQUksSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDMUQsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQUMsWUFBMkMsRUFBRSxFQUFFLENBQzFFLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7SUFDNUIsTUFBTSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDOUMsTUFBTSxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLEdBQUcsV0FBVyxDQUFDO0lBQ3BELE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDcEUsTUFBTSxZQUFZLEdBQ2hCLFFBQVEsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDakUsTUFBTSxlQUFlLEdBQUcsR0FBRyxXQUFXLElBQUksT0FBTyxHQUMvQyxZQUFZLElBQUksWUFDbEIsRUFBRSxDQUFDO0lBRUgsT0FBTyxlQUFlLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUM7QUFFTDs7O0dBR0c7QUFDSCxNQUFNLGdCQUFnQixHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ2xDLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxNQUFNLElBQUEscUJBQVcsRUFBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sZUFBZSxHQUFvQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTVELElBQUksZUFBZSxDQUFDLFlBQVksRUFBRTtRQUNoQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVsRSxPQUFPLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQzFDO0lBRUQsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNJLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxFQUNwQyxRQUFrQixFQUNDLEVBQUU7SUFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBRWxELE1BQU0sWUFBWSxHQUFHLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQztJQUM5QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsbUJBQU0sR0FBRSxDQUFDO0lBQzVCLE1BQU0sUUFBUSxHQUFHLEdBQUcsMkJBQTJCLEVBQUUsUUFBUSxDQUFDO0lBRTFELE9BQU87UUFDTCxHQUFHLFFBQVE7UUFDWCxTQUFTLEVBQUU7WUFDVCxNQUFNLEVBQUUsU0FBUztZQUNqQixPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQy9CLFdBQVcsRUFBRTtnQkFDWCxZQUFZLEVBQUUsV0FBVyxDQUFDLE9BQU87Z0JBQ2pDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDWCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDaEMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDckMsV0FBVyxFQUFFLFFBQVE7Z0JBQ3JCLFlBQVk7YUFDYjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXhCVyxRQUFBLGlCQUFpQixxQkF3QjVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtvc0luZm99IGZyb20gJy4uL3V0aWwvb3MtY2hlY2tlcic7XG5pbXBvcnQge2V4ZWNQcm9taXNlfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9oZWxwZXJzJztcbmltcG9ydCB7TWFuaWZlc3R9IGZyb20gJy4uLy4uL2NvbW1vbi90eXBlcy9tYW5pZmVzdCc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnL3N0cmluZ3MnO1xuaW1wb3J0IHtOcG1MaXN0UmVzcG9uc2UsIFBhY2thZ2VEZXBlbmRlbmN5fSBmcm9tICcuLi90eXBlcy9lbnZpcm9ubWVudCc7XG5cbmNvbnN0IHBhY2thZ2VKc29uID0gcmVxdWlyZSgnLi4vLi4vLi4vcGFja2FnZS5qc29uJyk7XG5cbmNvbnN0IHtDQVBUVVJJTkdfUlVOVElNRV9FTlZJUk9OTUVOVF9EQVRBfSA9IFNUUklOR1M7XG5cbi8qKlxuICogMS4gR2V0cyB0aGUgcHJvY2VzcyB1cHRpbWUgKHRoZSBudW1iZXIgb2Ygc2Vjb25kcyB0aGUgY3VycmVudCBOb2RlLmpzIHByb2Nlc3MgaGFzIGJlZW4gcnVubmluZykuXG4gKiAyLiBDb252ZXJ0cyB0aGUgdXB0aW1lIHRvIG1pbGxpc2Vjb25kcy5cbiAqIDMuIEdldHMgdGhlIGN1cnJlbnQgRGF0ZVRpbWUuXG4gKiA0LiBTdWJ0cmFjdHMgdGhlIG1pbGxpc2Vjb25kcyBmcm9tIHRoZSBjdXJyZW50IERhdGVUaW1lLlxuICovXG5jb25zdCBnZXRQcm9jZXNzU3RhcnRpbmdUaW1lc3RhbXAgPSAoKSA9PiB7XG4gIGNvbnN0IHNlY29uZHMgPSBwcm9jZXNzLnVwdGltZSgpO1xuICBjb25zdCBtaWxsaXNlY29uZHMgPSBzZWNvbmRzICogMTAwMDtcblxuICBjb25zdCBjdXJyZW50RGF0ZVRpbWUgPSBEYXRlLm5vdygpO1xuXG4gIGNvbnN0IGFwcGxpY2F0aW9uU3RhcnREYXRlVGltZSA9IGN1cnJlbnREYXRlVGltZSAtIG1pbGxpc2Vjb25kcztcblxuICByZXR1cm4gbmV3IERhdGUoYXBwbGljYXRpb25TdGFydERhdGVUaW1lKS50b0lTT1N0cmluZygpO1xufTtcblxuLyoqXG4gKiBHb2VzIHRocm91Z2ggdGhlIGRlcGVuZGVuY2llcywgY29udmVydHMgdGhlbSBpbnRvIG9uZWxpbmVyLlxuICovXG5jb25zdCBmbGF0dGVuRGVwZW5kZW5jaWVzID0gKGRlcGVuZGVuY2llczogW3N0cmluZywgUGFja2FnZURlcGVuZGVuY3ldW10pID0+XG4gIGRlcGVuZGVuY2llcy5tYXAoZGVwZW5kZW5jeSA9PiB7XG4gICAgY29uc3QgW3BhY2thZ2VOYW1lLCB2ZXJzaW9uSW5mb10gPSBkZXBlbmRlbmN5O1xuICAgIGNvbnN0IHt2ZXJzaW9uLCBleHRyYW5lb3VzLCByZXNvbHZlZH0gPSB2ZXJzaW9uSW5mbztcbiAgICBjb25zdCBpZkV4dHJhbmVvdXMgPSBleHRyYW5lb3VzID8gYCBleHRyYW5lb3VzIC0+ICR7cmVzb2x2ZWR9YCA6ICcnO1xuICAgIGNvbnN0IGlmRnJvbUdpdGh1YiA9XG4gICAgICByZXNvbHZlZCAmJiByZXNvbHZlZC5zdGFydHNXaXRoKCdnaXQnKSA/IGAgKCR7cmVzb2x2ZWR9KWAgOiAnJztcbiAgICBjb25zdCBmb3JtYXR0ZWRTdHJpbmcgPSBgJHtwYWNrYWdlTmFtZX1AJHt2ZXJzaW9ufSR7XG4gICAgICBpZkV4dHJhbmVvdXMgfHwgaWZGcm9tR2l0aHViXG4gICAgfWA7XG5cbiAgICByZXR1cm4gZm9ybWF0dGVkU3RyaW5nO1xuICB9KTtcblxuLyoqXG4gKiAxLiBSdW5zIGBucG0gbGlzdCAtLWpzb24gLS1vbWl0PWRldmAuXG4gKiAyLiBQYXJzZXMganNvbiBkYXRhIGFuZCBjb252ZXJ0cyB0byBsaXN0LlxuICovXG5jb25zdCBsaXN0RGVwZW5kZW5jaWVzID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWNQcm9taXNlKCducG0gbGlzdCAtLWpzb24gLS1vbWl0PWRldicpO1xuICBjb25zdCBucG1MaXN0UmVzcG9uc2U6IE5wbUxpc3RSZXNwb25zZSA9IEpTT04ucGFyc2Uoc3Rkb3V0KTtcblxuICBpZiAobnBtTGlzdFJlc3BvbnNlLmRlcGVuZGVuY2llcykge1xuICAgIGNvbnN0IGRlcGVuZGVuY2llcyA9IE9iamVjdC5lbnRyaWVzKG5wbUxpc3RSZXNwb25zZS5kZXBlbmRlbmNpZXMpO1xuXG4gICAgcmV0dXJuIGZsYXR0ZW5EZXBlbmRlbmNpZXMoZGVwZW5kZW5jaWVzKTtcbiAgfVxuXG4gIHJldHVybiBbXTtcbn07XG5cbi8qKlxuICogSW5qZWN0cyBleGVjdXRpb24gaW5mb3JtYXRpb24gKGNvbW1hbmQsIGVudmlyb25tZW50KSB0byBleGlzdGluZyBtYW5pZmVzdC5cbiAqL1xuZXhwb3J0IGNvbnN0IGluamVjdEVudmlyb25tZW50ID0gYXN5bmMgKFxuICBtYW5pZmVzdDogTWFuaWZlc3Rcbik6IFByb21pc2U8TWFuaWZlc3Q+ID0+IHtcbiAgY29uc29sZS5kZWJ1ZyhDQVBUVVJJTkdfUlVOVElNRV9FTlZJUk9OTUVOVF9EQVRBKTtcblxuICBjb25zdCBkZXBlbmRlbmNpZXMgPSBhd2FpdCBsaXN0RGVwZW5kZW5jaWVzKCk7XG4gIGNvbnN0IGluZm8gPSBhd2FpdCBvc0luZm8oKTtcbiAgY29uc3QgZGF0ZVRpbWUgPSBgJHtnZXRQcm9jZXNzU3RhcnRpbmdUaW1lc3RhbXAoKX0gKFVUQylgO1xuXG4gIHJldHVybiB7XG4gICAgLi4ubWFuaWZlc3QsXG4gICAgZXhlY3V0aW9uOiB7XG4gICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgIGNvbW1hbmQ6IHByb2Nlc3MuYXJndi5qb2luKCcgJyksXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAnaWYtdmVyc2lvbic6IHBhY2thZ2VKc29uLnZlcnNpb24sXG4gICAgICAgIG9zOiBpbmZvLm9zLFxuICAgICAgICAnb3MtdmVyc2lvbic6IGluZm9bJ29zLXZlcnNpb24nXSxcbiAgICAgICAgJ25vZGUtdmVyc2lvbic6IHByb2Nlc3MudmVyc2lvbnMubm9kZSxcbiAgICAgICAgJ2RhdGUtdGltZSc6IGRhdGVUaW1lLFxuICAgICAgICBkZXBlbmRlbmNpZXMsXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG59O1xuIl19
@@ -16,9 +16,9 @@ const helpers_1 = require("../../common/util/helpers");
16
16
  * Parses os and os-version from the response.
17
17
  */
18
18
  const getLinuxInfo = async () => {
19
- const { stdout } = await (0, helpers_1.execPromise)('lsb_release -a');
19
+ const { stdout } = await (0, helpers_1.execFilePromise)('lsb_release', ['-id']);
20
20
  const parseLinuxVersion = (lsbReleaseResponse) => {
21
- const regex = /Distributor ID: ([^\n]+)\nDescription: +([^ ]+) +([^ ]+) +(.+)\n/;
21
+ const regex = /^Distributor ID:\t(.+)\nDescription:\t([^ ]+) +([^ ]+) +(.+)$/m;
22
22
  const match = lsbReleaseResponse.match(regex);
23
23
  return {
24
24
  os: match ? match[1] : (0, os_1.platform)(),
@@ -28,23 +28,27 @@ const getLinuxInfo = async () => {
28
28
  return parseLinuxVersion(stdout);
29
29
  };
30
30
  /**
31
- * Executes in CMD `systeminfo | findstr /B /C:"OS Name" /B /C:"OS Version"` command.
31
+ * Executes in CMD `powershell -Command "Get-WmiObject Win32_OperatingSystem | Format-List -Property Caption, Version, BuildNumber"` command.
32
32
  *
33
33
  * ```
34
- * OS Name: Microsoft Windows 11 Enterprise
35
- * OS Version: 10.0.22631 N/A Build 22631
34
+ * Caption : Microsoft Windows 11 Enterprise\r
35
+ * Version : 10.0.22631\r
36
+ * BuildNumber : 22631\r
36
37
  * ```
37
38
  *
38
39
  * Parses os and os-version from the response.
39
40
  */
40
41
  const getWindowsInfo = async () => {
41
- const { stdout } = await (0, helpers_1.execPromise)('systeminfo | findstr /B /C:"OS Name" /B /C:"OS Version"');
42
+ const { stdout } = await (0, helpers_1.execFilePromise)('powershell', [
43
+ '-Command',
44
+ 'Get-WmiObject Win32_OperatingSystem | Format-List -Property Caption, Version, BuildNumber',
45
+ ]);
42
46
  const parseWindowsInfo = (systemInfoResponse) => {
43
- const regex = /OS Name:\s+([^\n]+)\nOS Version:\s+([\d.]+)\s+(N\/A\s+Build\s+(\d+))/;
47
+ const regex = /^Caption\s*:\s*(.*)\r?\nVersion\s*:\s*(.*)\r?\nBuildNumber\s*:\s*(.*)$/m;
44
48
  const match = systemInfoResponse.match(regex);
45
49
  return {
46
50
  os: match ? match[1] : (0, os_1.platform)(),
47
- 'os-version': match ? `${match[2]} ${match[3]}` : (0, os_1.release)(),
51
+ 'os-version': match ? `${match[2]} N/A Build ${match[3]}` : (0, os_1.release)(),
48
52
  };
49
53
  };
50
54
  return parseWindowsInfo(stdout);
@@ -61,7 +65,7 @@ const getWindowsInfo = async () => {
61
65
  * Parses os and os version from the response.
62
66
  */
63
67
  const getMacVersion = async () => {
64
- const { stdout } = await (0, helpers_1.execPromise)('sw_vers');
68
+ const { stdout } = await (0, helpers_1.execFilePromise)('sw_vers');
65
69
  const parseMacInfo = (swVersResponse) => {
66
70
  const productNameRegex = /ProductName:\s*(.+)/;
67
71
  const productVersionRegex = /ProductVersion:\s*(.+)/;
@@ -94,4 +98,4 @@ const osInfo = async () => {
94
98
  }
95
99
  };
96
100
  exports.osInfo = osInfo;
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3MtY2hlY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vdXRpbC9vcy1jaGVja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUFxQztBQUVyQyx1REFBc0Q7QUFFdEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFlBQVksR0FBRyxLQUFLLElBQUksRUFBRTtJQUM5QixNQUFNLEVBQUMsTUFBTSxFQUFDLEdBQUcsTUFBTSxJQUFBLHFCQUFXLEVBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVyRCxNQUFNLGlCQUFpQixHQUFHLENBQUMsa0JBQTBCLEVBQUUsRUFBRTtRQUN2RCxNQUFNLEtBQUssR0FDVCxrRUFBa0UsQ0FBQztRQUNyRSxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUMsT0FBTztZQUNMLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxhQUFRLEdBQUU7WUFDakMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUEsWUFBTyxHQUFFO1NBQzVELENBQUM7SUFDSixDQUFDLENBQUM7SUFFRixPQUFPLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sY0FBYyxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ2hDLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxNQUFNLElBQUEscUJBQVcsRUFDaEMseURBQXlELENBQzFELENBQUM7SUFFRixNQUFNLGdCQUFnQixHQUFHLENBQUMsa0JBQTBCLEVBQUUsRUFBRTtRQUN0RCxNQUFNLEtBQUssR0FDVCxzRUFBc0UsQ0FBQztRQUN6RSxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUMsT0FBTztZQUNMLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxhQUFRLEdBQUU7WUFDakMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUEsWUFBTyxHQUFFO1NBQzVELENBQUM7SUFDSixDQUFDLENBQUM7SUFFRixPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLGFBQWEsR0FBRyxLQUFLLElBQUksRUFBRTtJQUMvQixNQUFNLEVBQUMsTUFBTSxFQUFDLEdBQUcsTUFBTSxJQUFBLHFCQUFXLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFFOUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxjQUFzQixFQUFFLEVBQUU7UUFDOUMsTUFBTSxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBQztRQUMvQyxNQUFNLG1CQUFtQixHQUFHLHdCQUF3QixDQUFDO1FBRXJELE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFL0QsT0FBTztZQUNMLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBQSxhQUFRLEdBQUU7WUFDaEQsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFBLFlBQU8sR0FBRTtTQUNoRSxDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUYsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLE1BQU0sR0FBRyxLQUFLLElBQUksRUFBRTtJQUMvQixNQUFNLE1BQU0sR0FBRyxJQUFBLGFBQVEsR0FBRSxDQUFDO0lBRTFCLFFBQVEsTUFBTSxFQUFFO1FBQ2QsS0FBSyxRQUFRO1lBQ1gsT0FBTyxhQUFhLEVBQUUsQ0FBQztRQUN6QixLQUFLLE9BQU87WUFDVixPQUFPLFlBQVksRUFBRSxDQUFDO1FBQ3hCLEtBQUssT0FBTztZQUNWLE9BQU8sY0FBYyxFQUFFLENBQUM7UUFDMUI7WUFDRSxPQUFPO2dCQUNMLEVBQUUsRUFBRSxNQUFNO2dCQUNWLFlBQVksRUFBRSxJQUFBLFlBQU8sR0FBRTthQUN4QixDQUFDO0tBQ0w7QUFDSCxDQUFDLENBQUM7QUFoQlcsUUFBQSxNQUFNLFVBZ0JqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7cmVsZWFzZSwgcGxhdGZvcm19IGZyb20gJ29zJztcblxuaW1wb3J0IHtleGVjUHJvbWlzZX0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvaGVscGVycyc7XG5cbi8qKlxuICogRXhlY3V0ZXMgYGxzYl9yZWxlYXNlIC1hYCBjb21tYW5kIGluIHRlcm1pbmFsLlxuICpcbiAqIGBgYFxuICogRGlzdHJpYnV0b3IgSUQ6IFVidW50dVxuICogRGVzY3JpcHRpb246ICAgIFVidW50dSAyMi4wNC40IExUU1xuICogUmVsZWFzZTogICAgICAgIDIyLjA0XG4gKiBDb2RlbmFtZTogICAgICAgamFtbXlcbiAqIGBgYFxuICpcbiAqIFBhcnNlcyBvcyBhbmQgb3MtdmVyc2lvbiBmcm9tIHRoZSByZXNwb25zZS5cbiAqL1xuY29uc3QgZ2V0TGludXhJbmZvID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWNQcm9taXNlKCdsc2JfcmVsZWFzZSAtYScpO1xuXG4gIGNvbnN0IHBhcnNlTGludXhWZXJzaW9uID0gKGxzYlJlbGVhc2VSZXNwb25zZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcmVnZXggPVxuICAgICAgL0Rpc3RyaWJ1dG9yIElEOiAoW15cXG5dKylcXG5EZXNjcmlwdGlvbjogKyhbXiBdKykgKyhbXiBdKykgKyguKylcXG4vO1xuICAgIGNvbnN0IG1hdGNoID0gbHNiUmVsZWFzZVJlc3BvbnNlLm1hdGNoKHJlZ2V4KTtcblxuICAgIHJldHVybiB7XG4gICAgICBvczogbWF0Y2ggPyBtYXRjaFsxXSA6IHBsYXRmb3JtKCksXG4gICAgICAnb3MtdmVyc2lvbic6IG1hdGNoID8gYCR7bWF0Y2hbM119ICR7bWF0Y2hbNF19YCA6IHJlbGVhc2UoKSxcbiAgICB9O1xuICB9O1xuXG4gIHJldHVybiBwYXJzZUxpbnV4VmVyc2lvbihzdGRvdXQpO1xufTtcblxuLyoqXG4gKiBFeGVjdXRlcyBpbiBDTUQgYHN5c3RlbWluZm8gfCBmaW5kc3RyIC9CIC9DOlwiT1MgTmFtZVwiIC9CIC9DOlwiT1MgVmVyc2lvblwiYCBjb21tYW5kLlxuICpcbiAqIGBgYFxuICogT1MgTmFtZTogICAgICAgICAgICAgICAgICAgTWljcm9zb2Z0IFdpbmRvd3MgMTEgRW50ZXJwcmlzZVxuICogT1MgVmVyc2lvbjogICAgICAgICAgICAgICAgMTAuMC4yMjYzMSBOL0EgQnVpbGQgMjI2MzFcbiAqIGBgYFxuICpcbiAqIFBhcnNlcyBvcyBhbmQgb3MtdmVyc2lvbiBmcm9tIHRoZSByZXNwb25zZS5cbiAqL1xuY29uc3QgZ2V0V2luZG93c0luZm8gPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgZXhlY1Byb21pc2UoXG4gICAgJ3N5c3RlbWluZm8gfCBmaW5kc3RyIC9CIC9DOlwiT1MgTmFtZVwiIC9CIC9DOlwiT1MgVmVyc2lvblwiJ1xuICApO1xuXG4gIGNvbnN0IHBhcnNlV2luZG93c0luZm8gPSAoc3lzdGVtSW5mb1Jlc3BvbnNlOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCByZWdleCA9XG4gICAgICAvT1MgTmFtZTpcXHMrKFteXFxuXSspXFxuT1MgVmVyc2lvbjpcXHMrKFtcXGQuXSspXFxzKyhOXFwvQVxccytCdWlsZFxccysoXFxkKykpLztcbiAgICBjb25zdCBtYXRjaCA9IHN5c3RlbUluZm9SZXNwb25zZS5tYXRjaChyZWdleCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3M6IG1hdGNoID8gbWF0Y2hbMV0gOiBwbGF0Zm9ybSgpLFxuICAgICAgJ29zLXZlcnNpb24nOiBtYXRjaCA/IGAke21hdGNoWzJdfSAke21hdGNoWzNdfWAgOiByZWxlYXNlKCksXG4gICAgfTtcbiAgfTtcblxuICByZXR1cm4gcGFyc2VXaW5kb3dzSW5mbyhzdGRvdXQpO1xufTtcblxuLyoqXG4gKiBFeGVjdXRlcyBgc3dfdmVyc2AgY29tbWFuZCBpbiB0ZXJtaW5hbC5cbiAqXG4gKiBgYGBcbiAqIFByb2R1Y3ROYW1lOiAgICAgIG1hY09TXG4gKiBQcm9kdWN0VmVyc2lvbjogICAxNC4zLjFcbiAqIEJ1aWxkVmVyc2lvbjogICAgIDIzRDYwXG4gKiBgYGBcbiAqXG4gKiBQYXJzZXMgb3MgYW5kIG9zIHZlcnNpb24gZnJvbSB0aGUgcmVzcG9uc2UuXG4gKi9cbmNvbnN0IGdldE1hY1ZlcnNpb24gPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgZXhlY1Byb21pc2UoJ3N3X3ZlcnMnKTtcblxuICBjb25zdCBwYXJzZU1hY0luZm8gPSAoc3dWZXJzUmVzcG9uc2U6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHByb2R1Y3ROYW1lUmVnZXggPSAvUHJvZHVjdE5hbWU6XFxzKiguKykvO1xuICAgIGNvbnN0IHByb2R1Y3RWZXJzaW9uUmVnZXggPSAvUHJvZHVjdFZlcnNpb246XFxzKiguKykvO1xuXG4gICAgY29uc3QgbmFtZU1hdGNoID0gc3dWZXJzUmVzcG9uc2UubWF0Y2gocHJvZHVjdE5hbWVSZWdleCk7XG4gICAgY29uc3QgdmVyc2lvbk1hdGNoID0gc3dWZXJzUmVzcG9uc2UubWF0Y2gocHJvZHVjdFZlcnNpb25SZWdleCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3M6IG5hbWVNYXRjaCA/IG5hbWVNYXRjaFsxXS50cmltKCkgOiBwbGF0Zm9ybSgpLFxuICAgICAgJ29zLXZlcnNpb24nOiB2ZXJzaW9uTWF0Y2ggPyB2ZXJzaW9uTWF0Y2hbMV0udHJpbSgpIDogcmVsZWFzZSgpLFxuICAgIH07XG4gIH07XG5cbiAgcmV0dXJuIHBhcnNlTWFjSW5mbyhzdGRvdXQpO1xufTtcblxuLyoqXG4gKiBGaW5kcyBvcGVyYXRpbmcgc3lzdGVtIGluZm9ybWF0aW9uIGxpa2UgbmFtZSBhbmQgdmVyc2lvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IG9zSW5mbyA9IGFzeW5jICgpID0+IHtcbiAgY29uc3Qgb3NLaW5kID0gcGxhdGZvcm0oKTtcblxuICBzd2l0Y2ggKG9zS2luZCkge1xuICAgIGNhc2UgJ2Rhcndpbic6XG4gICAgICByZXR1cm4gZ2V0TWFjVmVyc2lvbigpO1xuICAgIGNhc2UgJ2xpbnV4JzpcbiAgICAgIHJldHVybiBnZXRMaW51eEluZm8oKTtcbiAgICBjYXNlICd3aW4zMic6XG4gICAgICByZXR1cm4gZ2V0V2luZG93c0luZm8oKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3M6IG9zS2luZCxcbiAgICAgICAgJ29zLXZlcnNpb24nOiByZWxlYXNlKCksXG4gICAgICB9O1xuICB9XG59O1xuIl19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3MtY2hlY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vdXRpbC9vcy1jaGVja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUFxQztBQUVyQyx1REFBMEQ7QUFFMUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFlBQVksR0FBRyxLQUFLLElBQUksRUFBRTtJQUM5QixNQUFNLEVBQUMsTUFBTSxFQUFDLEdBQUcsTUFBTSxJQUFBLHlCQUFlLEVBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUUvRCxNQUFNLGlCQUFpQixHQUFHLENBQUMsa0JBQTBCLEVBQUUsRUFBRTtRQUN2RCxNQUFNLEtBQUssR0FDVCxnRUFBZ0UsQ0FBQztRQUNuRSxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUMsT0FBTztZQUNMLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxhQUFRLEdBQUU7WUFDakMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUEsWUFBTyxHQUFFO1NBQzVELENBQUM7SUFDSixDQUFDLENBQUM7SUFFRixPQUFPLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLGNBQWMsR0FBRyxLQUFLLElBQUksRUFBRTtJQUNoQyxNQUFNLEVBQUMsTUFBTSxFQUFDLEdBQUcsTUFBTSxJQUFBLHlCQUFlLEVBQUMsWUFBWSxFQUFFO1FBQ25ELFVBQVU7UUFDViwyRkFBMkY7S0FDNUYsQ0FBQyxDQUFDO0lBRUgsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLGtCQUEwQixFQUFFLEVBQUU7UUFDdEQsTUFBTSxLQUFLLEdBQ1QseUVBQXlFLENBQUM7UUFDNUUsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLE9BQU87WUFDTCxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEsYUFBUSxHQUFFO1lBQ2pDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFBLFlBQU8sR0FBRTtTQUN0RSxDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUYsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDL0IsTUFBTSxFQUFDLE1BQU0sRUFBQyxHQUFHLE1BQU0sSUFBQSx5QkFBZSxFQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRWxELE1BQU0sWUFBWSxHQUFHLENBQUMsY0FBc0IsRUFBRSxFQUFFO1FBQzlDLE1BQU0sZ0JBQWdCLEdBQUcscUJBQXFCLENBQUM7UUFDL0MsTUFBTSxtQkFBbUIsR0FBRyx3QkFBd0IsQ0FBQztRQUVyRCxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRS9ELE9BQU87WUFDTCxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUEsYUFBUSxHQUFFO1lBQ2hELFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBQSxZQUFPLEdBQUU7U0FDaEUsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUVGLE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxNQUFNLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDL0IsTUFBTSxNQUFNLEdBQUcsSUFBQSxhQUFRLEdBQUUsQ0FBQztJQUUxQixRQUFRLE1BQU0sRUFBRTtRQUNkLEtBQUssUUFBUTtZQUNYLE9BQU8sYUFBYSxFQUFFLENBQUM7UUFDekIsS0FBSyxPQUFPO1lBQ1YsT0FBTyxZQUFZLEVBQUUsQ0FBQztRQUN4QixLQUFLLE9BQU87WUFDVixPQUFPLGNBQWMsRUFBRSxDQUFDO1FBQzFCO1lBQ0UsT0FBTztnQkFDTCxFQUFFLEVBQUUsTUFBTTtnQkFDVixZQUFZLEVBQUUsSUFBQSxZQUFPLEdBQUU7YUFDeEIsQ0FBQztLQUNMO0FBQ0gsQ0FBQyxDQUFDO0FBaEJXLFFBQUEsTUFBTSxVQWdCakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3JlbGVhc2UsIHBsYXRmb3JtfSBmcm9tICdvcyc7XG5cbmltcG9ydCB7ZXhlY0ZpbGVQcm9taXNlfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9oZWxwZXJzJztcblxuLyoqXG4gKiBFeGVjdXRlcyBgbHNiX3JlbGVhc2UgLWFgIGNvbW1hbmQgaW4gdGVybWluYWwuXG4gKlxuICogYGBgXG4gKiBEaXN0cmlidXRvciBJRDogVWJ1bnR1XG4gKiBEZXNjcmlwdGlvbjogICAgVWJ1bnR1IDIyLjA0LjQgTFRTXG4gKiBSZWxlYXNlOiAgICAgICAgMjIuMDRcbiAqIENvZGVuYW1lOiAgICAgICBqYW1teVxuICogYGBgXG4gKlxuICogUGFyc2VzIG9zIGFuZCBvcy12ZXJzaW9uIGZyb20gdGhlIHJlc3BvbnNlLlxuICovXG5jb25zdCBnZXRMaW51eEluZm8gPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgZXhlY0ZpbGVQcm9taXNlKCdsc2JfcmVsZWFzZScsIFsnLWlkJ10pO1xuXG4gIGNvbnN0IHBhcnNlTGludXhWZXJzaW9uID0gKGxzYlJlbGVhc2VSZXNwb25zZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcmVnZXggPVxuICAgICAgL15EaXN0cmlidXRvciBJRDpcXHQoLispXFxuRGVzY3JpcHRpb246XFx0KFteIF0rKSArKFteIF0rKSArKC4rKSQvbTtcbiAgICBjb25zdCBtYXRjaCA9IGxzYlJlbGVhc2VSZXNwb25zZS5tYXRjaChyZWdleCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3M6IG1hdGNoID8gbWF0Y2hbMV0gOiBwbGF0Zm9ybSgpLFxuICAgICAgJ29zLXZlcnNpb24nOiBtYXRjaCA/IGAke21hdGNoWzNdfSAke21hdGNoWzRdfWAgOiByZWxlYXNlKCksXG4gICAgfTtcbiAgfTtcblxuICByZXR1cm4gcGFyc2VMaW51eFZlcnNpb24oc3Rkb3V0KTtcbn07XG5cbi8qKlxuICogRXhlY3V0ZXMgaW4gQ01EIGBwb3dlcnNoZWxsIC1Db21tYW5kIFwiR2V0LVdtaU9iamVjdCBXaW4zMl9PcGVyYXRpbmdTeXN0ZW0gfCBGb3JtYXQtTGlzdCAtUHJvcGVydHkgQ2FwdGlvbiwgVmVyc2lvbiwgQnVpbGROdW1iZXJcImAgY29tbWFuZC5cbiAqXG4gKiBgYGBcbiAqIENhcHRpb24gICAgIDogTWljcm9zb2Z0IFdpbmRvd3MgMTEgRW50ZXJwcmlzZVxcclxuICogVmVyc2lvbiAgICAgOiAxMC4wLjIyNjMxXFxyXG4gKiBCdWlsZE51bWJlciA6IDIyNjMxXFxyXG4gKiBgYGBcbiAqXG4gKiBQYXJzZXMgb3MgYW5kIG9zLXZlcnNpb24gZnJvbSB0aGUgcmVzcG9uc2UuXG4gKi9cbmNvbnN0IGdldFdpbmRvd3NJbmZvID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWNGaWxlUHJvbWlzZSgncG93ZXJzaGVsbCcsIFtcbiAgICAnLUNvbW1hbmQnLFxuICAgICdHZXQtV21pT2JqZWN0IFdpbjMyX09wZXJhdGluZ1N5c3RlbSB8IEZvcm1hdC1MaXN0IC1Qcm9wZXJ0eSBDYXB0aW9uLCBWZXJzaW9uLCBCdWlsZE51bWJlcicsXG4gIF0pO1xuXG4gIGNvbnN0IHBhcnNlV2luZG93c0luZm8gPSAoc3lzdGVtSW5mb1Jlc3BvbnNlOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCByZWdleCA9XG4gICAgICAvXkNhcHRpb25cXHMqOlxccyooLiopXFxyP1xcblZlcnNpb25cXHMqOlxccyooLiopXFxyP1xcbkJ1aWxkTnVtYmVyXFxzKjpcXHMqKC4qKSQvbTtcbiAgICBjb25zdCBtYXRjaCA9IHN5c3RlbUluZm9SZXNwb25zZS5tYXRjaChyZWdleCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3M6IG1hdGNoID8gbWF0Y2hbMV0gOiBwbGF0Zm9ybSgpLFxuICAgICAgJ29zLXZlcnNpb24nOiBtYXRjaCA/IGAke21hdGNoWzJdfSBOL0EgQnVpbGQgJHttYXRjaFszXX1gIDogcmVsZWFzZSgpLFxuICAgIH07XG4gIH07XG5cbiAgcmV0dXJuIHBhcnNlV2luZG93c0luZm8oc3Rkb3V0KTtcbn07XG5cbi8qKlxuICogRXhlY3V0ZXMgYHN3X3ZlcnNgIGNvbW1hbmQgaW4gdGVybWluYWwuXG4gKlxuICogYGBgXG4gKiBQcm9kdWN0TmFtZTogICAgICBtYWNPU1xuICogUHJvZHVjdFZlcnNpb246ICAgMTQuMy4xXG4gKiBCdWlsZFZlcnNpb246ICAgICAyM0Q2MFxuICogYGBgXG4gKlxuICogUGFyc2VzIG9zIGFuZCBvcyB2ZXJzaW9uIGZyb20gdGhlIHJlc3BvbnNlLlxuICovXG5jb25zdCBnZXRNYWNWZXJzaW9uID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWNGaWxlUHJvbWlzZSgnc3dfdmVycycpO1xuXG4gIGNvbnN0IHBhcnNlTWFjSW5mbyA9IChzd1ZlcnNSZXNwb25zZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcHJvZHVjdE5hbWVSZWdleCA9IC9Qcm9kdWN0TmFtZTpcXHMqKC4rKS87XG4gICAgY29uc3QgcHJvZHVjdFZlcnNpb25SZWdleCA9IC9Qcm9kdWN0VmVyc2lvbjpcXHMqKC4rKS87XG5cbiAgICBjb25zdCBuYW1lTWF0Y2ggPSBzd1ZlcnNSZXNwb25zZS5tYXRjaChwcm9kdWN0TmFtZVJlZ2V4KTtcbiAgICBjb25zdCB2ZXJzaW9uTWF0Y2ggPSBzd1ZlcnNSZXNwb25zZS5tYXRjaChwcm9kdWN0VmVyc2lvblJlZ2V4KTtcblxuICAgIHJldHVybiB7XG4gICAgICBvczogbmFtZU1hdGNoID8gbmFtZU1hdGNoWzFdLnRyaW0oKSA6IHBsYXRmb3JtKCksXG4gICAgICAnb3MtdmVyc2lvbic6IHZlcnNpb25NYXRjaCA/IHZlcnNpb25NYXRjaFsxXS50cmltKCkgOiByZWxlYXNlKCksXG4gICAgfTtcbiAgfTtcblxuICByZXR1cm4gcGFyc2VNYWNJbmZvKHN0ZG91dCk7XG59O1xuXG4vKipcbiAqIEZpbmRzIG9wZXJhdGluZyBzeXN0ZW0gaW5mb3JtYXRpb24gbGlrZSBuYW1lIGFuZCB2ZXJzaW9uLlxuICovXG5leHBvcnQgY29uc3Qgb3NJbmZvID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCBvc0tpbmQgPSBwbGF0Zm9ybSgpO1xuXG4gIHN3aXRjaCAob3NLaW5kKSB7XG4gICAgY2FzZSAnZGFyd2luJzpcbiAgICAgIHJldHVybiBnZXRNYWNWZXJzaW9uKCk7XG4gICAgY2FzZSAnbGludXgnOlxuICAgICAgcmV0dXJuIGdldExpbnV4SW5mbygpO1xuICAgIGNhc2UgJ3dpbjMyJzpcbiAgICAgIHJldHVybiBnZXRXaW5kb3dzSW5mbygpO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBvczogb3NLaW5kLFxuICAgICAgICAnb3MtdmVyc2lvbic6IHJlbGVhc2UoKSxcbiAgICAgIH07XG4gIH1cbn07XG4iXX0=
package/jest.config.js CHANGED
@@ -2,6 +2,7 @@
2
2
  module.exports = {
3
3
  preset: 'ts-jest',
4
4
  testEnvironment: 'node',
5
+ testMatch: ['<rootDir>/src/__tests__/**/*.[jt]s'],
5
6
  transform: {
6
7
  '^.+\\.ts?$': [
7
8
  'ts-jest',
@@ -10,6 +11,9 @@ module.exports = {
10
11
  },
11
12
  ],
12
13
  },
13
- modulePathIgnorePatterns: ['./build'],
14
- coveragePathIgnorePatterns: ['src/.*/config/.*', 'src/.*/types/.*'],
14
+ modulePathIgnorePatterns: ['<rootDir>/build/'],
15
+ coveragePathIgnorePatterns: [
16
+ '<rootDir>/src/.*/config/.*',
17
+ '<rootDir>/src/.*/types/.*',
18
+ ],
15
19
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@grnsft/if",
3
3
  "description": "Impact Framework",
4
- "version": "1.0.0",
4
+ "version": "1.0.2",
5
5
  "author": {
6
6
  "name": "Green Software Foundation",
7
7
  "email": "info@gsf.com"
@@ -18,16 +18,13 @@
18
18
  "url": "https://github.com/Green-Software-Foundation/if/issues/new?assignees=&labels=feedback&projects=&template=feedback.md&title=Feedback+-+"
19
19
  },
20
20
  "dependencies": {
21
- "@commitlint/cli": "^18.6.0",
22
- "@commitlint/config-conventional": "^18.6.0",
23
- "@grnsft/if-core": "^0.0.28",
21
+ "@grnsft/if-core": "^0.0.30",
24
22
  "axios": "^1.7.2",
25
23
  "csv-parse": "^5.5.6",
26
24
  "csv-stringify": "^6.4.6",
27
25
  "js-yaml": "^4.1.0",
28
26
  "luxon": "^3.4.4",
29
27
  "ts-command-line-args": "^2.5.1",
30
- "typescript": "^5.1.6",
31
28
  "typescript-cubic-spline": "^1.0.1",
32
29
  "winston": "^3.11.0",
33
30
  "zod": "^3.22.4"
@@ -35,6 +32,8 @@
35
32
  "devDependencies": {
36
33
  "@babel/core": "^7.22.10",
37
34
  "@babel/preset-typescript": "^7.22.5",
35
+ "@commitlint/cli": "^18.6.0",
36
+ "@commitlint/config-conventional": "^18.6.0",
38
37
  "@jest/globals": "^29.6.1",
39
38
  "@types/jest": "^29.5.7",
40
39
  "@types/js-yaml": "^4.0.5",
@@ -49,7 +48,8 @@
49
48
  "lint-staged": "^15.2.2",
50
49
  "release-it": "^16.3.0",
51
50
  "rimraf": "^5.0.5",
52
- "ts-jest": "^29.1.1"
51
+ "ts-jest": "^29.1.1",
52
+ "typescript": "^5.1.6"
53
53
  },
54
54
  "engines": {
55
55
  "node": ">=18",
@@ -57,6 +57,7 @@
57
57
  },
58
58
  "homepage": "https://greensoftware.foundation",
59
59
  "keywords": [
60
+ "carbonization",
60
61
  "engine",
61
62
  "framework",
62
63
  "green software foundation",
@@ -75,21 +76,21 @@
75
76
  "scripts": {
76
77
  "build": "npm run clean && tsc --project tsconfig.build.json",
77
78
  "clean": "rimraf build/",
78
- "coverage": "jest --verbose --coverage --testPathPattern=src/__tests__/",
79
+ "coverage": "jest --verbose --coverage",
79
80
  "fix": "gts fix",
80
81
  "fix:package": "fixpack",
81
82
  "if-check": "cross-env CURRENT_DIR=$(node -p \"process.env.INIT_CWD\") npx ts-node src/if-check/index.ts",
82
83
  "if-csv": "cross-env CURRENT_DIR=$(node -p \"process.env.INIT_CWD\") npx ts-node src/if-csv/index.ts",
83
- "if-diff": "npx ts-node src/if-diff/index.ts",
84
+ "if-diff": "cross-env CURRENT_DIR=$(node -p \"process.env.INIT_CWD\") npx ts-node src/if-diff/index.ts",
84
85
  "if-env": "cross-env CURRENT_DIR=$(node -p \"process.env.INIT_CWD\") npx ts-node src/if-env/index.ts",
85
86
  "if-merge": "cross-env CURRENT_DIR=$(node -p \"process.env.INIT_CWD\") npx ts-node src/if-merge/index.ts",
86
- "if-run": "npx ts-node src/if-run/index.ts",
87
+ "if-run": "cross-env CURRENT_DIR=$(node -p \"process.env.INIT_CWD\") npx ts-node src/if-run/index.ts",
87
88
  "lint": "gts lint",
88
89
  "pre-commit": "lint-staged",
89
90
  "prepare": "husky install",
90
91
  "prepublishOnly": "npm run build",
91
92
  "release": "release-it",
92
- "test": "jest --verbose --testPathPattern=src/__tests__/"
93
+ "test": "jest --verbose"
93
94
  },
94
95
  "stability": "stable"
95
96
  }
package/.env DELETED
@@ -1,5 +0,0 @@
1
- # WATT_TIME_USERNAME=manushak
2
- # WATT_TIME_PASSWORD=S7Ub&_tNF=s{
3
-
4
- WATT_TIME_USERNAME=m_test
5
- WATT_TIME_PASSWORD=@watt-time17