Comparing version 1.8.4 to 1.8.5
# inngest | ||
## 1.8.5 | ||
### Patch Changes | ||
- 34f9ee8: INN-1253 Show actionable error when steps are nested | ||
## 1.8.4 | ||
@@ -4,0 +10,0 @@ |
@@ -301,5 +301,9 @@ "use strict"; | ||
const runningStepStop = timer.start("running-step"); | ||
state.executingStep = true; | ||
const result = await new Promise((resolve) => { | ||
return resolve(userFnToRun()); | ||
}) | ||
.finally(() => { | ||
state.executingStep = false; | ||
}) | ||
.then((data) => { | ||
@@ -306,0 +310,0 @@ return { |
@@ -151,2 +151,7 @@ import { type Jsonify } from "type-fest"; | ||
nonStepFnDetected: boolean; | ||
/** | ||
* When true, we are currently executing a user's code for a single step | ||
* within a step function. | ||
*/ | ||
executingStep: boolean; | ||
}]; | ||
@@ -153,0 +158,0 @@ /** |
@@ -33,2 +33,3 @@ "use strict"; | ||
nonStepFnDetected: false, | ||
executingStep: false, | ||
}; | ||
@@ -85,2 +86,13 @@ // Start referencing everything | ||
} | ||
if (state.executingStep) { | ||
throw new NonRetriableError_1.NonRetriableError((0, errors_1.prettyError)({ | ||
whatHappened: "Your function was stopped from running", | ||
why: "We detected that you have nested `step.*` tooling.", | ||
consequences: "Nesting `step.*` tooling is not supported.", | ||
stack: true, | ||
toFixNow: "Make sure you're not using `step.*` tooling inside of other `step.*` tooling. If you need to compose steps together, you can create a new async function and call it from within your step function, or use promise chaining.", | ||
otherwise: "For more information on step functions with Inngest, see https://www.inngest.com/docs/functions/multi-step", | ||
code: errors_1.ErrCode.NESTING_STEPS, | ||
})); | ||
} | ||
state.hasUsedTools = true; | ||
@@ -87,0 +99,0 @@ const opId = hashOp(matchOp(...args)); |
@@ -40,3 +40,4 @@ declare const SERIALIZED_KEY = "__serialized"; | ||
ASYNC_DETECTED_AFTER_MEMOIZATION = "ASYNC_DETECTED_AFTER_MEMOIZATION", | ||
STEP_USED_AFTER_ASYNC = "STEP_USED_AFTER_ASYNC" | ||
STEP_USED_AFTER_ASYNC = "STEP_USED_AFTER_ASYNC", | ||
NESTING_STEPS = "NESTING_STEPS" | ||
} | ||
@@ -43,0 +44,0 @@ export interface PrettyError { |
@@ -82,2 +82,3 @@ "use strict"; | ||
ErrCode["STEP_USED_AFTER_ASYNC"] = "STEP_USED_AFTER_ASYNC"; | ||
ErrCode["NESTING_STEPS"] = "NESTING_STEPS"; | ||
})(ErrCode = exports.ErrCode || (exports.ErrCode = {})); | ||
@@ -84,0 +85,0 @@ /** |
{ | ||
"name": "inngest", | ||
"version": "1.8.4", | ||
"version": "1.8.5", | ||
"description": "Official SDK for Inngest.com", | ||
@@ -5,0 +5,0 @@ "main": "./index.js", |
@@ -1,2 +0,2 @@ | ||
export declare const version = "1.8.4"; | ||
export declare const version = "1.8.5"; | ||
//# sourceMappingURL=version.d.ts.map |
@@ -5,3 +5,3 @@ "use strict"; | ||
// Generated by genversion. | ||
exports.version = "1.8.4"; | ||
exports.version = "1.8.5"; | ||
//# sourceMappingURL=version.js.map |
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 too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
684559
6985