From 3da2172ec333e73fff759c2c41da83c223851de7 Mon Sep 17 00:00:00 2001 From: Krzysztof Rodak Date: Thu, 5 Feb 2026 12:14:53 +0100 Subject: [PATCH] PackageToJS: Fix skeleton file discovery path for build plugin output The SkeletonCollector was looking for BridgeJS.json at the wrong path for build-time generated files. Since commit 91d2f061, BridgeJSTool writes skeleton files to `destination/BridgeJS/JavaScript/BridgeJS.json`, but PackageToJS was searching in `destination/BridgeJS/BridgeJS.json` (missing the JavaScript/ subdirectory). This caused projects using dynamic BridgeJS generation via the build plugin to fail - PackageToJS couldn't find the skeleton files, resulting in HAS_BRIDGE=false and stub implementations in instantiate.js. --- Plugins/PackageToJS/Sources/PackageToJSPlugin.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Plugins/PackageToJS/Sources/PackageToJSPlugin.swift b/Plugins/PackageToJS/Sources/PackageToJSPlugin.swift index 3cbd29014..7e335c68e 100644 --- a/Plugins/PackageToJS/Sources/PackageToJSPlugin.swift +++ b/Plugins/PackageToJS/Sources/PackageToJSPlugin.swift @@ -751,9 +751,9 @@ class SkeletonCollector { let directories = [ target.directoryURL.appending(path: "Generated/JavaScript"), // context.pluginWorkDirectoryURL: ".build/plugins/PackageToJS/outputs/" - // .build/plugins/outputs/exportswift/MyApp/destination/BridgeJS/BridgeJS.ExportSwift.json + // .build/plugins/outputs/[package]/[target]/destination/BridgeJS/JavaScript/BridgeJS.json context.pluginWorkDirectoryURL.deletingLastPathComponent().deletingLastPathComponent() - .appending(path: "outputs/\(package.id)/\(target.name)/destination/BridgeJS"), + .appending(path: "outputs/\(package.id)/\(target.name)/destination/BridgeJS/JavaScript"), ] for directory in directories { let skeletonURL = directory.appending(path: skeletonFile)