diff --git a/crates/oxc_formatter/src/write/member_expression.rs b/crates/oxc_formatter/src/write/member_expression.rs index 848f12aba6e31..64f1c603ea7b7 100644 --- a/crates/oxc_formatter/src/write/member_expression.rs +++ b/crates/oxc_formatter/src/write/member_expression.rs @@ -147,7 +147,9 @@ fn layout<'a>( } match first_non_static_member_ancestor { - AstNodes::NewExpression(_) => StaticMemberLayout::NoBreak, + AstNodes::Argument(argument) if matches!(argument.parent, AstNodes::NewExpression(_)) => { + StaticMemberLayout::NoBreak + } AstNodes::AssignmentExpression(assignment) => { if matches!(assignment.left, AssignmentTarget::AssignmentTargetIdentifier(_)) { StaticMemberLayout::BreakAfterObject diff --git a/crates/oxc_formatter/tests/fixtures/ts/static-members/argument.ts b/crates/oxc_formatter/tests/fixtures/ts/static-members/argument.ts new file mode 100644 index 0000000000000..aff741f6d74e7 --- /dev/null +++ b/crates/oxc_formatter/tests/fixtures/ts/static-members/argument.ts @@ -0,0 +1,11 @@ +TelemetryTrustedValue( + instance.capabilities.get( + TerminalCapability?.PromptTypeDetection + )?.promptType +) + +new TelemetryTrustedValue( + instance.capabilities.get( + TerminalCapability?.PromptTypeDetection + )?.promptType +) \ No newline at end of file diff --git a/crates/oxc_formatter/tests/fixtures/ts/static-members/argument.ts.snap b/crates/oxc_formatter/tests/fixtures/ts/static-members/argument.ts.snap new file mode 100644 index 0000000000000..7b0dc5106e7b3 --- /dev/null +++ b/crates/oxc_formatter/tests/fixtures/ts/static-members/argument.ts.snap @@ -0,0 +1,28 @@ +--- +source: crates/oxc_formatter/tests/fixtures/mod.rs +--- +==================== Input ==================== +TelemetryTrustedValue( + instance.capabilities.get( + TerminalCapability?.PromptTypeDetection + )?.promptType +) + +new TelemetryTrustedValue( + instance.capabilities.get( + TerminalCapability?.PromptTypeDetection + )?.promptType +) +==================== Output ==================== +TelemetryTrustedValue( + instance.capabilities.get(TerminalCapability?.PromptTypeDetection) + ?.promptType, +); + +new TelemetryTrustedValue( + instance.capabilities.get( + TerminalCapability?.PromptTypeDetection, + )?.promptType, +); + +===================== End =====================