diff --git a/src/transformers/hoist-jest.ts b/src/transformers/hoist-jest.ts index 9c0a164314..55e4d83350 100644 --- a/src/transformers/hoist-jest.ts +++ b/src/transformers/hoist-jest.ts @@ -87,21 +87,12 @@ export function factory({ configSet }: TsCompilerInstance) { return statements } - const pivot = statements[0] - const leftPart: _ts.Statement[] = [] - const rightPart: _ts.Statement[] = [] - for (let i = 1; i < statements.length; i++) { - const currentStatement = statements[i] - if (isJestGlobalImport(currentStatement)) { - leftPart.push(currentStatement) - } else { - isHoistableStatement(currentStatement) && !isHoistableStatement(pivot) && !isJestGlobalImport(pivot) - ? leftPart.push(currentStatement) - : rightPart.push(currentStatement) - } - } - - return sortStatements(leftPart).concat(pivot, sortStatements(rightPart)) + return statements.sort((stmtA, stmtB) => + isJestGlobalImport(stmtA) || + (isHoistableStatement(stmtA) && !isHoistableStatement(stmtB) && !isJestGlobalImport(stmtB)) + ? -1 + : 1, + ) } const createVisitor = (ctx: _ts.TransformationContext, _: _ts.SourceFile) => {