@expo/steps
Advanced tools
Comparing version 1.0.70 to 1.0.72
@@ -19,5 +19,7 @@ import { BuildFunction } from './BuildFunction.js'; | ||
private createBuildStepFromBuildStepBareCommandRun; | ||
private createBuildStepsFromBuildStepFunctionGroupCall; | ||
private createBuildStepsFromBuildStepBareFunctionGroupCall; | ||
private createBuildStepFromBuildStepBareFunctionCall; | ||
private createBuildStepsFromBareBuildStepFunctionOrBareBuildStepFunctionGroupCall; | ||
private createBuildStepsFromBuildStepFunctionOrBuildStepFunctionGroupCall; | ||
private createBuildStepFromBuildStepFunctionCall; | ||
@@ -24,0 +26,0 @@ private createBuildFunctionsFromConfig; |
@@ -0,3 +1,5 @@ | ||
import { BuildFunctionCallInputs } from './BuildFunction.js'; | ||
import { BuildStep } from './BuildStep.js'; | ||
import { BuildStepGlobalContext } from './BuildStepContext.js'; | ||
import { BuildStepInputById, BuildStepInputProvider } from './BuildStepInput.js'; | ||
export type BuildFunctionGroupById = Record<string, BuildFunctionGroup | undefined>; | ||
@@ -7,7 +9,13 @@ export declare class BuildFunctionGroup { | ||
readonly id: string; | ||
readonly createBuildStepsFromFunctionGroupCall: (globalCtx: BuildStepGlobalContext) => BuildStep[]; | ||
constructor({ namespace, id, createBuildStepsFromFunctionGroupCall, }: { | ||
readonly inputProviders?: BuildStepInputProvider[]; | ||
readonly createBuildStepsFromFunctionGroupCall: (globalCtx: BuildStepGlobalContext, options?: { | ||
callInputs?: BuildFunctionCallInputs; | ||
}) => BuildStep[]; | ||
constructor({ namespace, id, inputProviders, createBuildStepsFromFunctionGroupCall, }: { | ||
namespace: string; | ||
id: string; | ||
createBuildStepsFromFunctionGroupCall: (globalCtx: BuildStepGlobalContext) => BuildStep[]; | ||
inputProviders?: BuildStepInputProvider[]; | ||
createBuildStepsFromFunctionGroupCall: (globalCtx: BuildStepGlobalContext, { inputs, }: { | ||
inputs: BuildStepInputById; | ||
}) => BuildStep[]; | ||
}); | ||
@@ -14,0 +22,0 @@ getFullId(): string; |
@@ -12,3 +12,3 @@ export declare const BUILD_STEP_INPUT_EXPRESSION_REGEXP: RegExp; | ||
*/ | ||
export declare function getSelectedStatusCheckFromIfStatementTemplate(ifCondition: string): 'success' | 'failure' | 'always'; | ||
export declare function getSelectedStatusCheckFromIfStatementTemplate(ifCondition: string): 'success' | 'failure' | 'always' | 'never'; | ||
export declare function getObjectValueForInterpolation(path: string, obj: Record<string, unknown>): string | number | boolean | null; | ||
@@ -15,0 +15,0 @@ export declare function interpolateWithGlobalContext(templateString: string, fn: (path: string) => string): string; |
@@ -19,5 +19,7 @@ import { BuildFunction } from './BuildFunction.js'; | ||
private createBuildStepFromBuildStepBareCommandRun; | ||
private createBuildStepsFromBuildStepFunctionGroupCall; | ||
private createBuildStepsFromBuildStepBareFunctionGroupCall; | ||
private createBuildStepFromBuildStepBareFunctionCall; | ||
private createBuildStepsFromBareBuildStepFunctionOrBareBuildStepFunctionGroupCall; | ||
private createBuildStepsFromBuildStepFunctionOrBuildStepFunctionGroupCall; | ||
private createBuildStepFromBuildStepFunctionCall; | ||
@@ -24,0 +26,0 @@ private createBuildFunctionsFromConfig; |
@@ -50,3 +50,3 @@ import assert from 'assert'; | ||
else if (buildStepConfig !== null) { | ||
return [this.createBuildStepFromBuildStepFunctionCall(buildFunctions, buildStepConfig)]; | ||
return this.createBuildStepsFromBuildStepFunctionOrBuildStepFunctionGroupCall(buildFunctions, buildFunctionGroups, buildStepConfig); | ||
} | ||
@@ -85,2 +85,10 @@ else { | ||
} | ||
createBuildStepsFromBuildStepFunctionGroupCall(buildFunctionGroups, buildStepFunctionCall) { | ||
const functionId = getFunctionIdFromBuildStepFunctionCall(buildStepFunctionCall); | ||
const buildFunctionGroup = buildFunctionGroups[functionId]; | ||
assert(buildFunctionGroup, `Build function group with id "${functionId}" is not defined.`); | ||
return buildFunctionGroup.createBuildStepsFromFunctionGroupCall(this.ctx, { | ||
callInputs: buildStepFunctionCall[functionId].inputs, | ||
}); | ||
} | ||
createBuildStepsFromBuildStepBareFunctionGroupCall(buildFunctionGroups, functionGroupId) { | ||
@@ -104,6 +112,12 @@ const buildFunctionGroup = buildFunctionGroups[functionGroupId]; | ||
} | ||
createBuildStepsFromBuildStepFunctionOrBuildStepFunctionGroupCall(buildFunctions, buildFunctionGroups, buildStepFunctionCall) { | ||
const functionId = getFunctionIdFromBuildStepFunctionCall(buildStepFunctionCall); | ||
const maybeFunctionGroup = buildFunctionGroups[functionId]; | ||
if (maybeFunctionGroup) { | ||
return this.createBuildStepsFromBuildStepFunctionGroupCall(buildFunctionGroups, buildStepFunctionCall); | ||
} | ||
return [this.createBuildStepFromBuildStepFunctionCall(buildFunctions, buildStepFunctionCall)]; | ||
} | ||
createBuildStepFromBuildStepFunctionCall(buildFunctions, buildStepFunctionCall) { | ||
const keys = Object.keys(buildStepFunctionCall); | ||
assert(keys.length === 1, 'There must be at most one function call in the step (enforced by joi).'); | ||
const functionId = keys[0]; | ||
const functionId = getFunctionIdFromBuildStepFunctionCall(buildStepFunctionCall); | ||
const buildFunctionCallConfig = buildStepFunctionCall[functionId]; | ||
@@ -253,2 +267,7 @@ const buildFunction = buildFunctions[functionId]; | ||
} | ||
function getFunctionIdFromBuildStepFunctionCall(buildStepFunctionCall) { | ||
const keys = Object.keys(buildStepFunctionCall); | ||
assert(keys.length === 1, 'There must be at most one function call in the step (enforced by joi).'); | ||
return keys[0]; | ||
} | ||
//# sourceMappingURL=BuildConfigParser.js.map |
@@ -0,3 +1,5 @@ | ||
import { BuildFunctionCallInputs } from './BuildFunction.js'; | ||
import { BuildStep } from './BuildStep.js'; | ||
import { BuildStepGlobalContext } from './BuildStepContext.js'; | ||
import { BuildStepInputById, BuildStepInputProvider } from './BuildStepInput.js'; | ||
export type BuildFunctionGroupById = Record<string, BuildFunctionGroup | undefined>; | ||
@@ -7,7 +9,13 @@ export declare class BuildFunctionGroup { | ||
readonly id: string; | ||
readonly createBuildStepsFromFunctionGroupCall: (globalCtx: BuildStepGlobalContext) => BuildStep[]; | ||
constructor({ namespace, id, createBuildStepsFromFunctionGroupCall, }: { | ||
readonly inputProviders?: BuildStepInputProvider[]; | ||
readonly createBuildStepsFromFunctionGroupCall: (globalCtx: BuildStepGlobalContext, options?: { | ||
callInputs?: BuildFunctionCallInputs; | ||
}) => BuildStep[]; | ||
constructor({ namespace, id, inputProviders, createBuildStepsFromFunctionGroupCall, }: { | ||
namespace: string; | ||
id: string; | ||
createBuildStepsFromFunctionGroupCall: (globalCtx: BuildStepGlobalContext) => BuildStep[]; | ||
inputProviders?: BuildStepInputProvider[]; | ||
createBuildStepsFromFunctionGroupCall: (globalCtx: BuildStepGlobalContext, { inputs, }: { | ||
inputs: BuildStepInputById; | ||
}) => BuildStep[]; | ||
}); | ||
@@ -14,0 +22,0 @@ getFullId(): string; |
@@ -0,7 +1,21 @@ | ||
import { makeBuildStepInputByIdMap, } from './BuildStepInput.js'; | ||
import { BuildConfigError } from './errors.js'; | ||
export class BuildFunctionGroup { | ||
constructor({ namespace, id, createBuildStepsFromFunctionGroupCall, }) { | ||
constructor({ namespace, id, inputProviders, createBuildStepsFromFunctionGroupCall, }) { | ||
this.namespace = namespace; | ||
this.id = id; | ||
this.createBuildStepsFromFunctionGroupCall = createBuildStepsFromFunctionGroupCall; | ||
this.inputProviders = inputProviders; | ||
this.createBuildStepsFromFunctionGroupCall = (ctx, { callInputs = {} } = {}) => { | ||
var _a; | ||
const inputs = (_a = this.inputProviders) === null || _a === void 0 ? void 0 : _a.map((inputProvider) => { | ||
const input = inputProvider(ctx, id); | ||
if (input.id in callInputs) { | ||
input.set(callInputs[input.id]); | ||
} | ||
return input; | ||
}); | ||
return createBuildStepsFromFunctionGroupCall(ctx, { | ||
inputs: makeBuildStepInputByIdMap(inputs), | ||
}); | ||
}; | ||
} | ||
@@ -8,0 +22,0 @@ getFullId() { |
@@ -166,2 +166,4 @@ import assert from 'assert'; | ||
return true; | ||
case 'never': | ||
return false; | ||
} | ||
@@ -168,0 +170,0 @@ } |
@@ -12,3 +12,3 @@ export declare const BUILD_STEP_INPUT_EXPRESSION_REGEXP: RegExp; | ||
*/ | ||
export declare function getSelectedStatusCheckFromIfStatementTemplate(ifCondition: string): 'success' | 'failure' | 'always'; | ||
export declare function getSelectedStatusCheckFromIfStatementTemplate(ifCondition: string): 'success' | 'failure' | 'always' | 'never'; | ||
export declare function getObjectValueForInterpolation(path: string, obj: Record<string, unknown>): string | number | boolean | null; | ||
@@ -15,0 +15,0 @@ export declare function interpolateWithGlobalContext(templateString: string, fn: (path: string) => string): string; |
@@ -9,3 +9,3 @@ import get from 'lodash.get'; | ||
export const BUILD_STEP_OR_BUILD_GLOBAL_CONTEXT_REFERENCE_REGEX = /\${\s*((steps|eas)\.[\S]+)\s*}/; | ||
export const BUILD_STEP_IF_CONDITION_EXPRESSION_REGEXP = /\${\s*(always|success|failure)\(\)\s*}/; | ||
export const BUILD_STEP_IF_CONDITION_EXPRESSION_REGEXP = /\${\s*(always|success|failure|never)\(\)\s*}/; | ||
export function interpolateWithInputs(templateString, inputs) { | ||
@@ -12,0 +12,0 @@ return interpolate(templateString, BUILD_STEP_INPUT_EXPRESSION_REGEXP, inputs); |
{ | ||
"name": "@expo/steps", | ||
"type": "module", | ||
"version": "1.0.70", | ||
"version": "1.0.72", | ||
"main": "./dist_commonjs/index.cjs", | ||
@@ -51,2 +51,3 @@ "types": "./dist_esm/index.d.ts", | ||
"dependencies": { | ||
"@expo/eas-build-job": "1.0.71", | ||
"@expo/logger": "1.0.57", | ||
@@ -67,3 +68,3 @@ "@expo/spawn-async": "^1.7.2", | ||
}, | ||
"gitHead": "f0d7a866ab751191a6b8e02cd50a2c0b756d40fa" | ||
"gitHead": "86aded2de59e72683b3b63190568fc28d33cbd80" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
595276
5122
11
+ Added@expo/eas-build-job@1.0.71
+ Added@expo/eas-build-job@1.0.71(transitive)
+ Added@types/node@22.12.0(transitive)
+ Addedsemver@7.7.0(transitive)
- Removed@types/node@22.13.1(transitive)