From ec6beb47cabe27621528f9c0e30a872c2ff27ffc Mon Sep 17 00:00:00 2001 From: Yuta Saito Date: Tue, 22 Jul 2025 17:35:42 +0900 Subject: [PATCH] PackageToJS: Fix missing Extern detection for Swift 6.2+ --- Plugins/PackageToJS/Sources/PackageToJSPlugin.swift | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Plugins/PackageToJS/Sources/PackageToJSPlugin.swift b/Plugins/PackageToJS/Sources/PackageToJSPlugin.swift index 04f4dcd4..a69ec155 100644 --- a/Plugins/PackageToJS/Sources/PackageToJSPlugin.swift +++ b/Plugins/PackageToJS/Sources/PackageToJSPlugin.swift @@ -74,9 +74,13 @@ struct PackageToJSPlugin: CommandPlugin { ( // In case the SwiftPM target using BridgeJS didn't specify `.enableExperimentalFeature("Extern")` { build, arguments in - guard - build.logText.contains("@_extern requires '-enable-experimental-feature Extern'") - else { + let possibleMessages: [String] = [ + "@_extern requires '-enable-experimental-feature Extern'", + // Swift 6.2 and later quotes attributes in diagnostics + // https://github.com/swiftlang/swift/pull/80593 + "'@_extern' requires '-enable-experimental-feature Extern'", + ] + guard possibleMessages.contains(where: build.logText.contains) else { return nil } return """