@expo/steps 1.0.265 → 18.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/LICENSE +21 -100
  2. package/README.md +1 -1
  3. package/{dist_commonjs → dist}/AbstractConfigParser.d.ts +5 -5
  4. package/{dist_commonjs/AbstractConfigParser.cjs → dist/AbstractConfigParser.js} +22 -20
  5. package/{dist_commonjs → dist}/BuildConfig.d.ts +3 -3
  6. package/{dist_commonjs/BuildConfig.cjs → dist/BuildConfig.js} +29 -32
  7. package/{dist_esm → dist}/BuildConfigParser.d.ts +5 -5
  8. package/{dist_commonjs/BuildConfigParser.cjs → dist/BuildConfigParser.js} +40 -48
  9. package/{dist_esm → dist}/BuildFunction.d.ts +6 -6
  10. package/{dist_commonjs/BuildFunction.cjs → dist/BuildFunction.js} +23 -13
  11. package/{dist_commonjs → dist}/BuildFunctionGroup.d.ts +4 -4
  12. package/{dist_commonjs/BuildFunctionGroup.cjs → dist/BuildFunctionGroup.js} +9 -7
  13. package/{dist_commonjs/BuildRuntimePlatform.cjs → dist/BuildRuntimePlatform.js} +0 -1
  14. package/{dist_esm → dist}/BuildStep.d.ts +5 -5
  15. package/{dist_commonjs/BuildStep.cjs → dist/BuildStep.js} +66 -46
  16. package/{dist_commonjs → dist}/BuildStepContext.d.ts +4 -4
  17. package/{dist_commonjs/BuildStepContext.cjs → dist/BuildStepContext.js} +28 -22
  18. package/{dist_commonjs/StepMetrics.cjs → dist/BuildStepEnv.js} +0 -1
  19. package/{dist_esm → dist}/BuildStepInput.d.ts +1 -1
  20. package/{dist_commonjs/BuildStepInput.cjs → dist/BuildStepInput.js} +23 -19
  21. package/{dist_commonjs → dist}/BuildStepOutput.d.ts +1 -1
  22. package/{dist_commonjs/BuildStepOutput.cjs → dist/BuildStepOutput.js} +9 -7
  23. package/{dist_commonjs → dist}/BuildTemporaryFiles.d.ts +1 -1
  24. package/{dist_commonjs/BuildTemporaryFiles.cjs → dist/BuildTemporaryFiles.js} +1 -2
  25. package/{dist_commonjs → dist}/BuildWorkflow.d.ts +3 -3
  26. package/{dist_commonjs/BuildWorkflow.cjs → dist/BuildWorkflow.js} +5 -3
  27. package/{dist_commonjs → dist}/BuildWorkflowValidator.d.ts +1 -1
  28. package/{dist_commonjs/BuildWorkflowValidator.cjs → dist/BuildWorkflowValidator.js} +25 -26
  29. package/{dist_commonjs/BuildStepEnv.cjs → dist/StepMetrics.js} +0 -1
  30. package/{dist_commonjs → dist}/StepsConfigParser.d.ts +5 -5
  31. package/{dist_commonjs/StepsConfigParser.cjs → dist/StepsConfigParser.js} +21 -25
  32. package/{dist_esm → dist}/cli/cli.d.ts +3 -3
  33. package/{dist_commonjs/cli/cli.cjs → dist/cli/cli.js} +17 -12
  34. package/{dist_commonjs/errors.cjs → dist/errors.js} +7 -4
  35. package/dist/index.d.ts +19 -0
  36. package/dist/index.js +69 -0
  37. package/{dist_commonjs/interpolation.cjs → dist/interpolation.js} +4 -5
  38. package/{dist_commonjs/scripts/runCustomFunction.cjs → dist/scripts/runCustomFunction.js} +10 -11
  39. package/{dist_commonjs → dist}/utils/customFunction.d.ts +4 -4
  40. package/{dist_commonjs/utils/customFunction.cjs → dist/utils/customFunction.js} +5 -8
  41. package/{dist_commonjs/utils/expodash/duplicates.cjs → dist/utils/expodash/duplicates.js} +0 -1
  42. package/{dist_commonjs/utils/expodash/uniq.cjs → dist/utils/expodash/uniq.js} +0 -1
  43. package/{dist_commonjs/utils/hashFiles.cjs → dist/utils/hashFiles.js} +1 -2
  44. package/{dist_commonjs/utils/jsepEval.cjs → dist/utils/jsepEval.js} +4 -5
  45. package/{dist_commonjs/utils/nullthrows.cjs → dist/utils/nullthrows.js} +1 -2
  46. package/{dist_commonjs/utils/shell/bin.cjs → dist/utils/shell/bin.js} +1 -4
  47. package/{dist_commonjs/utils/shell/command.cjs → dist/utils/shell/command.js} +0 -1
  48. package/{dist_commonjs → dist}/utils/shell/spawn.d.ts +2 -2
  49. package/{dist_commonjs/utils/shell/spawn.cjs → dist/utils/shell/spawn.js} +0 -1
  50. package/{dist_commonjs/utils/template.cjs → dist/utils/template.js} +10 -11
  51. package/package.json +29 -44
  52. package/dist_commonjs/AbstractConfigParser.js.map +0 -1
  53. package/dist_commonjs/BuildConfig.js.map +0 -1
  54. package/dist_commonjs/BuildConfigParser.d.ts +0 -33
  55. package/dist_commonjs/BuildConfigParser.js.map +0 -1
  56. package/dist_commonjs/BuildFunction.d.ts +0 -45
  57. package/dist_commonjs/BuildFunction.js.map +0 -1
  58. package/dist_commonjs/BuildFunctionGroup.js.map +0 -1
  59. package/dist_commonjs/BuildRuntimePlatform.js.map +0 -1
  60. package/dist_commonjs/BuildStep.d.ts +0 -100
  61. package/dist_commonjs/BuildStep.js.map +0 -1
  62. package/dist_commonjs/BuildStepContext.js.map +0 -1
  63. package/dist_commonjs/BuildStepEnv.js.map +0 -1
  64. package/dist_commonjs/BuildStepInput.d.ts +0 -47
  65. package/dist_commonjs/BuildStepInput.js.map +0 -1
  66. package/dist_commonjs/BuildStepOutput.js.map +0 -1
  67. package/dist_commonjs/BuildTemporaryFiles.js.map +0 -1
  68. package/dist_commonjs/BuildWorkflow.js.map +0 -1
  69. package/dist_commonjs/BuildWorkflowValidator.js.map +0 -1
  70. package/dist_commonjs/StepMetrics.js.map +0 -1
  71. package/dist_commonjs/StepsConfigParser.js.map +0 -1
  72. package/dist_commonjs/cli/cli.d.ts +0 -18
  73. package/dist_commonjs/cli/cli.js.map +0 -1
  74. package/dist_commonjs/errors.js.map +0 -1
  75. package/dist_commonjs/index.cjs +0 -60
  76. package/dist_commonjs/index.d.ts +0 -19
  77. package/dist_commonjs/index.js.map +0 -1
  78. package/dist_commonjs/interpolation.js.map +0 -1
  79. package/dist_commonjs/scripts/runCustomFunction.js.map +0 -1
  80. package/dist_commonjs/utils/customFunction.js.map +0 -1
  81. package/dist_commonjs/utils/expodash/duplicates.js.map +0 -1
  82. package/dist_commonjs/utils/expodash/uniq.js.map +0 -1
  83. package/dist_commonjs/utils/hashFiles.js.map +0 -1
  84. package/dist_commonjs/utils/jsepEval.js.map +0 -1
  85. package/dist_commonjs/utils/nullthrows.js.map +0 -1
  86. package/dist_commonjs/utils/shell/bin.js.map +0 -1
  87. package/dist_commonjs/utils/shell/command.js.map +0 -1
  88. package/dist_commonjs/utils/shell/spawn.js.map +0 -1
  89. package/dist_commonjs/utils/template.js.map +0 -1
  90. package/dist_esm/AbstractConfigParser.d.ts +0 -23
  91. package/dist_esm/AbstractConfigParser.js +0 -61
  92. package/dist_esm/AbstractConfigParser.js.map +0 -1
  93. package/dist_esm/BuildConfig.d.ts +0 -80
  94. package/dist_esm/BuildConfig.js +0 -281
  95. package/dist_esm/BuildConfig.js.map +0 -1
  96. package/dist_esm/BuildConfigParser.js +0 -233
  97. package/dist_esm/BuildConfigParser.js.map +0 -1
  98. package/dist_esm/BuildFunction.js +0 -62
  99. package/dist_esm/BuildFunction.js.map +0 -1
  100. package/dist_esm/BuildFunctionGroup.d.ts +0 -23
  101. package/dist_esm/BuildFunctionGroup.js +0 -36
  102. package/dist_esm/BuildFunctionGroup.js.map +0 -1
  103. package/dist_esm/BuildRuntimePlatform.d.ts +0 -4
  104. package/dist_esm/BuildRuntimePlatform.js +0 -6
  105. package/dist_esm/BuildRuntimePlatform.js.map +0 -1
  106. package/dist_esm/BuildStep.js +0 -354
  107. package/dist_esm/BuildStep.js.map +0 -1
  108. package/dist_esm/BuildStepContext.d.ts +0 -86
  109. package/dist_esm/BuildStepContext.js +0 -207
  110. package/dist_esm/BuildStepContext.js.map +0 -1
  111. package/dist_esm/BuildStepEnv.d.ts +0 -1
  112. package/dist_esm/BuildStepEnv.js +0 -2
  113. package/dist_esm/BuildStepEnv.js.map +0 -1
  114. package/dist_esm/BuildStepInput.js +0 -150
  115. package/dist_esm/BuildStepInput.js.map +0 -1
  116. package/dist_esm/BuildStepOutput.d.ts +0 -33
  117. package/dist_esm/BuildStepOutput.js +0 -57
  118. package/dist_esm/BuildStepOutput.js.map +0 -1
  119. package/dist_esm/BuildTemporaryFiles.d.ts +0 -5
  120. package/dist_esm/BuildTemporaryFiles.js +0 -31
  121. package/dist_esm/BuildTemporaryFiles.js.map +0 -1
  122. package/dist_esm/BuildWorkflow.d.ts +0 -14
  123. package/dist_esm/BuildWorkflow.js +0 -55
  124. package/dist_esm/BuildWorkflow.js.map +0 -1
  125. package/dist_esm/BuildWorkflowValidator.d.ts +0 -10
  126. package/dist_esm/BuildWorkflowValidator.js +0 -121
  127. package/dist_esm/BuildWorkflowValidator.js.map +0 -1
  128. package/dist_esm/StepMetrics.d.ts +0 -10
  129. package/dist_esm/StepMetrics.js +0 -2
  130. package/dist_esm/StepMetrics.js.map +0 -1
  131. package/dist_esm/StepsConfigParser.d.ts +0 -24
  132. package/dist_esm/StepsConfigParser.js +0 -133
  133. package/dist_esm/StepsConfigParser.js.map +0 -1
  134. package/dist_esm/cli/cli.js +0 -61
  135. package/dist_esm/cli/cli.js.map +0 -1
  136. package/dist_esm/errors.d.ts +0 -24
  137. package/dist_esm/errors.js +0 -24
  138. package/dist_esm/errors.js.map +0 -1
  139. package/dist_esm/index.d.ts +0 -19
  140. package/dist_esm/index.js +0 -18
  141. package/dist_esm/index.js.map +0 -1
  142. package/dist_esm/interpolation.d.ts +0 -5
  143. package/dist_esm/interpolation.js +0 -26
  144. package/dist_esm/interpolation.js.map +0 -1
  145. package/dist_esm/scripts/runCustomFunction.d.ts +0 -1
  146. package/dist_esm/scripts/runCustomFunction.js +0 -100
  147. package/dist_esm/scripts/runCustomFunction.js.map +0 -1
  148. package/dist_esm/utils/customFunction.d.ts +0 -18
  149. package/dist_esm/utils/customFunction.js +0 -49
  150. package/dist_esm/utils/customFunction.js.map +0 -1
  151. package/dist_esm/utils/expodash/duplicates.d.ts +0 -1
  152. package/dist_esm/utils/expodash/duplicates.js +0 -14
  153. package/dist_esm/utils/expodash/duplicates.js.map +0 -1
  154. package/dist_esm/utils/expodash/uniq.d.ts +0 -1
  155. package/dist_esm/utils/expodash/uniq.js +0 -5
  156. package/dist_esm/utils/expodash/uniq.js.map +0 -1
  157. package/dist_esm/utils/hashFiles.d.ts +0 -6
  158. package/dist_esm/utils/hashFiles.js +0 -31
  159. package/dist_esm/utils/hashFiles.js.map +0 -1
  160. package/dist_esm/utils/jsepEval.d.ts +0 -1
  161. package/dist_esm/utils/jsepEval.js +0 -169
  162. package/dist_esm/utils/jsepEval.js.map +0 -1
  163. package/dist_esm/utils/nullthrows.d.ts +0 -1
  164. package/dist_esm/utils/nullthrows.js +0 -7
  165. package/dist_esm/utils/nullthrows.js.map +0 -1
  166. package/dist_esm/utils/shell/bin.d.ts +0 -1
  167. package/dist_esm/utils/shell/bin.js +0 -5
  168. package/dist_esm/utils/shell/bin.js.map +0 -1
  169. package/dist_esm/utils/shell/command.d.ts +0 -4
  170. package/dist_esm/utils/shell/command.js +0 -13
  171. package/dist_esm/utils/shell/command.js.map +0 -1
  172. package/dist_esm/utils/shell/spawn.d.ts +0 -15
  173. package/dist_esm/utils/shell/spawn.js +0 -16
  174. package/dist_esm/utils/shell/spawn.js.map +0 -1
  175. package/dist_esm/utils/template.d.ts +0 -19
  176. package/dist_esm/utils/template.js +0 -106
  177. package/dist_esm/utils/template.js.map +0 -1
  178. /package/{dist_commonjs → dist}/BuildRuntimePlatform.d.ts +0 -0
  179. /package/{dist_commonjs → dist}/BuildStepEnv.d.ts +0 -0
  180. /package/{dist_commonjs → dist}/StepMetrics.d.ts +0 -0
  181. /package/{dist_commonjs → dist}/errors.d.ts +0 -0
  182. /package/{dist_commonjs → dist}/interpolation.d.ts +0 -0
  183. /package/{dist_commonjs → dist}/scripts/runCustomFunction.d.ts +0 -0
  184. /package/{dist_commonjs → dist}/utils/expodash/duplicates.d.ts +0 -0
  185. /package/{dist_commonjs → dist}/utils/expodash/uniq.d.ts +0 -0
  186. /package/{dist_commonjs → dist}/utils/hashFiles.d.ts +0 -0
  187. /package/{dist_commonjs → dist}/utils/jsepEval.d.ts +0 -0
  188. /package/{dist_commonjs → dist}/utils/nullthrows.d.ts +0 -0
  189. /package/{dist_commonjs → dist}/utils/shell/bin.d.ts +0 -0
  190. /package/{dist_commonjs → dist}/utils/shell/command.d.ts +0 -0
  191. /package/{dist_commonjs → dist}/utils/template.d.ts +0 -0
