@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.
- package/LICENSE +21 -100
- package/README.md +1 -1
- package/{dist_commonjs → dist}/AbstractConfigParser.d.ts +5 -5
- package/{dist_commonjs/AbstractConfigParser.cjs → dist/AbstractConfigParser.js} +22 -20
- package/{dist_commonjs → dist}/BuildConfig.d.ts +3 -3
- package/{dist_commonjs/BuildConfig.cjs → dist/BuildConfig.js} +29 -32
- package/{dist_esm → dist}/BuildConfigParser.d.ts +5 -5
- package/{dist_commonjs/BuildConfigParser.cjs → dist/BuildConfigParser.js} +40 -48
- package/{dist_esm → dist}/BuildFunction.d.ts +6 -6
- package/{dist_commonjs/BuildFunction.cjs → dist/BuildFunction.js} +23 -13
- package/{dist_commonjs → dist}/BuildFunctionGroup.d.ts +4 -4
- package/{dist_commonjs/BuildFunctionGroup.cjs → dist/BuildFunctionGroup.js} +9 -7
- package/{dist_commonjs/BuildRuntimePlatform.cjs → dist/BuildRuntimePlatform.js} +0 -1
- package/{dist_esm → dist}/BuildStep.d.ts +5 -5
- package/{dist_commonjs/BuildStep.cjs → dist/BuildStep.js} +66 -46
- package/{dist_commonjs → dist}/BuildStepContext.d.ts +4 -4
- package/{dist_commonjs/BuildStepContext.cjs → dist/BuildStepContext.js} +28 -22
- package/{dist_commonjs/StepMetrics.cjs → dist/BuildStepEnv.js} +0 -1
- package/{dist_esm → dist}/BuildStepInput.d.ts +1 -1
- package/{dist_commonjs/BuildStepInput.cjs → dist/BuildStepInput.js} +23 -19
- package/{dist_commonjs → dist}/BuildStepOutput.d.ts +1 -1
- package/{dist_commonjs/BuildStepOutput.cjs → dist/BuildStepOutput.js} +9 -7
- package/{dist_commonjs → dist}/BuildTemporaryFiles.d.ts +1 -1
- package/{dist_commonjs/BuildTemporaryFiles.cjs → dist/BuildTemporaryFiles.js} +1 -2
- package/{dist_commonjs → dist}/BuildWorkflow.d.ts +3 -3
- package/{dist_commonjs/BuildWorkflow.cjs → dist/BuildWorkflow.js} +5 -3
- package/{dist_commonjs → dist}/BuildWorkflowValidator.d.ts +1 -1
- package/{dist_commonjs/BuildWorkflowValidator.cjs → dist/BuildWorkflowValidator.js} +25 -26
- package/{dist_commonjs/BuildStepEnv.cjs → dist/StepMetrics.js} +0 -1
- package/{dist_commonjs → dist}/StepsConfigParser.d.ts +5 -5
- package/{dist_commonjs/StepsConfigParser.cjs → dist/StepsConfigParser.js} +21 -25
- package/{dist_esm → dist}/cli/cli.d.ts +3 -3
- package/{dist_commonjs/cli/cli.cjs → dist/cli/cli.js} +17 -12
- package/{dist_commonjs/errors.cjs → dist/errors.js} +7 -4
- package/dist/index.d.ts +19 -0
- package/dist/index.js +69 -0
- package/{dist_commonjs/interpolation.cjs → dist/interpolation.js} +4 -5
- package/{dist_commonjs/scripts/runCustomFunction.cjs → dist/scripts/runCustomFunction.js} +10 -11
- package/{dist_commonjs → dist}/utils/customFunction.d.ts +4 -4
- package/{dist_commonjs/utils/customFunction.cjs → dist/utils/customFunction.js} +5 -8
- package/{dist_commonjs/utils/expodash/duplicates.cjs → dist/utils/expodash/duplicates.js} +0 -1
- package/{dist_commonjs/utils/expodash/uniq.cjs → dist/utils/expodash/uniq.js} +0 -1
- package/{dist_commonjs/utils/hashFiles.cjs → dist/utils/hashFiles.js} +1 -2
- package/{dist_commonjs/utils/jsepEval.cjs → dist/utils/jsepEval.js} +4 -5
- package/{dist_commonjs/utils/nullthrows.cjs → dist/utils/nullthrows.js} +1 -2
- package/{dist_commonjs/utils/shell/bin.cjs → dist/utils/shell/bin.js} +1 -4
- package/{dist_commonjs/utils/shell/command.cjs → dist/utils/shell/command.js} +0 -1
- package/{dist_commonjs → dist}/utils/shell/spawn.d.ts +2 -2
- package/{dist_commonjs/utils/shell/spawn.cjs → dist/utils/shell/spawn.js} +0 -1
- package/{dist_commonjs/utils/template.cjs → dist/utils/template.js} +10 -11
- package/package.json +29 -44
- package/dist_commonjs/AbstractConfigParser.js.map +0 -1
- package/dist_commonjs/BuildConfig.js.map +0 -1
- package/dist_commonjs/BuildConfigParser.d.ts +0 -33
- package/dist_commonjs/BuildConfigParser.js.map +0 -1
- package/dist_commonjs/BuildFunction.d.ts +0 -45
- package/dist_commonjs/BuildFunction.js.map +0 -1
- package/dist_commonjs/BuildFunctionGroup.js.map +0 -1
- package/dist_commonjs/BuildRuntimePlatform.js.map +0 -1
- package/dist_commonjs/BuildStep.d.ts +0 -100
- package/dist_commonjs/BuildStep.js.map +0 -1
- package/dist_commonjs/BuildStepContext.js.map +0 -1
- package/dist_commonjs/BuildStepEnv.js.map +0 -1
- package/dist_commonjs/BuildStepInput.d.ts +0 -47
- package/dist_commonjs/BuildStepInput.js.map +0 -1
- package/dist_commonjs/BuildStepOutput.js.map +0 -1
- package/dist_commonjs/BuildTemporaryFiles.js.map +0 -1
- package/dist_commonjs/BuildWorkflow.js.map +0 -1
- package/dist_commonjs/BuildWorkflowValidator.js.map +0 -1
- package/dist_commonjs/StepMetrics.js.map +0 -1
- package/dist_commonjs/StepsConfigParser.js.map +0 -1
- package/dist_commonjs/cli/cli.d.ts +0 -18
- package/dist_commonjs/cli/cli.js.map +0 -1
- package/dist_commonjs/errors.js.map +0 -1
- package/dist_commonjs/index.cjs +0 -60
- package/dist_commonjs/index.d.ts +0 -19
- package/dist_commonjs/index.js.map +0 -1
- package/dist_commonjs/interpolation.js.map +0 -1
- package/dist_commonjs/scripts/runCustomFunction.js.map +0 -1
- package/dist_commonjs/utils/customFunction.js.map +0 -1
- package/dist_commonjs/utils/expodash/duplicates.js.map +0 -1
- package/dist_commonjs/utils/expodash/uniq.js.map +0 -1
- package/dist_commonjs/utils/hashFiles.js.map +0 -1
- package/dist_commonjs/utils/jsepEval.js.map +0 -1
- package/dist_commonjs/utils/nullthrows.js.map +0 -1
- package/dist_commonjs/utils/shell/bin.js.map +0 -1
- package/dist_commonjs/utils/shell/command.js.map +0 -1
- package/dist_commonjs/utils/shell/spawn.js.map +0 -1
- package/dist_commonjs/utils/template.js.map +0 -1
- package/dist_esm/AbstractConfigParser.d.ts +0 -23
- package/dist_esm/AbstractConfigParser.js +0 -61
- package/dist_esm/AbstractConfigParser.js.map +0 -1
- package/dist_esm/BuildConfig.d.ts +0 -80
- package/dist_esm/BuildConfig.js +0 -281
- package/dist_esm/BuildConfig.js.map +0 -1
- package/dist_esm/BuildConfigParser.js +0 -233
- package/dist_esm/BuildConfigParser.js.map +0 -1
- package/dist_esm/BuildFunction.js +0 -62
- package/dist_esm/BuildFunction.js.map +0 -1
- package/dist_esm/BuildFunctionGroup.d.ts +0 -23
- package/dist_esm/BuildFunctionGroup.js +0 -36
- package/dist_esm/BuildFunctionGroup.js.map +0 -1
- package/dist_esm/BuildRuntimePlatform.d.ts +0 -4
- package/dist_esm/BuildRuntimePlatform.js +0 -6
- package/dist_esm/BuildRuntimePlatform.js.map +0 -1
- package/dist_esm/BuildStep.js +0 -354
- package/dist_esm/BuildStep.js.map +0 -1
- package/dist_esm/BuildStepContext.d.ts +0 -86
- package/dist_esm/BuildStepContext.js +0 -207
- package/dist_esm/BuildStepContext.js.map +0 -1
- package/dist_esm/BuildStepEnv.d.ts +0 -1
- package/dist_esm/BuildStepEnv.js +0 -2
- package/dist_esm/BuildStepEnv.js.map +0 -1
- package/dist_esm/BuildStepInput.js +0 -150
- package/dist_esm/BuildStepInput.js.map +0 -1
- package/dist_esm/BuildStepOutput.d.ts +0 -33
- package/dist_esm/BuildStepOutput.js +0 -57
- package/dist_esm/BuildStepOutput.js.map +0 -1
- package/dist_esm/BuildTemporaryFiles.d.ts +0 -5
- package/dist_esm/BuildTemporaryFiles.js +0 -31
- package/dist_esm/BuildTemporaryFiles.js.map +0 -1
- package/dist_esm/BuildWorkflow.d.ts +0 -14
- package/dist_esm/BuildWorkflow.js +0 -55
- package/dist_esm/BuildWorkflow.js.map +0 -1
- package/dist_esm/BuildWorkflowValidator.d.ts +0 -10
- package/dist_esm/BuildWorkflowValidator.js +0 -121
- package/dist_esm/BuildWorkflowValidator.js.map +0 -1
- package/dist_esm/StepMetrics.d.ts +0 -10
- package/dist_esm/StepMetrics.js +0 -2
- package/dist_esm/StepMetrics.js.map +0 -1
- package/dist_esm/StepsConfigParser.d.ts +0 -24
- package/dist_esm/StepsConfigParser.js +0 -133
- package/dist_esm/StepsConfigParser.js.map +0 -1
- package/dist_esm/cli/cli.js +0 -61
- package/dist_esm/cli/cli.js.map +0 -1
- package/dist_esm/errors.d.ts +0 -24
- package/dist_esm/errors.js +0 -24
- package/dist_esm/errors.js.map +0 -1
- package/dist_esm/index.d.ts +0 -19
- package/dist_esm/index.js +0 -18
- package/dist_esm/index.js.map +0 -1
- package/dist_esm/interpolation.d.ts +0 -5
- package/dist_esm/interpolation.js +0 -26
- package/dist_esm/interpolation.js.map +0 -1
- package/dist_esm/scripts/runCustomFunction.d.ts +0 -1
- package/dist_esm/scripts/runCustomFunction.js +0 -100
- package/dist_esm/scripts/runCustomFunction.js.map +0 -1
- package/dist_esm/utils/customFunction.d.ts +0 -18
- package/dist_esm/utils/customFunction.js +0 -49
- package/dist_esm/utils/customFunction.js.map +0 -1
- package/dist_esm/utils/expodash/duplicates.d.ts +0 -1
- package/dist_esm/utils/expodash/duplicates.js +0 -14
- package/dist_esm/utils/expodash/duplicates.js.map +0 -1
- package/dist_esm/utils/expodash/uniq.d.ts +0 -1
- package/dist_esm/utils/expodash/uniq.js +0 -5
- package/dist_esm/utils/expodash/uniq.js.map +0 -1
- package/dist_esm/utils/hashFiles.d.ts +0 -6
- package/dist_esm/utils/hashFiles.js +0 -31
- package/dist_esm/utils/hashFiles.js.map +0 -1
- package/dist_esm/utils/jsepEval.d.ts +0 -1
- package/dist_esm/utils/jsepEval.js +0 -169
- package/dist_esm/utils/jsepEval.js.map +0 -1
- package/dist_esm/utils/nullthrows.d.ts +0 -1
- package/dist_esm/utils/nullthrows.js +0 -7
- package/dist_esm/utils/nullthrows.js.map +0 -1
- package/dist_esm/utils/shell/bin.d.ts +0 -1
- package/dist_esm/utils/shell/bin.js +0 -5
- package/dist_esm/utils/shell/bin.js.map +0 -1
- package/dist_esm/utils/shell/command.d.ts +0 -4
- package/dist_esm/utils/shell/command.js +0 -13
- package/dist_esm/utils/shell/command.js.map +0 -1
- package/dist_esm/utils/shell/spawn.d.ts +0 -15
- package/dist_esm/utils/shell/spawn.js +0 -16
- package/dist_esm/utils/shell/spawn.js.map +0 -1
- package/dist_esm/utils/template.d.ts +0 -19
- package/dist_esm/utils/template.js +0 -106
- package/dist_esm/utils/template.js.map +0 -1
- /package/{dist_commonjs → dist}/BuildRuntimePlatform.d.ts +0 -0
- /package/{dist_commonjs → dist}/BuildStepEnv.d.ts +0 -0
- /package/{dist_commonjs → dist}/StepMetrics.d.ts +0 -0
- /package/{dist_commonjs → dist}/errors.d.ts +0 -0
- /package/{dist_commonjs → dist}/interpolation.d.ts +0 -0
- /package/{dist_commonjs → dist}/scripts/runCustomFunction.d.ts +0 -0
- /package/{dist_commonjs → dist}/utils/expodash/duplicates.d.ts +0 -0
- /package/{dist_commonjs → dist}/utils/expodash/uniq.d.ts +0 -0
- /package/{dist_commonjs → dist}/utils/hashFiles.d.ts +0 -0
- /package/{dist_commonjs → dist}/utils/jsepEval.d.ts +0 -0
- /package/{dist_commonjs → dist}/utils/nullthrows.d.ts +0 -0
- /package/{dist_commonjs → dist}/utils/shell/bin.d.ts +0 -0
- /package/{dist_commonjs → dist}/utils/shell/command.d.ts +0 -0
- /package/{dist_commonjs → dist}/utils/template.d.ts +0 -0
|
@@ -5,9 +5,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.BuildFunction = void 0;
|
|
7
7
|
const assert_1 = __importDefault(require("assert"));
|
|
8
|
-
const
|
|
9
|
-
const
|
|
8
|
+
const BuildStep_1 = require("./BuildStep");
|
|
9
|
+
const customFunction_1 = require("./utils/customFunction");
|
|
10
10
|
class BuildFunction {
|
|
11
|
+
namespace;
|
|
12
|
+
id;
|
|
13
|
+
name;
|
|
14
|
+
supportedRuntimePlatforms;
|
|
15
|
+
inputProviders;
|
|
16
|
+
outputProviders;
|
|
17
|
+
command;
|
|
18
|
+
customFunctionModulePath;
|
|
19
|
+
fn;
|
|
20
|
+
shell;
|
|
21
|
+
__metricsId;
|
|
11
22
|
constructor({ namespace, id, name, supportedRuntimePlatforms, inputProviders, outputProviders, command, fn, customFunctionModulePath, shell, __metricsId, }) {
|
|
12
23
|
(0, assert_1.default)(command !== undefined || fn !== undefined || customFunctionModulePath !== undefined, 'Either command, fn or path must be defined.');
|
|
13
24
|
(0, assert_1.default)(!(command !== undefined && fn !== undefined), 'Command and fn cannot be both set.');
|
|
@@ -29,30 +40,30 @@ class BuildFunction {
|
|
|
29
40
|
return this.namespace === undefined ? this.id : `${this.namespace}/${this.id}`;
|
|
30
41
|
}
|
|
31
42
|
createBuildStepFromFunctionCall(ctx, { id, name, callInputs = {}, workingDirectory, shell, env, ifCondition, timeoutMs, } = {}) {
|
|
32
|
-
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
const buildStepDisplayName = BuildStep_js_1.BuildStep.getDisplayName({
|
|
43
|
+
const buildStepId = BuildStep_1.BuildStep.getNewId(id);
|
|
44
|
+
const buildStepName = name ?? this.name;
|
|
45
|
+
const buildStepDisplayName = BuildStep_1.BuildStep.getDisplayName({
|
|
36
46
|
id: buildStepId,
|
|
37
47
|
command: this.command,
|
|
38
48
|
name: buildStepName,
|
|
39
49
|
});
|
|
40
|
-
const inputs =
|
|
50
|
+
const inputs = this.inputProviders?.map(inputProvider => {
|
|
41
51
|
const input = inputProvider(ctx, buildStepId);
|
|
42
52
|
if (input.id in callInputs) {
|
|
43
53
|
input.set(callInputs[input.id]);
|
|
44
54
|
}
|
|
45
55
|
return input;
|
|
46
56
|
});
|
|
47
|
-
const outputs =
|
|
48
|
-
return new
|
|
57
|
+
const outputs = this.outputProviders?.map(outputProvider => outputProvider(ctx, buildStepId));
|
|
58
|
+
return new BuildStep_1.BuildStep(ctx, {
|
|
49
59
|
id: buildStepId,
|
|
50
60
|
name: buildStepName,
|
|
51
61
|
displayName: buildStepDisplayName,
|
|
52
62
|
command: this.command,
|
|
53
|
-
fn:
|
|
54
|
-
|
|
55
|
-
|
|
63
|
+
fn: this.fn ??
|
|
64
|
+
(this.customFunctionModulePath
|
|
65
|
+
? (0, customFunction_1.createCustomFunctionCall)(this.customFunctionModulePath)
|
|
66
|
+
: undefined),
|
|
56
67
|
workingDirectory,
|
|
57
68
|
inputs,
|
|
58
69
|
outputs,
|
|
@@ -66,4 +77,3 @@ class BuildFunction {
|
|
|
66
77
|
}
|
|
67
78
|
}
|
|
68
79
|
exports.BuildFunction = BuildFunction;
|
|
69
|
-
//# sourceMappingURL=BuildFunction.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BuildFunctionCallInputs } from './BuildFunction
|
|
2
|
-
import { BuildStep } from './BuildStep
|
|
3
|
-
import { BuildStepGlobalContext } from './BuildStepContext
|
|
4
|
-
import { BuildStepInputById, BuildStepInputProvider } from './BuildStepInput
|
|
1
|
+
import { BuildFunctionCallInputs } from './BuildFunction';
|
|
2
|
+
import { BuildStep } from './BuildStep';
|
|
3
|
+
import { BuildStepGlobalContext } from './BuildStepContext';
|
|
4
|
+
import { BuildStepInputById, BuildStepInputProvider } from './BuildStepInput';
|
|
5
5
|
export type BuildFunctionGroupById = Record<string, BuildFunctionGroup | undefined>;
|
|
6
6
|
export declare class BuildFunctionGroup {
|
|
7
7
|
readonly namespace: string;
|
|
@@ -2,16 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BuildFunctionGroup = void 0;
|
|
4
4
|
exports.createBuildFunctionGroupByIdMapping = createBuildFunctionGroupByIdMapping;
|
|
5
|
-
const
|
|
6
|
-
const
|
|
5
|
+
const BuildStepInput_1 = require("./BuildStepInput");
|
|
6
|
+
const errors_1 = require("./errors");
|
|
7
7
|
class BuildFunctionGroup {
|
|
8
|
+
namespace;
|
|
9
|
+
id;
|
|
10
|
+
inputProviders;
|
|
11
|
+
createBuildStepsFromFunctionGroupCall;
|
|
8
12
|
constructor({ namespace, id, inputProviders, createBuildStepsFromFunctionGroupCall, }) {
|
|
9
13
|
this.namespace = namespace;
|
|
10
14
|
this.id = id;
|
|
11
15
|
this.inputProviders = inputProviders;
|
|
12
16
|
this.createBuildStepsFromFunctionGroupCall = (ctx, { callInputs = {} } = {}) => {
|
|
13
|
-
|
|
14
|
-
const inputs = (_a = this.inputProviders) === null || _a === void 0 ? void 0 : _a.map((inputProvider) => {
|
|
17
|
+
const inputs = this.inputProviders?.map(inputProvider => {
|
|
15
18
|
const input = inputProvider(ctx, id);
|
|
16
19
|
if (input.id in callInputs) {
|
|
17
20
|
input.set(callInputs[input.id]);
|
|
@@ -19,7 +22,7 @@ class BuildFunctionGroup {
|
|
|
19
22
|
return input;
|
|
20
23
|
});
|
|
21
24
|
return createBuildStepsFromFunctionGroupCall(ctx, {
|
|
22
|
-
inputs: (0,
|
|
25
|
+
inputs: (0, BuildStepInput_1.makeBuildStepInputByIdMap)(inputs),
|
|
23
26
|
});
|
|
24
27
|
};
|
|
25
28
|
}
|
|
@@ -32,10 +35,9 @@ function createBuildFunctionGroupByIdMapping(buildFunctionGroups) {
|
|
|
32
35
|
const buildFunctionGroupById = {};
|
|
33
36
|
for (const buildFunctionGroup of buildFunctionGroups) {
|
|
34
37
|
if (buildFunctionGroupById[buildFunctionGroup.getFullId()] !== undefined) {
|
|
35
|
-
throw new
|
|
38
|
+
throw new errors_1.BuildConfigError(`Build function group with id ${buildFunctionGroup.getFullId()} is already defined.`);
|
|
36
39
|
}
|
|
37
40
|
buildFunctionGroupById[buildFunctionGroup.getFullId()] = buildFunctionGroup;
|
|
38
41
|
}
|
|
39
42
|
return buildFunctionGroupById;
|
|
40
43
|
}
|
|
41
|
-
//# sourceMappingURL=BuildFunctionGroup.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { BuildRuntimePlatform } from './BuildRuntimePlatform';
|
|
2
|
+
import { BuildStepContext, BuildStepGlobalContext } from './BuildStepContext';
|
|
3
|
+
import { BuildStepEnv } from './BuildStepEnv';
|
|
4
|
+
import { BuildStepInput } from './BuildStepInput';
|
|
5
|
+
import { BuildStepOutput, BuildStepOutputById, SerializedBuildStepOutput } from './BuildStepOutput';
|
|
6
6
|
export declare enum BuildStepStatus {
|
|
7
7
|
NEW = "new",
|
|
8
8
|
IN_PROGRESS = "in-progress",
|
|
@@ -5,20 +5,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.BuildStep = exports.BuildStepOutputAccessor = exports.BuildStepLogMarker = exports.BuildStepStatus = void 0;
|
|
7
7
|
const assert_1 = __importDefault(require("assert"));
|
|
8
|
+
const buffer_1 = require("buffer");
|
|
8
9
|
const promises_1 = __importDefault(require("fs/promises"));
|
|
9
10
|
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const buffer_1 = require("buffer");
|
|
11
11
|
const uuid_1 = require("uuid");
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
12
|
+
const BuildStepInput_1 = require("./BuildStepInput");
|
|
13
|
+
const BuildStepOutput_1 = require("./BuildStepOutput");
|
|
14
|
+
const BuildTemporaryFiles_1 = require("./BuildTemporaryFiles");
|
|
15
|
+
const errors_1 = require("./errors");
|
|
16
|
+
const interpolation_1 = require("./interpolation");
|
|
17
|
+
const jsepEval_1 = require("./utils/jsepEval");
|
|
18
|
+
const bin_1 = require("./utils/shell/bin");
|
|
19
|
+
const command_1 = require("./utils/shell/command");
|
|
20
|
+
const spawn_1 = require("./utils/shell/spawn");
|
|
21
|
+
const template_1 = require("./utils/template");
|
|
22
22
|
var BuildStepStatus;
|
|
23
23
|
(function (BuildStepStatus) {
|
|
24
24
|
BuildStepStatus["NEW"] = "new";
|
|
@@ -36,6 +36,10 @@ var BuildStepLogMarker;
|
|
|
36
36
|
// TODO: move to a place common with tests
|
|
37
37
|
const UUID_REGEX = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/;
|
|
38
38
|
class BuildStepOutputAccessor {
|
|
39
|
+
id;
|
|
40
|
+
displayName;
|
|
41
|
+
executed;
|
|
42
|
+
outputById;
|
|
39
43
|
constructor(id, displayName, executed, outputById) {
|
|
40
44
|
this.id = id;
|
|
41
45
|
this.displayName = displayName;
|
|
@@ -47,10 +51,10 @@ class BuildStepOutputAccessor {
|
|
|
47
51
|
}
|
|
48
52
|
getOutputValueByName(name) {
|
|
49
53
|
if (!this.executed) {
|
|
50
|
-
throw new
|
|
54
|
+
throw new errors_1.BuildStepRuntimeError(`Failed getting output "${name}" from step "${this.displayName}". The step has not been executed yet.`);
|
|
51
55
|
}
|
|
52
56
|
if (!this.hasOutputParameter(name)) {
|
|
53
|
-
throw new
|
|
57
|
+
throw new errors_1.BuildStepRuntimeError(`Step "${this.displayName}" does not have output "${name}".`);
|
|
54
58
|
}
|
|
55
59
|
return this.outputById[name].value;
|
|
56
60
|
}
|
|
@@ -68,15 +72,35 @@ class BuildStepOutputAccessor {
|
|
|
68
72
|
static deserialize(serialized) {
|
|
69
73
|
const outputById = Object.fromEntries(Object.entries(serialized.outputById).map(([key, value]) => [
|
|
70
74
|
key,
|
|
71
|
-
|
|
75
|
+
BuildStepOutput_1.BuildStepOutput.deserialize(value),
|
|
72
76
|
]));
|
|
73
77
|
return new BuildStepOutputAccessor(serialized.id, serialized.displayName, serialized.executed, outputById);
|
|
74
78
|
}
|
|
75
79
|
}
|
|
76
80
|
exports.BuildStepOutputAccessor = BuildStepOutputAccessor;
|
|
77
81
|
class BuildStep extends BuildStepOutputAccessor {
|
|
82
|
+
id;
|
|
83
|
+
name;
|
|
84
|
+
displayName;
|
|
85
|
+
supportedRuntimePlatforms;
|
|
86
|
+
inputs;
|
|
87
|
+
outputById;
|
|
88
|
+
command;
|
|
89
|
+
fn;
|
|
90
|
+
shell;
|
|
91
|
+
ctx;
|
|
92
|
+
stepEnvOverrides;
|
|
93
|
+
ifCondition;
|
|
94
|
+
timeoutMs;
|
|
95
|
+
__metricsId;
|
|
96
|
+
status;
|
|
97
|
+
outputsDir;
|
|
98
|
+
envsDir;
|
|
99
|
+
internalId;
|
|
100
|
+
inputById;
|
|
101
|
+
executed = false;
|
|
78
102
|
static getNewId(userDefinedId) {
|
|
79
|
-
return userDefinedId
|
|
103
|
+
return userDefinedId ?? (0, uuid_1.v4)();
|
|
80
104
|
}
|
|
81
105
|
static getDisplayName({ id, name, command, }) {
|
|
82
106
|
if (name) {
|
|
@@ -99,19 +123,18 @@ class BuildStep extends BuildStepOutputAccessor {
|
|
|
99
123
|
constructor(ctx, { id, name, displayName, inputs, outputs, command, fn, workingDirectory: maybeWorkingDirectory, shell, supportedRuntimePlatforms: maybeSupportedRuntimePlatforms, env, ifCondition, timeoutMs, __metricsId, }) {
|
|
100
124
|
(0, assert_1.default)(command !== undefined || fn !== undefined, 'Either command or fn must be defined.');
|
|
101
125
|
(0, assert_1.default)(!(command !== undefined && fn !== undefined), 'Command and fn cannot be both set.');
|
|
102
|
-
const outputById = (0,
|
|
126
|
+
const outputById = (0, BuildStepOutput_1.makeBuildStepOutputByIdMap)(outputs);
|
|
103
127
|
super(id, displayName, false, outputById);
|
|
104
|
-
this.executed = false;
|
|
105
128
|
this.id = id;
|
|
106
129
|
this.name = name;
|
|
107
130
|
this.displayName = displayName;
|
|
108
131
|
this.supportedRuntimePlatforms = maybeSupportedRuntimePlatforms;
|
|
109
132
|
this.inputs = inputs;
|
|
110
|
-
this.inputById = (0,
|
|
133
|
+
this.inputById = (0, BuildStepInput_1.makeBuildStepInputByIdMap)(inputs);
|
|
111
134
|
this.outputById = outputById;
|
|
112
135
|
this.fn = fn;
|
|
113
136
|
this.command = command;
|
|
114
|
-
this.shell = shell
|
|
137
|
+
this.shell = shell ?? '/bin/bash -eo pipefail';
|
|
115
138
|
this.ifCondition = ifCondition;
|
|
116
139
|
this.timeoutMs = timeoutMs;
|
|
117
140
|
this.__metricsId = __metricsId;
|
|
@@ -123,9 +146,9 @@ class BuildStep extends BuildStepOutputAccessor {
|
|
|
123
146
|
buildStepDisplayName: this.displayName,
|
|
124
147
|
});
|
|
125
148
|
this.ctx = ctx.stepCtx({ logger, relativeWorkingDirectory: maybeWorkingDirectory });
|
|
126
|
-
this.stepEnvOverrides = env
|
|
127
|
-
this.outputsDir = (0,
|
|
128
|
-
this.envsDir = (0,
|
|
149
|
+
this.stepEnvOverrides = env ?? {};
|
|
150
|
+
this.outputsDir = (0, BuildTemporaryFiles_1.getTemporaryOutputsDirPath)(ctx, this.id);
|
|
151
|
+
this.envsDir = (0, BuildTemporaryFiles_1.getTemporaryEnvsDirPath)(ctx, this.id);
|
|
129
152
|
ctx.registerStep(this);
|
|
130
153
|
}
|
|
131
154
|
async executeAsync() {
|
|
@@ -143,7 +166,7 @@ class BuildStep extends BuildStepOutputAccessor {
|
|
|
143
166
|
timeoutId = setTimeout(() => {
|
|
144
167
|
// Reject with timeout error FIRST, before killing the process
|
|
145
168
|
// This ensures the timeout error wins the race
|
|
146
|
-
reject(new
|
|
169
|
+
reject(new errors_1.BuildStepRuntimeError(`Build step "${this.displayName}" timed out after ${this.timeoutMs}ms`));
|
|
147
170
|
abortController.abort();
|
|
148
171
|
}, this.timeoutMs);
|
|
149
172
|
});
|
|
@@ -190,7 +213,7 @@ class BuildStep extends BuildStepOutputAccessor {
|
|
|
190
213
|
}
|
|
191
214
|
this.ctx.logger.debug({ err: error }, 'Failed to collect output parameters');
|
|
192
215
|
}
|
|
193
|
-
await (0,
|
|
216
|
+
await (0, BuildTemporaryFiles_1.cleanUpStepTemporaryDirectoriesAsync)(this.ctx.global, this.id);
|
|
194
217
|
}
|
|
195
218
|
}
|
|
196
219
|
canBeRunOnRuntimePlatform() {
|
|
@@ -198,7 +221,6 @@ class BuildStep extends BuildStepOutputAccessor {
|
|
|
198
221
|
this.supportedRuntimePlatforms.includes(this.ctx.global.runtimePlatform));
|
|
199
222
|
}
|
|
200
223
|
shouldExecuteStep() {
|
|
201
|
-
var _a, _b;
|
|
202
224
|
const hasAnyPreviousStepFailed = this.ctx.global.hasAnyPreviousStepFailed;
|
|
203
225
|
if (!this.ifCondition) {
|
|
204
226
|
return !hasAnyPreviousStepFailed;
|
|
@@ -210,13 +232,13 @@ class BuildStep extends BuildStepOutputAccessor {
|
|
|
210
232
|
else if (ifCondition.startsWith('${') && ifCondition.endsWith('}')) {
|
|
211
233
|
ifCondition = ifCondition.slice(2, -1);
|
|
212
234
|
}
|
|
213
|
-
return Boolean((0,
|
|
214
|
-
inputs:
|
|
235
|
+
return Boolean((0, jsepEval_1.jsepEval)(ifCondition, {
|
|
236
|
+
inputs: this.inputs?.reduce((acc, input) => {
|
|
215
237
|
acc[input.id] = input.getValue({
|
|
216
238
|
interpolationContext: this.getInterpolationContext(),
|
|
217
239
|
});
|
|
218
240
|
return acc;
|
|
219
|
-
}, {})
|
|
241
|
+
}, {}) ?? {},
|
|
220
242
|
eas: {
|
|
221
243
|
runtimePlatform: this.ctx.global.runtimePlatform,
|
|
222
244
|
...this.ctx.global.staticContext,
|
|
@@ -239,15 +261,15 @@ class BuildStep extends BuildStepOutputAccessor {
|
|
|
239
261
|
}
|
|
240
262
|
async executeCommandAsync({ signal }) {
|
|
241
263
|
(0, assert_1.default)(this.command, 'Command must be defined.');
|
|
242
|
-
const interpolatedCommand = (0,
|
|
264
|
+
const interpolatedCommand = (0, interpolation_1.interpolateJobContext)({
|
|
243
265
|
target: this.command,
|
|
244
266
|
context: this.getInterpolationContext(),
|
|
245
267
|
});
|
|
246
268
|
const command = this.interpolateInputsOutputsAndGlobalContextInTemplate(`${interpolatedCommand}`, this.inputs);
|
|
247
269
|
this.ctx.logger.debug(`Interpolated inputs in the command template`);
|
|
248
|
-
const scriptPath = await (0,
|
|
270
|
+
const scriptPath = await (0, BuildTemporaryFiles_1.saveScriptToTemporaryFileAsync)(this.ctx.global, this.id, command);
|
|
249
271
|
this.ctx.logger.debug(`Saved script to ${scriptPath}`);
|
|
250
|
-
const { command: shellCommand, args } = (0,
|
|
272
|
+
const { command: shellCommand, args } = (0, command_1.getShellCommandAndArgs)(this.shell, scriptPath);
|
|
251
273
|
this.ctx.logger.debug(`Executing script: ${shellCommand}${args !== undefined ? ` ${args.join(' ')}` : ''}`);
|
|
252
274
|
try {
|
|
253
275
|
const workingDirectoryStat = await promises_1.default.stat(this.ctx.workingDirectory);
|
|
@@ -256,20 +278,20 @@ class BuildStep extends BuildStepOutputAccessor {
|
|
|
256
278
|
}
|
|
257
279
|
}
|
|
258
280
|
catch (err) {
|
|
259
|
-
if (
|
|
281
|
+
if (err?.code === 'ENOENT') {
|
|
260
282
|
this.ctx.logger.error({ err }, `Working directory "${this.ctx.workingDirectory}" does not exist`);
|
|
261
283
|
}
|
|
262
284
|
else {
|
|
263
285
|
this.ctx.logger.error({ err }, `Cannot access working directory "${this.ctx.workingDirectory}"`);
|
|
264
286
|
}
|
|
265
287
|
}
|
|
266
|
-
await (0,
|
|
288
|
+
await (0, spawn_1.spawnAsync)(shellCommand, args ?? [], {
|
|
267
289
|
cwd: this.ctx.workingDirectory,
|
|
268
290
|
logger: this.ctx.logger,
|
|
269
291
|
env: this.getScriptEnv(),
|
|
270
292
|
// stdin is /dev/null, std{out,err} are piped into logger.
|
|
271
293
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
272
|
-
signal: signal
|
|
294
|
+
signal: signal ?? undefined,
|
|
273
295
|
});
|
|
274
296
|
this.ctx.logger.debug(`Script completed successfully`);
|
|
275
297
|
}
|
|
@@ -282,27 +304,27 @@ class BuildStep extends BuildStepOutputAccessor {
|
|
|
282
304
|
])),
|
|
283
305
|
outputs: this.outputById,
|
|
284
306
|
env: this.getScriptEnv(),
|
|
285
|
-
signal: signal
|
|
307
|
+
signal: signal ?? undefined,
|
|
286
308
|
});
|
|
287
309
|
this.ctx.logger.debug(`Script completed successfully`);
|
|
288
310
|
}
|
|
289
311
|
interpolateInputsOutputsAndGlobalContextInTemplate(template, inputs) {
|
|
290
312
|
if (!inputs) {
|
|
291
|
-
return (0,
|
|
313
|
+
return (0, template_1.interpolateWithOutputs)(this.ctx.global.interpolate(template), path => this.ctx.global.getStepOutputValue(path) ?? '');
|
|
292
314
|
}
|
|
293
315
|
const vars = inputs.reduce((acc, input) => {
|
|
294
|
-
var _a;
|
|
295
316
|
const value = input.getValue({ interpolationContext: this.getInterpolationContext() });
|
|
296
|
-
acc[input.id] =
|
|
317
|
+
acc[input.id] =
|
|
318
|
+
typeof value === 'object' ? JSON.stringify(value) : (value?.toString() ?? '');
|
|
297
319
|
return acc;
|
|
298
320
|
}, {});
|
|
299
|
-
return (0,
|
|
321
|
+
return (0, template_1.interpolateWithOutputs)((0, template_1.interpolateWithInputs)(this.ctx.global.interpolate(template), vars), path => this.ctx.global.getStepOutputValue(path) ?? '');
|
|
300
322
|
}
|
|
301
323
|
async collectAndValidateOutputsAsync(outputsDir) {
|
|
302
324
|
const files = await promises_1.default.readdir(outputsDir);
|
|
303
325
|
for (const outputId of files) {
|
|
304
326
|
if (!(outputId in this.outputById)) {
|
|
305
|
-
const newOutput = new
|
|
327
|
+
const newOutput = new BuildStepOutput_1.BuildStepOutput(this.ctx.global, {
|
|
306
328
|
id: outputId,
|
|
307
329
|
stepDisplayName: this.displayName,
|
|
308
330
|
required: false,
|
|
@@ -326,8 +348,8 @@ class BuildStep extends BuildStepOutputAccessor {
|
|
|
326
348
|
}
|
|
327
349
|
}
|
|
328
350
|
if (nonSetRequiredOutputIds.length > 0) {
|
|
329
|
-
const idsString = nonSetRequiredOutputIds.map(
|
|
330
|
-
throw new
|
|
351
|
+
const idsString = nonSetRequiredOutputIds.map(i => `"${i}"`).join(', ');
|
|
352
|
+
throw new errors_1.BuildStepRuntimeError(`Some required outputs have not been set: ${idsString}`, {
|
|
331
353
|
metadata: { ids: nonSetRequiredOutputIds },
|
|
332
354
|
});
|
|
333
355
|
}
|
|
@@ -345,10 +367,9 @@ class BuildStep extends BuildStepOutputAccessor {
|
|
|
345
367
|
});
|
|
346
368
|
}
|
|
347
369
|
getScriptEnv() {
|
|
348
|
-
var _a;
|
|
349
370
|
const effectiveEnv = { ...this.ctx.global.env, ...this.stepEnvOverrides };
|
|
350
|
-
const currentPath =
|
|
351
|
-
const newPath = currentPath ? `${
|
|
371
|
+
const currentPath = effectiveEnv.PATH ?? process.env.PATH;
|
|
372
|
+
const newPath = currentPath ? `${bin_1.BIN_PATH}:${currentPath}` : bin_1.BIN_PATH;
|
|
352
373
|
return {
|
|
353
374
|
...effectiveEnv,
|
|
354
375
|
__EXPO_STEPS_OUTPUTS_DIR: this.outputsDir,
|
|
@@ -359,4 +380,3 @@ class BuildStep extends BuildStepOutputAccessor {
|
|
|
359
380
|
}
|
|
360
381
|
}
|
|
361
382
|
exports.BuildStep = BuildStep;
|
|
362
|
-
//# sourceMappingURL=BuildStep.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { JobInterpolationContext, StaticJobInterpolationContext } from '@expo/eas-build-job';
|
|
2
2
|
import { bunyan } from '@expo/logger';
|
|
3
|
-
import {
|
|
4
|
-
import { BuildStep, SerializedBuildStepOutputAccessor } from './BuildStep
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
3
|
+
import { BuildRuntimePlatform } from './BuildRuntimePlatform';
|
|
4
|
+
import { BuildStep, SerializedBuildStepOutputAccessor } from './BuildStep';
|
|
5
|
+
import { BuildStepEnv } from './BuildStepEnv';
|
|
6
|
+
import { StepMetricInput, StepMetricsCollection } from './StepMetrics';
|
|
7
7
|
interface SerializedExternalBuildContextProvider {
|
|
8
8
|
projectSourceDirectory: string;
|
|
9
9
|
projectTargetDirectory: string;
|
|
@@ -4,22 +4,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.BuildStepContext = exports.BuildStepGlobalContext = void 0;
|
|
7
|
+
const fast_glob_1 = __importDefault(require("fast-glob"));
|
|
7
8
|
const os_1 = __importDefault(require("os"));
|
|
8
9
|
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const fast_glob_1 = __importDefault(require("fast-glob"));
|
|
10
10
|
const uuid_1 = require("uuid");
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
11
|
+
const BuildStep_1 = require("./BuildStep");
|
|
12
|
+
const errors_1 = require("./errors");
|
|
13
|
+
const hashFiles_1 = require("./utils/hashFiles");
|
|
14
|
+
const template_1 = require("./utils/template");
|
|
15
15
|
class BuildStepGlobalContext {
|
|
16
|
+
provider;
|
|
17
|
+
skipCleanup;
|
|
18
|
+
stepsInternalBuildDirectory;
|
|
19
|
+
runtimePlatform;
|
|
20
|
+
baseLogger;
|
|
21
|
+
didCheckOut = false;
|
|
22
|
+
_hasAnyPreviousStepFailed = false;
|
|
23
|
+
stepById = {};
|
|
24
|
+
_stepMetrics = [];
|
|
16
25
|
constructor(provider, skipCleanup) {
|
|
17
26
|
this.provider = provider;
|
|
18
27
|
this.skipCleanup = skipCleanup;
|
|
19
|
-
this.didCheckOut = false;
|
|
20
|
-
this._hasAnyPreviousStepFailed = false;
|
|
21
|
-
this.stepById = {};
|
|
22
|
-
this._stepMetrics = [];
|
|
23
28
|
this.stepsInternalBuildDirectory = path_1.default.join(os_1.default.tmpdir(), 'eas-build', (0, uuid_1.v4)());
|
|
24
29
|
this.runtimePlatform = provider.runtimePlatform;
|
|
25
30
|
this.baseLogger = provider.logger;
|
|
@@ -43,10 +48,10 @@ class BuildStepGlobalContext {
|
|
|
43
48
|
get staticContext() {
|
|
44
49
|
return {
|
|
45
50
|
...this.provider.staticContext(),
|
|
46
|
-
steps: Object.fromEntries(Object.values(this.stepById).map(
|
|
51
|
+
steps: Object.fromEntries(Object.values(this.stepById).map(step => [
|
|
47
52
|
step.id,
|
|
48
53
|
{
|
|
49
|
-
outputs: Object.fromEntries(step.outputs.map(
|
|
54
|
+
outputs: Object.fromEntries(step.outputs.map(output => {
|
|
50
55
|
return [output.id, output.rawValue];
|
|
51
56
|
})),
|
|
52
57
|
},
|
|
@@ -60,9 +65,9 @@ class BuildStepGlobalContext {
|
|
|
60
65
|
this.stepById[step.id] = step;
|
|
61
66
|
}
|
|
62
67
|
getStepOutputValue(path) {
|
|
63
|
-
const { stepId, outputId } = (0,
|
|
68
|
+
const { stepId, outputId } = (0, template_1.parseOutputPath)(path);
|
|
64
69
|
if (!(stepId in this.stepById)) {
|
|
65
|
-
throw new
|
|
70
|
+
throw new errors_1.BuildStepRuntimeError(`Step "${stepId}" does not exist.`);
|
|
66
71
|
}
|
|
67
72
|
return this.stepById[stepId].getOutputValueByName(outputId);
|
|
68
73
|
}
|
|
@@ -91,15 +96,14 @@ class BuildStepGlobalContext {
|
|
|
91
96
|
};
|
|
92
97
|
}
|
|
93
98
|
interpolate(value) {
|
|
94
|
-
return (0,
|
|
95
|
-
|
|
96
|
-
return ((_b = (_a = (0, template_js_1.getObjectValueForInterpolation)(path, {
|
|
99
|
+
return (0, template_1.interpolateWithGlobalContext)(value, path => {
|
|
100
|
+
return ((0, template_1.getObjectValueForInterpolation)(path, {
|
|
97
101
|
eas: {
|
|
98
102
|
runtimePlatform: this.runtimePlatform,
|
|
99
103
|
...this.staticContext,
|
|
100
104
|
env: this.env,
|
|
101
105
|
},
|
|
102
|
-
})
|
|
106
|
+
})?.toString() ?? '');
|
|
103
107
|
});
|
|
104
108
|
}
|
|
105
109
|
stepCtx(options) {
|
|
@@ -136,11 +140,11 @@ class BuildStepGlobalContext {
|
|
|
136
140
|
if (filePaths.length === 0) {
|
|
137
141
|
return '';
|
|
138
142
|
}
|
|
139
|
-
const validFilePaths = filePaths.filter(
|
|
143
|
+
const validFilePaths = filePaths.filter(file => file.startsWith(`${workspacePath}${path_1.default.sep}`));
|
|
140
144
|
if (validFilePaths.length === 0) {
|
|
141
145
|
return '';
|
|
142
146
|
}
|
|
143
|
-
return (0,
|
|
147
|
+
return (0, hashFiles_1.hashFiles)(validFilePaths);
|
|
144
148
|
}
|
|
145
149
|
serialize() {
|
|
146
150
|
return {
|
|
@@ -172,7 +176,7 @@ class BuildStepGlobalContext {
|
|
|
172
176
|
};
|
|
173
177
|
const ctx = new BuildStepGlobalContext(deserializedProvider, serialized.skipCleanup);
|
|
174
178
|
for (const [id, stepOutputAccessor] of Object.entries(serialized.stepById)) {
|
|
175
|
-
ctx.stepById[id] =
|
|
179
|
+
ctx.stepById[id] = BuildStep_1.BuildStepOutputAccessor.deserialize(stepOutputAccessor);
|
|
176
180
|
}
|
|
177
181
|
ctx.stepsInternalBuildDirectory = serialized.stepsInternalBuildDirectory;
|
|
178
182
|
return ctx;
|
|
@@ -180,9 +184,12 @@ class BuildStepGlobalContext {
|
|
|
180
184
|
}
|
|
181
185
|
exports.BuildStepGlobalContext = BuildStepGlobalContext;
|
|
182
186
|
class BuildStepContext {
|
|
187
|
+
ctx;
|
|
188
|
+
logger;
|
|
189
|
+
relativeWorkingDirectory;
|
|
183
190
|
constructor(ctx, { logger, relativeWorkingDirectory, }) {
|
|
184
191
|
this.ctx = ctx;
|
|
185
|
-
this.logger = logger
|
|
192
|
+
this.logger = logger ?? ctx.baseLogger;
|
|
186
193
|
this.relativeWorkingDirectory = relativeWorkingDirectory;
|
|
187
194
|
}
|
|
188
195
|
get global() {
|
|
@@ -212,4 +219,3 @@ class BuildStepContext {
|
|
|
212
219
|
}
|
|
213
220
|
}
|
|
214
221
|
exports.BuildStepContext = BuildStepContext;
|
|
215
|
-
//# sourceMappingURL=BuildStepContext.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JobInterpolationContext } from '@expo/eas-build-job';
|
|
2
|
-
import { BuildStepGlobalContext } from './BuildStepContext
|
|
2
|
+
import { BuildStepGlobalContext } from './BuildStepContext';
|
|
3
3
|
export declare enum BuildStepInputValueTypeName {
|
|
4
4
|
STRING = "string",
|
|
5
5
|
BOOLEAN = "boolean",
|