diff --git a/src/transformers/hoist-jest.ts b/src/transformers/hoist-jest.ts index 9c0a164314..eced359e2d 100644 --- a/src/transformers/hoist-jest.ts +++ b/src/transformers/hoist-jest.ts @@ -86,22 +86,9 @@ export function factory({ configSet }: TsCompilerInstance) { if (statements.length <= 1) { 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) => {