@@ -0,0 +1,19 @@
1
+ export { BuildStepContext } from './BuildStepContext';
2
+ export { readAndValidateBuildConfigFromPathAsync } from './BuildConfig';
3
+ export { BuildConfigParser } from './BuildConfigParser';
4
+ export { StepsConfigParser } from './StepsConfigParser';
5
+ export { BuildFunction } from './BuildFunction';
6
+ export { BuildRuntimePlatform } from './BuildRuntimePlatform';
7
+ export { BuildStepInput, BuildStepInputValueTypeName } from './BuildStepInput';
8
+ export { BuildStepOutput } from './BuildStepOutput';
9
+ export { BuildStepGlobalContext, ExternalBuildContextProvider } from './BuildStepContext';
10
+ export { BuildWorkflow } from './BuildWorkflow';
11
+ export { BuildStepEnv } from './BuildStepEnv';
12
+ export { BuildFunctionGroup } from './BuildFunctionGroup';
13
+ export { BuildStep } from './BuildStep';
14
+ export * as errors from './errors';
15
+ export * from './interpolation';
16
+ export * from './utils/shell/spawn';
17
+ export * from './utils/jsepEval';
18
+ export * from './utils/hashFiles';
19
+ export { StepMetric, StepMetricResult, StepMetricsCollection } from './StepMetrics';
package/dist/index.js ADDED
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.errors = exports.BuildStep = exports.BuildFunctionGroup = exports.BuildWorkflow = exports.BuildStepGlobalContext = exports.BuildStepOutput = exports.BuildStepInputValueTypeName = exports.BuildStepInput = exports.BuildRuntimePlatform = exports.BuildFunction = exports.StepsConfigParser = exports.BuildConfigParser = exports.readAndValidateBuildConfigFromPathAsync = exports.BuildStepContext = void 0;
40
+ var BuildStepContext_1 = require("./BuildStepContext");
41
+ Object.defineProperty(exports, "BuildStepContext", { enumerable: true, get: function () { return BuildStepContext_1.BuildStepContext; } });
42
+ var BuildConfig_1 = require("./BuildConfig");
43
+ Object.defineProperty(exports, "readAndValidateBuildConfigFromPathAsync", { enumerable: true, get: function () { return BuildConfig_1.readAndValidateBuildConfigFromPathAsync; } });
44
+ var BuildConfigParser_1 = require("./BuildConfigParser");
45
+ Object.defineProperty(exports, "BuildConfigParser", { enumerable: true, get: function () { return BuildConfigParser_1.BuildConfigParser; } });
46
+ var StepsConfigParser_1 = require("./StepsConfigParser");
47
+ Object.defineProperty(exports, "StepsConfigParser", { enumerable: true, get: function () { return StepsConfigParser_1.StepsConfigParser; } });
48
+ var BuildFunction_1 = require("./BuildFunction");
49
+ Object.defineProperty(exports, "BuildFunction", { enumerable: true, get: function () { return BuildFunction_1.BuildFunction; } });
50
+ var BuildRuntimePlatform_1 = require("./BuildRuntimePlatform");
51
+ Object.defineProperty(exports, "BuildRuntimePlatform", { enumerable: true, get: function () { return BuildRuntimePlatform_1.BuildRuntimePlatform; } });
52
+ var BuildStepInput_1 = require("./BuildStepInput");
53
+ Object.defineProperty(exports, "BuildStepInput", { enumerable: true, get: function () { return BuildStepInput_1.BuildStepInput; } });
54
+ Object.defineProperty(exports, "BuildStepInputValueTypeName", { enumerable: true, get: function () { return BuildStepInput_1.BuildStepInputValueTypeName; } });
55
+ var BuildStepOutput_1 = require("./BuildStepOutput");
56
+ Object.defineProperty(exports, "BuildStepOutput", { enumerable: true, get: function () { return BuildStepOutput_1.BuildStepOutput; } });
57
+ var BuildStepContext_2 = require("./BuildStepContext");
58
+ Object.defineProperty(exports, "BuildStepGlobalContext", { enumerable: true, get: function () { return BuildStepContext_2.BuildStepGlobalContext; } });
59
+ var BuildWorkflow_1 = require("./BuildWorkflow");
60
+ Object.defineProperty(exports, "BuildWorkflow", { enumerable: true, get: function () { return BuildWorkflow_1.BuildWorkflow; } });
61
+ var BuildFunctionGroup_1 = require("./BuildFunctionGroup");
62
+ Object.defineProperty(exports, "BuildFunctionGroup", { enumerable: true, get: function () { return BuildFunctionGroup_1.BuildFunctionGroup; } });
63
+ var BuildStep_1 = require("./BuildStep");
64
+ Object.defineProperty(exports, "BuildStep", { enumerable: true, get: function () { return BuildStep_1.BuildStep; } });
65
+ exports.errors = __importStar(require("./errors"));
66
+ __exportStar(require("./interpolation"), exports);
67
+ __exportStar(require("./utils/shell/spawn"), exports);
68
+ __exportStar(require("./utils/jsepEval"), exports);
69
+ __exportStar(require("./utils/hashFiles"), exports);
@@ -1,22 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.interpolateJobContext = interpolateJobContext;
4
- const jsepEval_js_1 = require("./utils/jsepEval.cjs");
4
+ const jsepEval_1 = require("./utils/jsepEval");
5
5
  function interpolateJobContext({ target, context, }) {
6
6
  if (typeof target === 'string') {
7
7
  // If the value is e.g. `build: ${{ inputs.build }}`, we will interpolate the value
8
8
  // without changing `inputs.build` type, i.e. if it is an object it'll be like `build: {...inputs.build}`.
9
9
  if (target.startsWith('${{') && target.endsWith('}}')) {
10
- return (0, jsepEval_js_1.jsepEval)(target.slice(3, -2), context);
10
+ return (0, jsepEval_1.jsepEval)(target.slice(3, -2), context);
11
11
  }
12
12
  // Otherwise we replace all occurrences of `${{...}}` with the result of the expression.
13
13
  // e.g. `echo ${{ build.profile }}` becomes `echo production`.
14
14
  return target.replace(/\$\{\{(.+?)\}\}/g, (_match, expression) => {
15
- return `${(0, jsepEval_js_1.jsepEval)(expression, context)}`;
15
+ return `${(0, jsepEval_1.jsepEval)(expression, context)}`;
16
16
  });
17
17
  }
18
18
  else if (Array.isArray(target)) {
19
- return target.map((value) => interpolateJobContext({ target: value, context }));
19
+ return target.map(value => interpolateJobContext({ target: value, context }));
20
20
  }
21
21
  else if (typeof target === 'object' && target) {
22
22
  return Object.fromEntries(Object.entries(target).map(([key, value]) => [
@@ -26,4 +26,3 @@ function interpolateJobContext({ target, context, }) {
26
26
  }
27
27
  return target;
28
28
  }
29
- //# sourceMappingURL=interpolation.js.map
@@ -3,13 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const assert_1 = __importDefault(require("assert"));
7
6
  const logger_1 = require("@expo/logger");
7
+ const assert_1 = __importDefault(require("assert"));
8
8
  const lodash_clonedeep_1 = __importDefault(require("lodash.clonedeep"));
9
- const BuildStepOutput_js_1 = require("../BuildStepOutput.cjs");
10
- const customFunction_js_1 = require("../utils/customFunction.cjs");
11
- const BuildStepContext_js_1 = require("../BuildStepContext.cjs");
12
- const spawn_js_1 = require("../utils/shell/spawn.cjs");
9
+ const BuildStepContext_1 = require("../BuildStepContext");
10
+ const BuildStepOutput_1 = require("../BuildStepOutput");
11
+ const customFunction_1 = require("../utils/customFunction");
12
+ const spawn_1 = require("../utils/shell/spawn");
13
13
  async function runCustomJsFunctionAsync() {
14
14
  const customJavascriptFunctionModulePath = process.argv[2];
15
15
  const functionArgs = process.argv[3];
@@ -62,11 +62,11 @@ async function runCustomJsFunctionAsync() {
62
62
  },
63
63
  ],
64
64
  });
65
- const ctx = BuildStepContext_js_1.BuildStepContext.deserialize(serializedFunctionArguments.ctx, logger);
66
- const inputs = (0, customFunction_js_1.deserializeInputs)(serializedFunctionArguments.inputs);
65
+ const ctx = BuildStepContext_1.BuildStepContext.deserialize(serializedFunctionArguments.ctx, logger);
66
+ const inputs = (0, customFunction_1.deserializeInputs)(serializedFunctionArguments.inputs);
67
67
  const outputs = Object.fromEntries(Object.entries(serializedFunctionArguments.outputs).map(([id, output]) => [
68
68
  id,
69
- BuildStepOutput_js_1.BuildStepOutput.deserialize(output),
69
+ BuildStepOutput_1.BuildStepOutput.deserialize(output),
70
70
  ]));
71
71
  const env = serializedFunctionArguments.env;
72
72
  const envBefore = (0, lodash_clonedeep_1.default)(serializedFunctionArguments.env);
@@ -84,7 +84,7 @@ async function runCustomJsFunctionAsync() {
84
84
  for (const output of Object.values(outputs)) {
85
85
  if (output.rawValue) {
86
86
  (0, assert_1.default)(output.value, 'output.value is required');
87
- promises.push((0, spawn_js_1.spawnAsync)('set-output', [output.id, output.value], {
87
+ promises.push((0, spawn_1.spawnAsync)('set-output', [output.id, output.value], {
88
88
  env,
89
89
  stdio: 'pipe',
90
90
  }));
@@ -93,7 +93,7 @@ async function runCustomJsFunctionAsync() {
93
93
  for (const envName of Object.keys(env)) {
94
94
  const envValue = env[envName];
95
95
  if (envValue !== envBefore[envName] && envValue) {
96
- promises.push((0, spawn_js_1.spawnAsync)('set-env', [envName, envValue], {
96
+ promises.push((0, spawn_1.spawnAsync)('set-env', [envName, envValue], {
97
97
  env,
98
98
  stdio: 'pipe',
99
99
  }));
@@ -102,4 +102,3 @@ async function runCustomJsFunctionAsync() {
102
102
  await Promise.all(promises);
103
103
  }
104
104
  void runCustomJsFunctionAsync();
105
- //# sourceMappingURL=runCustomFunction.js.map
@@ -1,7 +1,7 @@
1
- import { BuildStepFunction } from '../BuildStep.js';
2
- import { BuildStepEnv } from '../BuildStepEnv.js';
3
- import { SerializedBuildStepOutput } from '../BuildStepOutput.js';
4
- import { SerializedBuildStepContext } from '../BuildStepContext.js';
1
+ import { BuildStepFunction } from '../BuildStep';
2
+ import { SerializedBuildStepContext } from '../BuildStepContext';
3
+ import { BuildStepEnv } from '../BuildStepEnv';
4
+ import { SerializedBuildStepOutput } from '../BuildStepOutput';
5
5
  export declare const SCRIPTS_PATH: string;
6
6
  type SerializedBuildStepInput = {
7
7
  serializedValue: string | undefined;
@@ -7,12 +7,10 @@ exports.SCRIPTS_PATH = void 0;
7
7
  exports.serializeInputs = serializeInputs;
8
8
  exports.deserializeInputs = deserializeInputs;
9
9
  exports.createCustomFunctionCall = createCustomFunctionCall;
10
- const path_1 = __importDefault(require("path"));
11
- const this_file_1 = require("this-file");
12
10
  const fs_extra_1 = __importDefault(require("fs-extra"));
13
- const spawn_js_1 = require("./shell/spawn.cjs");
14
- const thisFileCtx = (0, this_file_1.createContext)();
15
- exports.SCRIPTS_PATH = path_1.default.join(thisFileCtx.dirname, '../../dist_commonjs/scripts');
11
+ const path_1 = __importDefault(require("path"));
12
+ const spawn_1 = require("./shell/spawn");
13
+ exports.SCRIPTS_PATH = path_1.default.join(__dirname, '../../dist/scripts');
16
14
  function serializeInputs(inputs) {
17
15
  return Object.fromEntries(Object.entries(inputs).map(([id, input]) => [
18
16
  id,
@@ -39,8 +37,8 @@ function createCustomFunctionCall(rawCustomFunctionModulePath) {
39
37
  ctx: ctx.serialize(),
40
38
  };
41
39
  try {
42
- await (0, spawn_js_1.spawnAsync)('node', [
43
- path_1.default.join(exports.SCRIPTS_PATH, 'runCustomFunction.cjs'),
40
+ await (0, spawn_1.spawnAsync)('node', [
41
+ path_1.default.join(exports.SCRIPTS_PATH, 'runCustomFunction.js'),
44
42
  customFunctionModulePath,
45
43
  JSON.stringify(serializedArguments),
46
44
  ], {
@@ -55,4 +53,3 @@ function createCustomFunctionCall(rawCustomFunctionModulePath) {
55
53
  }
56
54
  };
57
55
  }
58
- //# sourceMappingURL=customFunction.js.map
@@ -14,4 +14,3 @@ function duplicates(items) {
14
14
  }
15
15
  return [...duplicatedItemsSet];
16
16
  }
17
- //# sourceMappingURL=duplicates.js.map
@@ -5,4 +5,3 @@ function uniq(items) {
5
5
  const set = new Set(items);
6
6
  return [...set];
7
7
  }
8
- //# sourceMappingURL=uniq.js.map
@@ -18,7 +18,7 @@ function hashFiles(filePaths) {
18
18
  try {
19
19
  if (fs_extra_1.default.pathExistsSync(filePath)) {
20
20
  const fileContent = fs_extra_1.default.readFileSync(filePath);
21
- const fileHash = (0, crypto_1.createHash)('sha256').update(fileContent).digest();
21
+ const fileHash = (0, crypto_1.createHash)('sha256').update(new Uint8Array(fileContent)).digest();
22
22
  combinedHash.write(fileHash);
23
23
  hasFound = true;
24
24
  }
@@ -34,4 +34,3 @@ function hashFiles(filePaths) {
34
34
  }
35
35
  return result;
36
36
  }
37
- //# sourceMappingURL=hashFiles.js.map
@@ -99,7 +99,7 @@ function evaluateExpressionNode(node, context) {
99
99
  }
100
100
  case 'Compound': {
101
101
  const compoundNode = node;
102
- const expressions = compoundNode.body.map((el) => evaluateExpressionNode(el, context));
102
+ const expressions = compoundNode.body.map(el => evaluateExpressionNode(el, context));
103
103
  return expressions.pop();
104
104
  }
105
105
  case 'UnaryExpression': {
@@ -139,7 +139,7 @@ function evaluateExpressionNode(node, context) {
139
139
  throw new Error(`Invalid function callee type: ${callNode.callee.type}. Expected one of [${allowedCalleeTypes.join(', ')}].`);
140
140
  }
141
141
  const callee = evaluateExpressionNode(callNode.callee, context);
142
- const args = callNode.arguments.map((arg) => evaluateExpressionNode(arg, context));
142
+ const args = callNode.arguments.map(arg => evaluateExpressionNode(arg, context));
143
143
  (0, assert_1.default)(typeof callee === 'function', 'Expected a function');
144
144
  // eslint-disable-next-line prefer-spread
145
145
  return callee.apply(null, args);
@@ -161,7 +161,7 @@ function evaluateExpressionNode(node, context) {
161
161
  }, context));
162
162
  }
163
163
  case 'ArrayExpression': {
164
- const elements = node.elements.map((el) => el ? evaluateExpressionNode(el, context) : null);
164
+ const elements = node.elements.map(el => el ? evaluateExpressionNode(el, context) : null);
165
165
  return elements;
166
166
  }
167
167
  default:
@@ -170,6 +170,5 @@ function evaluateExpressionNode(node, context) {
170
170
  }
171
171
  function jsepEval(expression, context) {
172
172
  const tree = (0, jsep_1.default)(expression);
173
- return evaluateExpressionNode(tree, context !== null && context !== void 0 ? context : {});
173
+ return evaluateExpressionNode(tree, context ?? {});
174
174
  }
175
- //# sourceMappingURL=jsepEval.js.map
@@ -5,6 +5,5 @@ function nullthrows(value, message) {
5
5
  if (value != null) {
6
6
  return value;
7
7
  }
8
- throw new TypeError(message !== null && message !== void 0 ? message : `Expected value not to be null or undefined but got ${value}`);
8
+ throw new TypeError(message ?? `Expected value not to be null or undefined but got ${value}`);
9
9
  }
10
- //# sourceMappingURL=nullthrows.js.map
@@ -5,7 +5,4 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.BIN_PATH = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
- const this_file_1 = require("this-file");
9
- const ctx = (0, this_file_1.createContext)();
10
- exports.BIN_PATH = path_1.default.join(ctx.dirname, '../../../bin');
11
- //# sourceMappingURL=bin.js.map
8
+ exports.BIN_PATH = path_1.default.join(__dirname, '../../../bin');
@@ -13,4 +13,3 @@ function getShellCommandAndArgs(shell, script) {
13
13
  args,
14
14
  };
15
15
  }
16
- //# sourceMappingURL=command.js.map
@@ -1,6 +1,6 @@
1
+ import { PipeMode, bunyan } from '@expo/logger';
2
+ import { SpawnOptions as SpawnOptionsOriginal, SpawnPromise, SpawnResult } from '@expo/spawn-async';
1
3
  import { IOType } from 'child_process';
2
- import { bunyan, PipeMode } from '@expo/logger';
3
- import { SpawnResult, SpawnPromise, SpawnOptions as SpawnOptionsOriginal } from '@expo/spawn-async';
4
4
  type SpawnOptions = Omit<SpawnOptionsOriginal, 'stdio' | 'ignoreStdio'> & {
5
5
  lineTransformer?: (line: string) => string | null;
6
6
  mode?: PipeMode;
@@ -19,4 +19,3 @@ function spawnAsync(command, args, allOptions = {
19
19
  }
20
20
  return promise;
21
21
  }
22
- //# sourceMappingURL=spawn.js.map
@@ -14,11 +14,11 @@ exports.interpolateStringWithGlobalContext = interpolateStringWithGlobalContext;
14
14
  exports.interpolateObjectWithGlobalContext = interpolateObjectWithGlobalContext;
15
15
  exports.findOutputPaths = findOutputPaths;
16
16
  exports.parseOutputPath = parseOutputPath;
17
- const lodash_get_1 = __importDefault(require("lodash.get"));
18
17
  const lodash_clonedeep_1 = __importDefault(require("lodash.clonedeep"));
19
- const BuildStepInput_js_1 = require("../BuildStepInput.cjs");
20
- const errors_js_1 = require("../errors.cjs");
21
- const nullthrows_js_1 = require("./nullthrows.cjs");
18
+ const lodash_get_1 = __importDefault(require("lodash.get"));
19
+ const nullthrows_1 = require("./nullthrows");
20
+ const BuildStepInput_1 = require("../BuildStepInput");
21
+ const errors_1 = require("../errors");
22
22
  exports.BUILD_STEP_INPUT_EXPRESSION_REGEXP = /\${\s*(inputs\.[\S]+)\s*}/;
23
23
  exports.BUILD_STEP_OUTPUT_EXPRESSION_REGEXP = /\${\s*(steps\.[\S]+)\s*}/;
24
24
  exports.BUILD_GLOBAL_CONTEXT_EXPRESSION_REGEXP = /\${\s*(eas\.[\S]+)\s*}/;
@@ -39,7 +39,7 @@ function interpolateStringWithOutputs(templateString, fn) {
39
39
  }
40
40
  function interpolateObjectWithOutputs(interpolableObject, fn) {
41
41
  const interpolableObjectCopy = (0, lodash_clonedeep_1.default)(interpolableObject);
42
- Object.keys(interpolableObject).forEach((property) => {
42
+ Object.keys(interpolableObject).forEach(property => {
43
43
  const propertyValue = interpolableObject[property];
44
44
  if (['string', 'object'].includes(typeof propertyValue)) {
45
45
  interpolableObjectCopy[property] =
@@ -51,10 +51,10 @@ function interpolateObjectWithOutputs(interpolableObject, fn) {
51
51
  function getObjectValueForInterpolation(path, obj) {
52
52
  const value = (0, lodash_get_1.default)(obj, path);
53
53
  if (value === undefined) {
54
- throw new errors_js_1.BuildStepRuntimeError(`Object field "${path}" does not exist. Ensure you are using the correct field name.`);
54
+ throw new errors_1.BuildStepRuntimeError(`Object field "${path}" does not exist. Ensure you are using the correct field name.`);
55
55
  }
56
56
  if (!isAllowedValueTypeForObjectInterpolation(value)) {
57
- throw new errors_js_1.BuildStepRuntimeError(`EAS context field "${path}" is not of type ${Object.values(BuildStepInput_js_1.BuildStepInputValueTypeName).join(', ')}, or undefined. It is of type "${typeof value}". We currently only support accessing string or undefined values from the EAS context.`);
57
+ throw new errors_1.BuildStepRuntimeError(`EAS context field "${path}" is not of type ${Object.values(BuildStepInput_1.BuildStepInputValueTypeName).join(', ')}, or undefined. It is of type "${typeof value}". We currently only support accessing string or undefined values from the EAS context.`);
58
58
  }
59
59
  if (value !== null && typeof value === 'object') {
60
60
  return JSON.stringify(value);
@@ -74,7 +74,7 @@ function interpolateStringWithGlobalContext(templateString, fn) {
74
74
  }
75
75
  function interpolateObjectWithGlobalContext(templateObject, fn) {
76
76
  const templateObjectCopy = (0, lodash_clonedeep_1.default)(templateObject);
77
- Object.keys(templateObject).forEach((property) => {
77
+ Object.keys(templateObject).forEach(property => {
78
78
  const propertyValue = templateObject[property];
79
79
  if (['string', 'object'].includes(typeof propertyValue)) {
80
80
  templateObjectCopy[property] =
@@ -90,7 +90,7 @@ function interpolate(templateString, regex, varsOrFn) {
90
90
  }
91
91
  let result = templateString;
92
92
  for (const match of matched) {
93
- const [, path] = (0, nullthrows_js_1.nullthrows)(match.match(regex));
93
+ const [, path] = (0, nullthrows_1.nullthrows)(match.match(regex));
94
94
  const value = typeof varsOrFn === 'function' ? varsOrFn(path) : varsOrFn[path.split('.')[1]];
95
95
  result = result.replace(match, value);
96
96
  }
@@ -114,9 +114,8 @@ function findOutputPaths(templateString) {
114
114
  function parseOutputPath(outputPathWithObjectName) {
115
115
  const splits = outputPathWithObjectName.split('.').slice(1);
116
116
  if (splits.length !== 2) {
117
- throw new errors_js_1.BuildConfigError(`Step output path must consist of two components joined with a dot, where first is the step ID, and second is the output name, e.g. "step3.output1". Passed: "${outputPathWithObjectName}"`);
117
+ throw new errors_1.BuildConfigError(`Step output path must consist of two components joined with a dot, where first is the step ID, and second is the output name, e.g. "step3.output1". Passed: "${outputPathWithObjectName}"`);
118
118
  }
119
119
  const [stepId, outputId] = splits;
120
120
  return { stepId, outputId };
121
121
  }
122
- //# sourceMappingURL=template.js.map
package/package.json CHANGED
@@ -1,47 +1,50 @@
1
1
  {
2
2
  "name": "@expo/steps",
3
+ "version": "18.0.1",
4
+ "bugs": "https://github.com/expo/eas-cli/issues",
5
+ "license": "BUSL-1.1",
6
+ "author": "Expo <support@expo.io>",
3
7
  "repository": {
4
8
  "type": "git",
5
- "url": "https://github.com/expo/eas-build.git",
9
+ "url": "https://github.com/expo/eas-cli.git",
6
10
  "directory": "packages/steps"
7
11
  },
8
- "type": "module",
9
- "version": "1.0.265",
10
- "main": "./dist_commonjs/index.cjs",
11
- "types": "./dist_esm/index.d.ts",
12
- "exports": {
13
- ".": {
14
- "types": "./dist_esm/index.d.ts",
15
- "import": "./dist_esm/index.js",
16
- "require": "./dist_commonjs/index.cjs"
17
- }
18
- },
19
12
  "files": [
20
13
  "bin",
21
- "dist_commonjs",
22
- "dist_esm",
23
- "README.md"
14
+ "dist"
24
15
  ],
16
+ "main": "dist/index.js",
17
+ "types": "dist/index.d.ts",
25
18
  "scripts": {
26
19
  "start": "yarn watch",
27
- "build": "./build.sh",
28
- "prepack": "./build.sh",
29
- "watch": "chokidar --initial \"src/**/*.ts\" -i \"src/**/__tests__/**/*\" -c \"./build.sh\"",
30
- "test": "node --experimental-vm-modules --no-warnings node_modules/.bin/jest -c=jest.config.cjs --no-cache",
31
- "test:coverage": "node --experimental-vm-modules --no-warnings node_modules/.bin/jest -c=jest.config.cjs --no-cache --coverage",
20
+ "build": "tsc --project tsconfig.build.json",
21
+ "typecheck": "tsc",
22
+ "prepack": "rm -rf dist *.tsbuildinfo && tsc --project tsconfig.build.json",
23
+ "watch": "tsc --watch --preserveWatchOutput",
24
+ "test": "jest --config jest.config.ts",
25
+ "test:coverage": "jest --config jest.config.ts --coverage",
32
26
  "test:watch": "yarn test --watch",
33
- "clean": "rm -rf node_modules dist_* coverage"
27
+ "clean": "rm -rf node_modules dist coverage *.tsbuildinfo"
28
+ },
29
+ "dependencies": {
30
+ "@expo/eas-build-job": "18.0.1",
31
+ "@expo/logger": "18.0.1",
32
+ "@expo/spawn-async": "^1.7.2",
33
+ "arg": "^5.0.2",
34
+ "fs-extra": "^11.2.0",
35
+ "joi": "^17.13.1",
36
+ "jsep": "^1.3.8",
37
+ "lodash.clonedeep": "^4.5.0",
38
+ "lodash.get": "^4.4.2",
39
+ "uuid": "^9.0.1",
40
+ "yaml": "^2.4.3"
34
41
  },
35
- "author": "Expo <support@expo.io>",
36
- "bugs": "https://github.com/expo/eas-build/issues",
37
- "license": "BUSL-1.1",
38
42
  "devDependencies": {
39
43
  "@jest/globals": "^29.7.0",
40
44
  "@types/jest": "^29.5.12",
41
45
  "@types/lodash.clonedeep": "^4.5.9",
42
46
  "@types/lodash.get": "^4.4.9",
43
47
  "@types/node": "20.14.2",
44
- "chokidar-cli": "^3.0.0",
45
48
  "eslint-plugin-async-protect": "^3.1.0",
46
49
  "jest": "^29.7.0",
47
50
  "ts-jest": "^29.1.4",
@@ -52,23 +55,5 @@
52
55
  "engines": {
53
56
  "node": ">=18"
54
57
  },
55
- "dependencies": {
56
- "@expo/eas-build-job": "1.0.265",
57
- "@expo/logger": "1.0.260",
58
- "@expo/spawn-async": "^1.7.2",
59
- "arg": "^5.0.2",
60
- "fs-extra": "^11.2.0",
61
- "joi": "^17.13.1",
62
- "jsep": "^1.3.8",
63
- "lodash.clonedeep": "^4.5.0",
64
- "lodash.get": "^4.4.2",
65
- "this-file": "^2.0.3",
66
- "uuid": "^9.0.1",
67
- "yaml": "^2.4.3"
68
- },
69
- "volta": {
70
- "node": "20.14.0",
71
- "yarn": "1.22.21"
72
- },
73
- "gitHead": "e67314ee84256a6062c9dcb0d44c2b5b7ab9dd31"
58
+ "gitHead": "772d4dd654a71b0d88e73341106d417222dd401e"
74
59
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractConfigParser.js","sourceRoot":"","sources":["../src/AbstractConfigParser.ts"],"names":[],"mappings":"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","sourcesContent":["import { BuildFunction, BuildFunctionById } from './BuildFunction.js';\nimport { BuildFunctionGroup } from './BuildFunctionGroup.js';\nimport { BuildStep } from './BuildStep.js';\nimport { BuildStepGlobalContext } from './BuildStepContext.js';\nimport { BuildWorkflow } from './BuildWorkflow.js';\nimport { BuildWorkflowValidator } from './BuildWorkflowValidator.js';\nimport { BuildConfigError } from './errors.js';\nimport { duplicates } from './utils/expodash/duplicates.js';\nimport { uniq } from './utils/expodash/uniq.js';\n\nexport abstract class AbstractConfigParser {\n protected readonly externalFunctions?: BuildFunction[];\n protected readonly externalFunctionGroups?: BuildFunctionGroup[];\n\n constructor(\n protected readonly ctx: BuildStepGlobalContext,\n {\n externalFunctions,\n externalFunctionGroups,\n }: {\n externalFunctions?: BuildFunction[];\n externalFunctionGroups?: BuildFunctionGroup[];\n }\n ) {\n this.validateExternalFunctions(externalFunctions);\n this.validateExternalFunctionGroups(externalFunctionGroups);\n\n this.externalFunctions = externalFunctions;\n this.externalFunctionGroups = externalFunctionGroups;\n }\n\n public async parseAsync(): Promise<BuildWorkflow> {\n const { buildSteps, buildFunctionById } =\n await this.parseConfigToBuildStepsAndBuildFunctionByIdMappingAsync();\n const workflow = new BuildWorkflow(this.ctx, { buildSteps, buildFunctions: buildFunctionById });\n await new BuildWorkflowValidator(workflow).validateAsync();\n return workflow;\n }\n\n protected abstract parseConfigToBuildStepsAndBuildFunctionByIdMappingAsync(): Promise<{\n buildSteps: BuildStep[];\n buildFunctionById: BuildFunctionById;\n }>;\n\n private validateExternalFunctions(externalFunctions?: BuildFunction[]): void {\n if (externalFunctions === undefined) {\n return;\n }\n const externalFunctionIds = externalFunctions.map((f) => f.getFullId());\n const duplicatedExternalFunctionIds = duplicates(externalFunctionIds);\n if (duplicatedExternalFunctionIds.length === 0) {\n return;\n }\n throw new BuildConfigError(\n `Provided external functions with duplicated IDs: ${duplicatedExternalFunctionIds\n .map((id) => `\"${id}\"`)\n .join(', ')}`\n );\n }\n\n private validateExternalFunctionGroups(externalFunctionGroups?: BuildFunctionGroup[]): void {\n if (externalFunctionGroups === undefined) {\n return;\n }\n const externalFunctionGroupIds = externalFunctionGroups.map((f) => f.getFullId());\n const duplicatedExternalFunctionGroupIds = duplicates(externalFunctionGroupIds);\n if (duplicatedExternalFunctionGroupIds.length === 0) {\n return;\n }\n throw new BuildConfigError(\n `Provided external function groups with duplicated IDs: ${duplicatedExternalFunctionGroupIds\n .map((id) => `\"${id}\"`)\n .join(', ')}`\n );\n }\n\n protected getExternalFunctionFullIds(): string[] {\n if (this.externalFunctions === undefined) {\n return [];\n }\n const ids = this.externalFunctions.map((f) => f.getFullId());\n return uniq(ids);\n }\n\n protected getExternalFunctionGroupFullIds(): string[] {\n if (this.externalFunctionGroups === undefined) {\n return [];\n }\n const ids = this.externalFunctionGroups.map((f) => f.getFullId());\n return uniq(ids);\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildConfig.js","sourceRoot":"","sources":["../src/BuildConfig.ts"],"names":[],"mappings":";;;;;;AA8QA,0FAqBC;AA2DD,oGAKC;AAED,0DAGC;AAED,wCAiBC;AAED,4EAaC;AAED,sDAEC;AAED,8DAEC;AAED,0DAEC;AAED,gGAIC;AAED,8DA8CC;AA5cD,oDAA4B;AAC5B,2DAA6B;AAC7B,gDAAwB;AAExB,8CAAsB;AACtB,gDAAwB;AAExB,2CAAmE;AACnE,uEAAiE;AACjE,2DAA2F;AAE3F,qDAAyF;AA8EzF,MAAM,yBAAyB,GAAG,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CACjD,aAAG,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,aAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;IAC3C,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,SAAS,EAAE,aAAG,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,YAAY,EAAE,aAAG,CAAC,IAAI,CAAC,eAAe,EAAE;YACtC,EAAE,EAAE,aAAG,CAAC,KAAK,EAAE;YACf,IAAI,EAAE,aAAG,CAAC,KAAK,CAAC,aAAG,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAChD,UAAU,EAAE,0CAA0C;aACvD,CAAC;SACH,CAAC;aACC,IAAI,CAAC,kBAAkB,EAAE;YACxB,EAAE,EAAE,+CAA2B,CAAC,MAAM;YACtC,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAC7B,CAAC;aACD,IAAI,CAAC,kBAAkB,EAAE;YACxB,EAAE,EAAE,+CAA2B,CAAC,OAAO;YACvC,IAAI,EAAE,aAAG,CAAC,YAAY,CACpB,aAAG,CAAC,OAAO,EAAE,EACb,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAClB,gEAAkD,EAClD,2CAA2C,CAC5C,CACF,CAAC,QAAQ,CAAC;gBACT,oBAAoB,EAClB,sEAAsE;aACzE,CAAC;SACH,CAAC;aACD,IAAI,CAAC,kBAAkB,EAAE;YACxB,EAAE,EAAE,+CAA2B,CAAC,MAAM;YACtC,IAAI,EAAE,aAAG,CAAC,YAAY,CACpB,aAAG,CAAC,MAAM,EAAE,EACZ,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAClB,gEAAkD,EAClD,2CAA2C,CAC5C,CACF,CAAC,QAAQ,CAAC;gBACT,oBAAoB,EAClB,qEAAqE;aACxE,CAAC;SACH,CAAC;aACD,IAAI,CAAC,kBAAkB,EAAE;YACxB,EAAE,EAAE,+CAA2B,CAAC,IAAI;YACpC,IAAI,EAAE,aAAG,CAAC,YAAY,CACpB,aAAG,CAAC,MAAM,EAAE,EACZ,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAClB,gEAAkD,EAClD,2CAA2C,CAC5C,CACF,CAAC,QAAQ,CAAC;gBACT,oBAAoB,EAClB,qEAAqE;aACxE,CAAC;SACH,CAAC;QACJ,aAAa,EAAE,aAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1C,EAAE,EAAE,+CAA2B,CAAC,MAAM;YACtC,IAAI,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAChD,CAAC;aACC,IAAI,CAAC,kBAAkB,EAAE;YACxB,EAAE,EAAE,+CAA2B,CAAC,OAAO;YACvC,IAAI,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,OAAO,EAAE,CAAC;SACvC,CAAC;aACD,IAAI,CAAC,kBAAkB,EAAE;YACxB,EAAE,EAAE,+CAA2B,CAAC,MAAM;YACtC,IAAI,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC;SACtC,CAAC;aACD,IAAI,CAAC,kBAAkB,EAAE;YACxB,EAAE,EAAE,+CAA2B,CAAC,IAAI;YACpC,IAAI,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC;SACtC,CAAC;QACJ,gBAAgB,EAAE,aAAG,CAAC,MAAM,EAAE;aAC3B,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,+CAA2B,CAAC,CAAC;aACpD,OAAO,CAAC,+CAA2B,CAAC,MAAM,CAAC;QAC9C,QAAQ,EAAE,aAAG,CAAC,OAAO,EAAE;KACxB,CAAC;SACC,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC;SACzC,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC;SACvC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC;SAClC,QAAQ,EAAE;CACd,CAAC,CACH,CAAC;AAEF,MAAM,sBAAsB,GAAG,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAC9C,aAAG,CAAC,YAAY,EAAE,CAAC,GAAG,CACpB,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EACvB,aAAG,CAAC,MAAM,CAAC;IACT,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,aAAG,CAAC,OAAO,EAAE;CACxB,CAAC,CAAC,QAAQ,EAAE,CACd,CACF,CAAC;AAEF,MAAM,uBAAuB,GAAG,aAAG,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAC1B,aAAG,CAAC,MAAM,EAAE,EACZ,aAAG,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,aAAG,CAAC,OAAO,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,CAC1F;IACD,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE;IAClB,gBAAgB,EAAE,aAAG,CAAC,MAAM,EAAE;IAC9B,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE;IACnB,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAG,CAAC,MAAM,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/D,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE;IAChB,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,kEAAkE;IAClE,YAAY,EAAE,aAAG,CAAC,MAAM,EAAE;CAC3B,CAAC,CAAC,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;AAEnD,MAAM,qBAAqB,GAAG,aAAG,CAAC,GAAG,EAAmB;KACrD,OAAO,CAAC,IAAI,CAAC;KACb,IAAI,CACH,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAClB,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EACvC,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAClC,EACD;IACE,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CACxB,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAC9C,uBAAuB,CAAC,QAAQ,EAAE,EAClC,EAAE,OAAO,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACnC;CACF,CACF;KACA,IAAI,CAAC,aAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE;IAC5D,IAAI,EAAE,aAAG,CAAC,MAAM,CAAC;QACf,GAAG,EAAE,uBAAuB,CAAC,IAAI,CAAC;YAChC,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACjC,CAAC;KACH,CAAC;CACH,CAAC;KACD,IAAI,CAAC,aAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE;IAClD,IAAI,EAAE,aAAG,CAAC,MAAM,CAAC;QACf,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;KACpC,CAAC;CACH,CAAC;KACD,IAAI,CAAC,aAAG,CAAC,MAAM,EAAE,EAAE;IAClB,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAC;AAEL,MAAM,yBAAyB,GAAG,aAAG,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE;IAClB,yBAAyB,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,8CAAoB,CAAC,CAAC;IACpF,MAAM,EAAE,yBAAyB;IACjC,OAAO,EAAE,sBAAsB;IAC/B,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE;IACrB,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE;CACpB,CAAC;KACC,MAAM,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;KAC1D,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;KACtB,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAEd,QAAA,8BAA8B,GAAG,aAAG,CAAC,MAAM,CAA2B;IACjF,mBAAmB,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1E,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAC7B,aAAG,CAAC,MAAM,EAAE;SACT,OAAO,CAAC,UAAU,EAAE,gBAAgB,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,KAAK,CAAC,EAClB,yBAAyB,CAAC,QAAQ,EAAE,CACrC;CACF,CAAC;KACC,MAAM,CAAC,QAAQ,EAAE,qBAAqB,CAAC;KACvC,QAAQ,EAAE,CAAC;AAED,QAAA,iBAAiB,GAAG,sCAA8B,CAAC,MAAM,CAAc;IAClF,KAAK,EAAE,aAAG,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE;QAClB,KAAK,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;KACtE,CAAC,CAAC,QAAQ,EAAE;CACd,CAAC,CAAC,QAAQ,EAAE,CAAC;AAQP,KAAK,UAAU,uCAAuC,CAC3D,UAAkB,EAClB,SAAsC,EAAE;IAExC,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,cAAc,CAAC,yBAAiB,EAAE,SAAS,CAAC,CAAC;IAC5D,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QAC5C,MAAM,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC;QAC/D,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,GAAG,sCAAsC,CAC1E,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EACxB,kBAAkB,CACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC7F,gCAAgC,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC5D,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,cAAsB,EACtB,mBAA8B;IAE9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,aAAa,GAAG,cAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,MAAM,iBAAiB,GAAmB,EAAE,CAAC;IAC7C,8DAA8D;IAC9D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,CAAC,cAAc,CAAC,CAAC,CAAC;IACvD,MAAM,kBAAkB,GAAG,CAAC,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,uBAAuB,EAAE,EAAE,CACrF,cAAI,CAAC,OAAO,CAAC,aAAa,EAAE,uBAAuB,CAAC,CACrD,CAAC;IACF,OAAO,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACnD,IAAA,gBAAM,EAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC;QACxD,IAAI,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YACtC,SAAS;QACX,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,4CAA4C,CAAC,eAAe,CAAC,CAAC;YACxF,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC/C,KAAK,MAAM,YAAY,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;gBACjD,IAAI,CAAC,CAAC,YAAY,IAAI,iBAAiB,CAAC,EAAE,CAAC;oBACzC,MAAM,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;oBAC9C,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;wBACX,CAAC,CAAC,IAAI,GAAG,sCAAsC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;oBACpE,CAAC;oBACD,iBAAiB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YACD,IAAI,WAAW,CAAC,mBAAmB,EAAE,CAAC;gBACpC,kBAAkB,CAAC,IAAI,CACrB,GAAG,WAAW,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CACtD,cAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CACrC,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,4BAAgB,EAAE,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,8BAAkB,CAAC,iDAAiD,EAAE,MAAM,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAEM,KAAK,UAAU,4CAA4C,CAChE,UAAkB;IAElB,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAC5D,OAAO,cAAc,CAAC,sCAA8B,EAAE,SAAS,CAAC,CAAC;AACnE,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAAC,UAAkB;IAC9D,MAAM,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxD,OAAO,cAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,cAAc,CAC5B,MAA2B,EAC3B,MAAc,EACd,cAAuB;IAEvB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;QAC/C,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IACH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,MAAM,IAAI,4BAAgB,CAAC,YAAY,EAAE;YACvC,KAAK,EAAE,KAAK;YACZ,GAAG,CAAC,cAAc,IAAI,EAAE,QAAQ,EAAE,EAAE,cAAc,EAAE,EAAE,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,gCAAgC,CAC9C,MAAmB,EACnB,iBAAiC;;IAEjC,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IACD,MAAM,CAAC,SAAS,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,EAAE,CAAC;IAC1C,KAAK,MAAM,YAAY,IAAI,iBAAiB,EAAE,CAAC;QAC7C,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CAAC,IAAqB;IACzD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC;AACnF,CAAC;AAED,SAAgB,yBAAyB,CAAC,IAAqB;IAC7D,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC;AACnF,CAAC;AAED,SAAgB,uBAAuB,CAAC,IAAqB;IAC3D,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,SAAgB,0CAA0C,CACxD,IAAqB;IAErB,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC;AAClC,CAAC;AAED,SAAgB,yBAAyB,CACvC,MAAmB,EACnB,EACE,mBAAmB,GAAG,EAAE,EACxB,yBAAyB,GAAG,EAAE,EAC9B,4CAA4C,GAChB;IAE9B,MAAM,kCAAkC,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,kCAAkC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAA,gBAAM,EACJ,IAAI,CAAC,MAAM,KAAK,CAAC,EACjB,wEAAwE,CACzE,CAAC;YACF,kCAAkC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,MAAM,8BAA8B,GAAG,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACtF,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC5D,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACxE,MAAM,oCAAoC,GAAG,8BAA8B,CAAC,MAAM,CAChF,CAAC,6BAA6B,EAAE,EAAE;;QAChC,IACE,kBAAkB,CAAC,6BAA6B,CAAC;YACjD,4CAA4C,EAC5C,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,CACL,CAAC,CAAC,6BAA6B,IAAI,CAAC,MAAA,MAAM,CAAC,SAAS,mCAAI,EAAE,CAAC,CAAC;YAC5D,CAAC,sBAAsB,CAAC,GAAG,CAAC,6BAA6B,CAAC;YAC1D,CAAC,4BAA4B,CAAC,GAAG,CAAC,6BAA6B,CAAC,CACjE,CAAC;IACJ,CAAC,CACF,CAAC;IACF,IAAI,oCAAoC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,4BAAgB,CACxB,mCAAmC,oCAAoC;aACpE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;aACpB,IAAI,CAAC,IAAI,CAAC,GAAG,CACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,sCAAsC,CAAC,GAAW,EAAE,kBAA0B;IACrF,IAAI,CAAC,cAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACzC,OAAO,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC","sourcesContent":["import assert from 'assert';\nimport fs from 'fs/promises';\nimport path from 'path';\n\nimport Joi from 'joi';\nimport YAML from 'yaml';\n\nimport { BuildConfigError, BuildWorkflowError } from './errors.js';\nimport { BuildRuntimePlatform } from './BuildRuntimePlatform.js';\nimport { BuildStepInputValueTypeName, BuildStepInputValueType } from './BuildStepInput.js';\nimport { BuildStepEnv } from './BuildStepEnv.js';\nimport { BUILD_STEP_OR_BUILD_GLOBAL_CONTEXT_REFERENCE_REGEX } from './utils/template.js';\n\nexport type BuildFunctions = Record<string, BuildFunctionConfig>;\n\ninterface BuildFunctionsConfigFile {\n configFilesToImport?: string[];\n functions?: BuildFunctions;\n}\n\nexport interface BuildConfig extends BuildFunctionsConfigFile {\n build: {\n name?: string;\n steps: BuildStepConfig[];\n };\n}\n\nexport type BuildStepConfig =\n | BuildStepCommandRun\n | BuildStepBareCommandRun\n | BuildStepFunctionCall\n | BuildStepBareFunctionOrFunctionGroupCall;\n\nexport type BuildStepCommandRun = {\n run: BuildFunctionCallConfig & {\n outputs?: BuildStepOutputs;\n command: string;\n };\n};\nexport type BuildStepBareCommandRun = { run: string };\nexport type BuildStepFunctionCall = {\n [functionId: string]: BuildFunctionCallConfig;\n};\nexport type BuildStepBareFunctionOrFunctionGroupCall = string;\n\nexport type BuildFunctionCallConfig = {\n id?: string;\n inputs?: BuildStepInputs;\n name?: string;\n workingDirectory?: string;\n shell?: string;\n env?: BuildStepEnv;\n if?: string;\n timeout_minutes?: number;\n // Internal field for metrics collection. Not documented publicly.\n __metrics_id?: string;\n};\n\nexport type BuildStepInputs = Record<string, unknown>;\nexport type BuildStepOutputs = (\n | string\n | {\n name: string;\n required?: boolean;\n }\n)[];\n\nexport interface BuildFunctionConfig {\n inputs?: BuildFunctionInputs;\n outputs?: BuildFunctionOutputs;\n name?: string;\n supportedRuntimePlatforms?: BuildRuntimePlatform[];\n shell?: string;\n command?: string;\n path?: string;\n}\n\nexport type BuildFunctionInputs = (\n | string\n | {\n name: string;\n defaultValue?: BuildStepInputValueType;\n allowedValues?: BuildStepInputValueType[];\n required?: boolean;\n allowedValueType: BuildStepInputValueTypeName;\n }\n)[];\nexport type BuildFunctionOutputs = BuildStepOutputs;\n\nconst BuildFunctionInputsSchema = Joi.array().items(\n Joi.alternatives().conditional(Joi.ref('.'), {\n is: Joi.string(),\n then: Joi.string().required(),\n otherwise: Joi.object({\n name: Joi.string().required(),\n defaultValue: Joi.when('allowedValues', {\n is: Joi.exist(),\n then: Joi.valid(Joi.in('allowedValues')).messages({\n 'any.only': '{{#label}} must be one of allowed values',\n }),\n })\n .when('allowedValueType', {\n is: BuildStepInputValueTypeName.STRING,\n then: Joi.string().allow(''),\n })\n .when('allowedValueType', {\n is: BuildStepInputValueTypeName.BOOLEAN,\n then: Joi.alternatives(\n Joi.boolean(),\n Joi.string().pattern(\n BUILD_STEP_OR_BUILD_GLOBAL_CONTEXT_REFERENCE_REGEX,\n 'context or output reference regex pattern'\n )\n ).messages({\n 'alternatives.types':\n '{{#label}} must be a boolean or reference to output or context value',\n }),\n })\n .when('allowedValueType', {\n is: BuildStepInputValueTypeName.NUMBER,\n then: Joi.alternatives(\n Joi.number(),\n Joi.string().pattern(\n BUILD_STEP_OR_BUILD_GLOBAL_CONTEXT_REFERENCE_REGEX,\n 'context or output reference regex pattern'\n )\n ).messages({\n 'alternatives.types':\n '{{#label}} must be a number or reference to output or context value',\n }),\n })\n .when('allowedValueType', {\n is: BuildStepInputValueTypeName.JSON,\n then: Joi.alternatives(\n Joi.object(),\n Joi.string().pattern(\n BUILD_STEP_OR_BUILD_GLOBAL_CONTEXT_REFERENCE_REGEX,\n 'context or output reference regex pattern'\n )\n ).messages({\n 'alternatives.types':\n '{{#label}} must be a object or reference to output or context value',\n }),\n }),\n allowedValues: Joi.when('allowedValueType', {\n is: BuildStepInputValueTypeName.STRING,\n then: Joi.array().items(Joi.string().allow('')),\n })\n .when('allowedValueType', {\n is: BuildStepInputValueTypeName.BOOLEAN,\n then: Joi.array().items(Joi.boolean()),\n })\n .when('allowedValueType', {\n is: BuildStepInputValueTypeName.NUMBER,\n then: Joi.array().items(Joi.number()),\n })\n .when('allowedValueType', {\n is: BuildStepInputValueTypeName.JSON,\n then: Joi.array().items(Joi.object()),\n }),\n allowedValueType: Joi.string()\n .valid(...Object.values(BuildStepInputValueTypeName))\n .default(BuildStepInputValueTypeName.STRING),\n required: Joi.boolean(),\n })\n .rename('allowed_values', 'allowedValues')\n .rename('default_value', 'defaultValue')\n .rename('type', 'allowedValueType')\n .required(),\n })\n);\n\nconst BuildStepOutputsSchema = Joi.array().items(\n Joi.alternatives().try(\n Joi.string().required(),\n Joi.object({\n name: Joi.string().required(),\n required: Joi.boolean(),\n }).required()\n )\n);\n\nconst BuildFunctionCallSchema = Joi.object({\n id: Joi.string(),\n inputs: Joi.object().pattern(\n Joi.string(),\n Joi.alternatives().try(Joi.string().allow(''), Joi.boolean(), Joi.number(), Joi.object())\n ),\n name: Joi.string(),\n workingDirectory: Joi.string(),\n shell: Joi.string(),\n env: Joi.object().pattern(Joi.string(), Joi.string().allow('')),\n if: Joi.string(),\n timeout_minutes: Joi.number().positive(),\n // Internal field for metrics collection. Not documented publicly.\n __metrics_id: Joi.string(),\n}).rename('working_directory', 'workingDirectory');\n\nconst BuildStepConfigSchema = Joi.any<BuildStepConfig>()\n .invalid(null)\n .when(\n Joi.object().pattern(\n Joi.string().disallow('run').required(),\n Joi.object().unknown().required()\n ),\n {\n then: Joi.object().pattern(\n Joi.string().disallow('run').min(1).required(),\n BuildFunctionCallSchema.required(),\n { matches: Joi.array().length(1) }\n ),\n }\n )\n .when(Joi.object({ run: Joi.object().unknown().required() }), {\n then: Joi.object({\n run: BuildFunctionCallSchema.keys({\n outputs: BuildStepOutputsSchema,\n command: Joi.string().required(),\n }),\n }),\n })\n .when(Joi.object({ run: Joi.string().required() }), {\n then: Joi.object({\n run: Joi.string().min(1).required(),\n }),\n })\n .when(Joi.string(), {\n then: Joi.string().min(1),\n });\n\nconst BuildFunctionConfigSchema = Joi.object({\n name: Joi.string(),\n supportedRuntimePlatforms: Joi.array().items(...Object.values(BuildRuntimePlatform)),\n inputs: BuildFunctionInputsSchema,\n outputs: BuildStepOutputsSchema,\n command: Joi.string(),\n path: Joi.string(),\n shell: Joi.string(),\n})\n .rename('supported_platforms', 'supportedRuntimePlatforms')\n .xor('command', 'path')\n .nand('command', 'path');\n\nexport const BuildFunctionsConfigFileSchema = Joi.object<BuildFunctionsConfigFile>({\n configFilesToImport: Joi.array().items(Joi.string().pattern(/\\.y(a)?ml$/)),\n functions: Joi.object().pattern(\n Joi.string()\n .pattern(/^[\\w-]+$/, 'function names')\n .min(1)\n .required()\n .disallow('run'),\n BuildFunctionConfigSchema.required()\n ),\n})\n .rename('import', 'configFilesToImport')\n .required();\n\nexport const BuildConfigSchema = BuildFunctionsConfigFileSchema.append<BuildConfig>({\n build: Joi.object({\n name: Joi.string(),\n steps: Joi.array().items(BuildStepConfigSchema.required()).required(),\n }).required(),\n}).required();\n\ninterface BuildConfigValidationParams {\n externalFunctionIds?: string[];\n externalFunctionGroupsIds?: string[];\n skipNamespacedFunctionsOrFunctionGroupsCheck?: boolean;\n}\n\nexport async function readAndValidateBuildConfigFromPathAsync(\n configPath: string,\n params: BuildConfigValidationParams = {}\n): Promise<BuildConfig> {\n const rawConfig = await readRawBuildConfigAsync(configPath);\n\n const config = validateConfig(BuildConfigSchema, rawConfig);\n for (const functionName in config.functions) {\n const customFunctionPath = config.functions[functionName].path;\n if (customFunctionPath) {\n config.functions[functionName].path = maybeResolveCustomFunctionRelativePath(\n path.dirname(configPath),\n customFunctionPath\n );\n }\n }\n\n const importedFunctions = await importFunctionsAsync(configPath, config.configFilesToImport);\n mergeConfigWithImportedFunctions(config, importedFunctions);\n validateAllFunctionsExist(config, params);\n return config;\n}\n\nasync function importFunctionsAsync(\n baseConfigPath: string,\n configPathsToImport?: string[]\n): Promise<BuildFunctions> {\n if (!configPathsToImport) {\n return {};\n }\n\n const baseConfigDir = path.dirname(baseConfigPath);\n\n const errors: BuildConfigError[] = [];\n const importedFunctions: BuildFunctions = {};\n // this is a set of visited files identified by ABSOLUTE paths\n const visitedFiles = new Set<string>([baseConfigPath]);\n const configFilesToVisit = (configPathsToImport ?? []).map((childConfigRelativePath) =>\n path.resolve(baseConfigDir, childConfigRelativePath)\n );\n while (configFilesToVisit.length > 0) {\n const childConfigPath = configFilesToVisit.shift();\n assert(childConfigPath, 'Guaranteed by loop condition');\n if (visitedFiles.has(childConfigPath)) {\n continue;\n }\n visitedFiles.add(childConfigPath);\n try {\n const childConfig = await readAndValidateBuildFunctionsConfigFileAsync(childConfigPath);\n const childDir = path.dirname(childConfigPath);\n for (const functionName in childConfig.functions) {\n if (!(functionName in importedFunctions)) {\n const f = childConfig.functions[functionName];\n if (f.path) {\n f.path = maybeResolveCustomFunctionRelativePath(childDir, f.path);\n }\n importedFunctions[functionName] = f;\n }\n }\n if (childConfig.configFilesToImport) {\n configFilesToVisit.push(\n ...childConfig.configFilesToImport.map((relativePath) =>\n path.resolve(childDir, relativePath)\n )\n );\n }\n } catch (err) {\n if (err instanceof BuildConfigError) {\n errors.push(err);\n } else {\n throw err;\n }\n }\n }\n if (errors.length > 0) {\n throw new BuildWorkflowError(`Detected build config errors in imported files.`, errors);\n }\n return importedFunctions;\n}\n\nexport async function readAndValidateBuildFunctionsConfigFileAsync(\n configPath: string\n): Promise<BuildFunctionsConfigFile> {\n const rawConfig = await readRawBuildConfigAsync(configPath);\n return validateConfig(BuildFunctionsConfigFileSchema, rawConfig);\n}\n\nexport async function readRawBuildConfigAsync(configPath: string): Promise<any> {\n const contents = await fs.readFile(configPath, 'utf-8');\n return YAML.parse(contents);\n}\n\nexport function validateConfig<T>(\n schema: Joi.ObjectSchema<T>,\n config: object,\n configFilePath?: string\n): T {\n const { error, value } = schema.validate(config, {\n allowUnknown: false,\n abortEarly: false,\n });\n if (error) {\n const errorMessage = error.details.map(({ message }) => message).join(', ');\n throw new BuildConfigError(errorMessage, {\n cause: error,\n ...(configFilePath && { metadata: { configFilePath } }),\n });\n }\n return value;\n}\n\nexport function mergeConfigWithImportedFunctions(\n config: BuildConfig,\n importedFunctions: BuildFunctions\n): void {\n if (Object.keys(importedFunctions).length === 0) {\n return;\n }\n config.functions = config.functions ?? {};\n for (const functionName in importedFunctions) {\n if (!(functionName in config.functions)) {\n config.functions[functionName] = importedFunctions[functionName];\n }\n }\n}\n\nexport function isBuildStepCommandRun(step: BuildStepConfig): step is BuildStepCommandRun {\n return Boolean(step) && typeof step === 'object' && typeof step.run === 'object';\n}\n\nexport function isBuildStepBareCommandRun(step: BuildStepConfig): step is BuildStepBareCommandRun {\n return Boolean(step) && typeof step === 'object' && typeof step.run === 'string';\n}\n\nexport function isBuildStepFunctionCall(step: BuildStepConfig): step is BuildStepFunctionCall {\n return Boolean(step) && typeof step === 'object' && !('run' in step);\n}\n\nexport function isBuildStepBareFunctionOrFunctionGroupCall(\n step: BuildStepConfig\n): step is BuildStepBareFunctionOrFunctionGroupCall {\n return typeof step === 'string';\n}\n\nexport function validateAllFunctionsExist(\n config: BuildConfig,\n {\n externalFunctionIds = [],\n externalFunctionGroupsIds = [],\n skipNamespacedFunctionsOrFunctionGroupsCheck,\n }: BuildConfigValidationParams\n): void {\n const calledFunctionsOrFunctionGroupsSet = new Set<string>();\n for (const step of config.build.steps) {\n if (typeof step === 'string') {\n calledFunctionsOrFunctionGroupsSet.add(step);\n } else if (step !== null && !('run' in step)) {\n const keys = Object.keys(step);\n assert(\n keys.length === 1,\n 'There must be at most one function call in the step (enforced by joi).'\n );\n calledFunctionsOrFunctionGroupsSet.add(keys[0]);\n }\n }\n const calledFunctionsOrFunctionGroup = Array.from(calledFunctionsOrFunctionGroupsSet);\n const externalFunctionIdsSet = new Set(externalFunctionIds);\n const externalFunctionGroupsIdsSet = new Set(externalFunctionGroupsIds);\n const nonExistentFunctionsOrFunctionGroups = calledFunctionsOrFunctionGroup.filter(\n (calledFunctionOrFunctionGroup) => {\n if (\n isFullIdNamespaced(calledFunctionOrFunctionGroup) &&\n skipNamespacedFunctionsOrFunctionGroupsCheck\n ) {\n return false;\n }\n return (\n !(calledFunctionOrFunctionGroup in (config.functions ?? {})) &&\n !externalFunctionIdsSet.has(calledFunctionOrFunctionGroup) &&\n !externalFunctionGroupsIdsSet.has(calledFunctionOrFunctionGroup)\n );\n }\n );\n if (nonExistentFunctionsOrFunctionGroups.length > 0) {\n throw new BuildConfigError(\n `Calling non-existent functions: ${nonExistentFunctionsOrFunctionGroups\n .map((f) => `\"${f}\"`)\n .join(', ')}.`\n );\n }\n}\n\nfunction maybeResolveCustomFunctionRelativePath(dir: string, customFunctionPath: string): string {\n if (!path.isAbsolute(customFunctionPath)) {\n return path.resolve(dir, customFunctionPath);\n }\n return customFunctionPath;\n}\n\nfunction isFullIdNamespaced(fullId: string): boolean {\n return fullId.includes('/');\n}\n"]}
@@ -1,33 +0,0 @@
1
- import { BuildFunction, BuildFunctionById } from './BuildFunction.js';
2
- import { BuildStep } from './BuildStep.js';
3
- import { BuildStepGlobalContext } from './BuildStepContext.js';
4
- import { BuildFunctionGroup } from './BuildFunctionGroup.js';
5
- import { AbstractConfigParser } from './AbstractConfigParser.js';
6
- export declare class BuildConfigParser extends AbstractConfigParser {
7
- private readonly configPath;
8
- constructor(ctx: BuildStepGlobalContext, { configPath, externalFunctions, externalFunctionGroups, }: {
9
- configPath: string;
10
- externalFunctions?: BuildFunction[];
11
- externalFunctionGroups?: BuildFunctionGroup[];
12
- });
13
- protected parseConfigToBuildStepsAndBuildFunctionByIdMappingAsync(): Promise<{
14
- buildSteps: BuildStep[];
15
- buildFunctionById: BuildFunctionById;
16
- }>;
17
- private createBuildStepFromConfig;
18
- private createBuildStepFromBuildStepCommandRun;
19
- private createBuildStepFromBuildStepBareCommandRun;
20
- private createBuildStepsFromBuildStepFunctionGroupCall;
21
- private createBuildStepsFromBuildStepBareFunctionGroupCall;
22
- private createBuildStepFromBuildStepBareFunctionCall;
23
- private createBuildStepsFromBareBuildStepFunctionOrBareBuildStepFunctionGroupCall;
24
- private createBuildStepsFromBuildStepFunctionOrBuildStepFunctionGroupCall;
25
- private createBuildStepFromBuildStepFunctionCall;
26
- private createBuildFunctionsFromConfig;
27
- private createBuildFunctionFromConfig;
28
- private createBuildStepInputsFromDefinition;
29
- private createBuildStepInputProvidersFromBuildFunctionInputs;
30
- private createBuildStepOutputsFromDefinition;
31
- private createBuildStepOutputProvidersFromBuildFunctionOutputs;
32
- private mergeBuildFunctionsWithExternal;
33
- }