The Swift Package Index logo.Swift Package Index

Build Information

Successful build of swift-typescript-bridge, reference main (79d319), with Swift 6.3 for Linux on 26 Jun 2026 22:59:00 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-53886768-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 0e64495ecc1688c3b3e031a5ef1348b5c05091ae
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/sunghyun-k/swift-typescript-bridge.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/sunghyun-k/swift-typescript-bridge
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 79d319d Merge pull request #1 from sunghyun-k/github-action
Cloned https://github.com/sunghyun-k/swift-typescript-bridge.git
Revision (git rev-parse @):
79d319d403ceaa8a435156a7e7fb5097a9e52d9b
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/sunghyun-k/swift-typescript-bridge.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.3
Building package at path:  $PWD
https://github.com/sunghyun-k/swift-typescript-bridge.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886768-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:518d581a7f3cc0f988d8921e0dce92c3361f942cd4cc7d944cb46f8707e06c63
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.3-latest
Fetching https://github.com/pointfreeco/swift-macro-testing.git
Fetching https://github.com/swiftlang/swift-syntax.git
[1/961] Fetching swift-macro-testing
[962/76711] Fetching swift-macro-testing, swift-syntax
Fetched https://github.com/pointfreeco/swift-macro-testing.git from cache (2.46s)
Fetched https://github.com/swiftlang/swift-syntax.git from cache (2.48s)
Computing version for https://github.com/pointfreeco/swift-macro-testing.git
Computed https://github.com/pointfreeco/swift-macro-testing.git at 0.6.5 (2.64s)
Fetching https://github.com/pointfreeco/swift-snapshot-testing
[1/16173] Fetching swift-snapshot-testing
Fetched https://github.com/pointfreeco/swift-snapshot-testing from cache (2.11s)
Computing version for https://github.com/swiftlang/swift-syntax.git
Computed https://github.com/swiftlang/swift-syntax.git at 603.0.2 (3.08s)
Computing version for https://github.com/pointfreeco/swift-snapshot-testing
Computed https://github.com/pointfreeco/swift-snapshot-testing at 1.19.2 (0.15s)
Fetching https://github.com/pointfreeco/swift-custom-dump
[1/5609] Fetching swift-custom-dump
Fetched https://github.com/pointfreeco/swift-custom-dump from cache (0.49s)
Computing version for https://github.com/pointfreeco/swift-custom-dump
Computed https://github.com/pointfreeco/swift-custom-dump at 1.6.1 (0.65s)
Fetching https://github.com/pointfreeco/xctest-dynamic-overlay
[1/5884] Fetching xctest-dynamic-overlay
Fetched https://github.com/pointfreeco/xctest-dynamic-overlay from cache (0.74s)
Computing version for https://github.com/pointfreeco/xctest-dynamic-overlay
Computed https://github.com/pointfreeco/xctest-dynamic-overlay at 1.10.1 (0.89s)
Creating working copy for https://github.com/pointfreeco/swift-macro-testing.git
Working copy of https://github.com/pointfreeco/swift-macro-testing.git resolved at 0.6.5
Creating working copy for https://github.com/swiftlang/swift-syntax.git
Working copy of https://github.com/swiftlang/swift-syntax.git resolved at 603.0.2
Creating working copy for https://github.com/pointfreeco/swift-snapshot-testing
Working copy of https://github.com/pointfreeco/swift-snapshot-testing resolved at 1.19.2
Creating working copy for https://github.com/pointfreeco/swift-custom-dump
Working copy of https://github.com/pointfreeco/swift-custom-dump resolved at 1.6.1
Creating working copy for https://github.com/pointfreeco/xctest-dynamic-overlay
Working copy of https://github.com/pointfreeco/xctest-dynamic-overlay resolved at 1.10.1
Downloading package prebuilt https://download.swift.org/prebuilts/swift-syntax/603.0.2/swift-6.3.2-RELEASE-ubuntu_jammy_x86_64-MacroSupport.tar.gz
Downloaded https://download.swift.org/prebuilts/swift-syntax/603.0.2/swift-6.3.2-RELEASE-ubuntu_jammy_x86_64-MacroSupport.tar.gz (0.36s)
Building for debugging...
[0/12] Write sources
[4/12] Write swift-version-24593BA9C3E375BF.txt
[6/20] Compiling TypeScriptBridgeMacros TypeScriptBridgeMacros.swift
[7/20] Compiling TypeScriptBridgeMacros MacroUtils.swift
[8/20] Compiling TypeScriptBridgeMacros UnionDiscriminatorMacro.swift
[9/20] Compiling TypeScriptBridgeMacros TypeUnionMacro.swift
[10/20] Compiling TypeScriptBridgeMacros LiteralUnionMacro.swift
[11/20] Compiling TypeScriptBridgeMacros Diagnostics.swift
[12/20] Compiling TypeScriptBridgeMacros ExtendsMacro.swift
[13/20] Emitting module TypeScriptBridgeMacros
[14/21] Wrapping AST for TypeScriptBridgeMacros for debugging
[15/21] Write Objects.LinkFileList
[16/21] Linking TypeScriptBridgeMacros-tool
[18/25] Emitting module TypeScriptBridge
[19/25] Compiling TypeScriptBridge TypeScriptBridge.swift
[20/26] Wrapping AST for TypeScriptBridge for debugging
[22/32] Compiling TypeScriptBridge TypeScriptBridge.swift
[23/32] Emitting module TypeScriptBridge
[25/33] Compiling Examples main.swift
[26/33] Compiling Examples Webhooks.swift
macro expansion @Union:20:23: warning: 'is' test is always true
`- /host/spi-builder-workspace/Examples/Webhooks.swift:36:21: note: expanded code originates here
33 | }
34 |
35 | @Union(WebhookMessageCreated.self, WebhookReactionAdded.self, WebhookUserJoined.self)
   | `- note: in expansion of macro 'Union' on enum 'WebhookEvent' here
36 | enum WebhookEvent {}
   +--- macro expansion @Union -----------------------------------------
   |18 |         typealias Type1 = WebhookReactionAdded
   |19 |         typealias Type2 = WebhookUserJoined
   |20 |         if Type0.self is any TypeDiscriminated.Type {
   |   |                       `- warning: 'is' test is always true
   |21 |             if let decoded = try? Type0(from: decoder) {
   |22 |                 self = .webhookMessageCreated(decoded)
   +--------------------------------------------------------------------
37 |
38 | enum WebhookExample {
macro expansion @Union:26:23: warning: 'is' test is always true
`- /host/spi-builder-workspace/Examples/Webhooks.swift:36:21: note: expanded code originates here
33 | }
34 |
35 | @Union(WebhookMessageCreated.self, WebhookReactionAdded.self, WebhookUserJoined.self)
   | `- note: in expansion of macro 'Union' on enum 'WebhookEvent' here
36 | enum WebhookEvent {}
   +--- macro expansion @Union -----------------------------------------
   |24 |     }
   |25 | }
   |26 |         if Type1.self is any TypeDiscriminated.Type {
   |   |                       `- warning: 'is' test is always true
   |27 |             if let decoded = try? Type1(from: decoder) {
   |28 |                 self = .webhookReactionAdded(decoded)
   +--------------------------------------------------------------------
37 |
38 | enum WebhookExample {
macro expansion @Union:32:23: warning: 'is' test is always true
`- /host/spi-builder-workspace/Examples/Webhooks.swift:36:21: note: expanded code originates here
33 | }
34 |
35 | @Union(WebhookMessageCreated.self, WebhookReactionAdded.self, WebhookUserJoined.self)
   | `- note: in expansion of macro 'Union' on enum 'WebhookEvent' here
36 | enum WebhookEvent {}
   +--- macro expansion @Union -----------------------------------------
   |30 |     }
   |31 | }
   |32 |         if Type2.self is any TypeDiscriminated.Type {
   |   |                       `- warning: 'is' test is always true
   |33 |             if let decoded = try? Type2(from: decoder) {
   |34 |                 self = .webhookUserJoined(decoded)
   +--------------------------------------------------------------------
37 |
38 | enum WebhookExample {
[27/33] Compiling Examples ApiResponses.swift
macro expansion @Union:19:23: warning: 'is' test is always true
`- /host/spi-builder-workspace/Examples/ApiResponses.swift:40:24: note: expanded code originates here
37 | }
38 |
39 | @Union(ApiOkUser.self, ApiError.self)
   | `- note: in expansion of macro 'Union' on enum 'ApiUserResponse' here
40 | enum ApiUserResponse {}
   +--- macro expansion @Union -----------------------------------------
   |17 |         typealias Type0 = ApiOkUser
   |18 |         typealias Type1 = ApiError
   |19 |         if Type0.self is any TypeDiscriminated.Type {
   |   |                       `- warning: 'is' test is always true
   |20 |             if let decoded = try? Type0(from: decoder) {
   |21 |                 self = .apiOkUser(decoded)
   +--------------------------------------------------------------------
41 |
42 | enum ApiResponseExample {
macro expansion @Union:25:23: warning: 'is' test is always true
`- /host/spi-builder-workspace/Examples/ApiResponses.swift:40:24: note: expanded code originates here
37 | }
38 |
39 | @Union(ApiOkUser.self, ApiError.self)
   | `- note: in expansion of macro 'Union' on enum 'ApiUserResponse' here
40 | enum ApiUserResponse {}
   +--- macro expansion @Union -----------------------------------------
   |23 |     }
   |24 | }
   |25 |         if Type1.self is any TypeDiscriminated.Type {
   |   |                       `- warning: 'is' test is always true
   |26 |             if let decoded = try? Type1(from: decoder) {
   |27 |                 self = .apiError(decoded)
   +--------------------------------------------------------------------
41 |
42 | enum ApiResponseExample {
[28/33] Compiling Examples ExtendsHierarchy.swift
/host/spi-builder-workspace/Examples/ExtendsHierarchy.swift:41:20: warning: will never be executed
38 |
39 |         // Forwarding works for both parents:
40 |         _ = article.id
   |                    `- note: a call to a never-returning function
41 |         _ = article.createdAt
   |                    `- warning: will never be executed
42 |         _ = article.title
43 |
[29/33] Compiling Examples AnalyticsEvents.swift
macro expansion @Union:20:23: warning: 'is' test is always true
`- /host/spi-builder-workspace/Examples/AnalyticsEvents.swift:47:26: note: expanded code originates here
44 | }
45 |
46 | @Union(AnalyticsPageView.self, AnalyticsClick.self, AnalyticsErrorOccurred.self)
   | `- note: in expansion of macro 'Union' on enum 'AnalyticsAnyEvent' here
47 | enum AnalyticsAnyEvent {}
   +--- macro expansion @Union -----------------------------------------
   |18 |         typealias Type1 = AnalyticsClick
   |19 |         typealias Type2 = AnalyticsErrorOccurred
   |20 |         if Type0.self is any TypeDiscriminated.Type {
   |   |                       `- warning: 'is' test is always true
   |21 |             if let decoded = try? Type0(from: decoder) {
   |22 |                 self = .analyticsPageView(decoded)
   +--------------------------------------------------------------------
48 |
49 | enum AnalyticsExample {
macro expansion @Union:26:23: warning: 'is' test is always true
`- /host/spi-builder-workspace/Examples/AnalyticsEvents.swift:47:26: note: expanded code originates here
44 | }
45 |
46 | @Union(AnalyticsPageView.self, AnalyticsClick.self, AnalyticsErrorOccurred.self)
   | `- note: in expansion of macro 'Union' on enum 'AnalyticsAnyEvent' here
47 | enum AnalyticsAnyEvent {}
   +--- macro expansion @Union -----------------------------------------
   |24 |     }
   |25 | }
   |26 |         if Type1.self is any TypeDiscriminated.Type {
   |   |                       `- warning: 'is' test is always true
   |27 |             if let decoded = try? Type1(from: decoder) {
   |28 |                 self = .analyticsClick(decoded)
   +--------------------------------------------------------------------
48 |
49 | enum AnalyticsExample {
macro expansion @Union:32:23: warning: 'is' test is always true
`- /host/spi-builder-workspace/Examples/AnalyticsEvents.swift:47:26: note: expanded code originates here
44 | }
45 |
46 | @Union(AnalyticsPageView.self, AnalyticsClick.self, AnalyticsErrorOccurred.self)
   | `- note: in expansion of macro 'Union' on enum 'AnalyticsAnyEvent' here
47 | enum AnalyticsAnyEvent {}
   +--- macro expansion @Union -----------------------------------------
   |30 |     }
   |31 | }
   |32 |         if Type2.self is any TypeDiscriminated.Type {
   |   |                       `- warning: 'is' test is always true
   |33 |             if let decoded = try? Type2(from: decoder) {
   |34 |                 self = .analyticsErrorOccurred(decoded)
   +--------------------------------------------------------------------
48 |
49 | enum AnalyticsExample {
[30/33] Emitting module Examples
macro expansion @Union:20:23: warning: 'is' test is always true
`- /host/spi-builder-workspace/Examples/AnalyticsEvents.swift:47:26: note: expanded code originates here
44 | }
45 |
46 | @Union(AnalyticsPageView.self, AnalyticsClick.self, AnalyticsErrorOccurred.self)
   | `- note: in expansion of macro 'Union' on enum 'AnalyticsAnyEvent' here
47 | enum AnalyticsAnyEvent {}
   +--- macro expansion @Union -----------------------------------------
   |18 |         typealias Type1 = AnalyticsClick
   |19 |         typealias Type2 = AnalyticsErrorOccurred
   |20 |         if Type0.self is any TypeDiscriminated.Type {
   |   |                       `- warning: 'is' test is always true
   |21 |             if let decoded = try? Type0(from: decoder) {
   |22 |                 self = .analyticsPageView(decoded)
   +--------------------------------------------------------------------
48 |
49 | enum AnalyticsExample {
macro expansion @Union:26:23: warning: 'is' test is always true
`- /host/spi-builder-workspace/Examples/AnalyticsEvents.swift:47:26: note: expanded code originates here
44 | }
45 |
46 | @Union(AnalyticsPageView.self, AnalyticsClick.self, AnalyticsErrorOccurred.self)
   | `- note: in expansion of macro 'Union' on enum 'AnalyticsAnyEvent' here
47 | enum AnalyticsAnyEvent {}
   +--- macro expansion @Union -----------------------------------------
   |24 |     }
   |25 | }
   |26 |         if Type1.self is any TypeDiscriminated.Type {
   |   |                       `- warning: 'is' test is always true
   |27 |             if let decoded = try? Type1(from: decoder) {
   |28 |                 self = .analyticsClick(decoded)
   +--------------------------------------------------------------------
48 |
49 | enum AnalyticsExample {
macro expansion @Union:32:23: warning: 'is' test is always true
`- /host/spi-builder-workspace/Examples/AnalyticsEvents.swift:47:26: note: expanded code originates here
44 | }
45 |
46 | @Union(AnalyticsPageView.self, AnalyticsClick.self, AnalyticsErrorOccurred.self)
   | `- note: in expansion of macro 'Union' on enum 'AnalyticsAnyEvent' here
47 | enum AnalyticsAnyEvent {}
   +--- macro expansion @Union -----------------------------------------
   |30 |     }
   |31 | }
   |32 |         if Type2.self is any TypeDiscriminated.Type {
   |   |                       `- warning: 'is' test is always true
   |33 |             if let decoded = try? Type2(from: decoder) {
   |34 |                 self = .analyticsErrorOccurred(decoded)
   +--------------------------------------------------------------------
48 |
49 | enum AnalyticsExample {
macro expansion @Union:19:23: warning: 'is' test is always true
`- /host/spi-builder-workspace/Examples/ApiResponses.swift:40:24: note: expanded code originates here
37 | }
38 |
39 | @Union(ApiOkUser.self, ApiError.self)
   | `- note: in expansion of macro 'Union' on enum 'ApiUserResponse' here
40 | enum ApiUserResponse {}
   +--- macro expansion @Union -----------------------------------------
   |17 |         typealias Type0 = ApiOkUser
   |18 |         typealias Type1 = ApiError
   |19 |         if Type0.self is any TypeDiscriminated.Type {
   |   |                       `- warning: 'is' test is always true
   |20 |             if let decoded = try? Type0(from: decoder) {
   |21 |                 self = .apiOkUser(decoded)
   +--------------------------------------------------------------------
41 |
42 | enum ApiResponseExample {
macro expansion @Union:25:23: warning: 'is' test is always true
`- /host/spi-builder-workspace/Examples/ApiResponses.swift:40:24: note: expanded code originates here
37 | }
38 |
39 | @Union(ApiOkUser.self, ApiError.self)
   | `- note: in expansion of macro 'Union' on enum 'ApiUserResponse' here
40 | enum ApiUserResponse {}
   +--- macro expansion @Union -----------------------------------------
   |23 |     }
   |24 | }
   |25 |         if Type1.self is any TypeDiscriminated.Type {
   |   |                       `- warning: 'is' test is always true
   |26 |             if let decoded = try? Type1(from: decoder) {
   |27 |                 self = .apiError(decoded)
   +--------------------------------------------------------------------
41 |
42 | enum ApiResponseExample {
macro expansion @Union:20:23: warning: 'is' test is always true
`- /host/spi-builder-workspace/Examples/Webhooks.swift:36:21: note: expanded code originates here
33 | }
34 |
35 | @Union(WebhookMessageCreated.self, WebhookReactionAdded.self, WebhookUserJoined.self)
   | `- note: in expansion of macro 'Union' on enum 'WebhookEvent' here
36 | enum WebhookEvent {}
   +--- macro expansion @Union -----------------------------------------
   |18 |         typealias Type1 = WebhookReactionAdded
   |19 |         typealias Type2 = WebhookUserJoined
   |20 |         if Type0.self is any TypeDiscriminated.Type {
   |   |                       `- warning: 'is' test is always true
   |21 |             if let decoded = try? Type0(from: decoder) {
   |22 |                 self = .webhookMessageCreated(decoded)
   +--------------------------------------------------------------------
37 |
38 | enum WebhookExample {
macro expansion @Union:26:23: warning: 'is' test is always true
`- /host/spi-builder-workspace/Examples/Webhooks.swift:36:21: note: expanded code originates here
33 | }
34 |
35 | @Union(WebhookMessageCreated.self, WebhookReactionAdded.self, WebhookUserJoined.self)
   | `- note: in expansion of macro 'Union' on enum 'WebhookEvent' here
36 | enum WebhookEvent {}
   +--- macro expansion @Union -----------------------------------------
   |24 |     }
   |25 | }
   |26 |         if Type1.self is any TypeDiscriminated.Type {
   |   |                       `- warning: 'is' test is always true
   |27 |             if let decoded = try? Type1(from: decoder) {
   |28 |                 self = .webhookReactionAdded(decoded)
   +--------------------------------------------------------------------
37 |
38 | enum WebhookExample {
macro expansion @Union:32:23: warning: 'is' test is always true
`- /host/spi-builder-workspace/Examples/Webhooks.swift:36:21: note: expanded code originates here
33 | }
34 |
35 | @Union(WebhookMessageCreated.self, WebhookReactionAdded.self, WebhookUserJoined.self)
   | `- note: in expansion of macro 'Union' on enum 'WebhookEvent' here
36 | enum WebhookEvent {}
   +--- macro expansion @Union -----------------------------------------
   |30 |     }
   |31 | }
   |32 |         if Type2.self is any TypeDiscriminated.Type {
   |   |                       `- warning: 'is' test is always true
   |33 |             if let decoded = try? Type2(from: decoder) {
   |34 |                 self = .webhookUserJoined(decoded)
   +--------------------------------------------------------------------
37 |
38 | enum WebhookExample {
[31/34] Wrapping AST for Examples for debugging
[32/34] Write Objects.LinkFileList
[33/34] Linking Examples
Build complete! (14.72s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-syntax",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "600.0.0",
            "upper_bound" : "605.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-syntax.git"
    },
    {
      "identity" : "swift-macro-testing",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.6.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/pointfreeco/swift-macro-testing.git"
    }
  ],
  "manifest_display_name" : "swift-typescript-bridge",
  "name" : "swift-typescript-bridge",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "TypeScriptBridge",
      "targets" : [
        "TypeScriptBridge"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Examples",
      "targets" : [
        "Examples"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "TypeScriptBridgeMacros",
      "targets" : [
        "TypeScriptBridgeMacros"
      ],
      "type" : {
        "macro" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TypeScriptBridgeTests",
      "module_type" : "SwiftTarget",
      "name" : "TypeScriptBridgeTests",
      "path" : "Tests/TypeScriptBridgeTests",
      "sources" : [
        "AccessModifierTests.swift",
        "BasicUnionTests.swift",
        "ComplexTypeTests.swift",
        "DiscriminatorTests.swift",
        "EdgeCaseTests.swift",
        "ExtendsMacroTests.swift",
        "IntegrationTests.swift",
        "MultiParentExtendsTests.swift",
        "NullableLiteralUnionTests.swift",
        "NumericLiteralTests.swift",
        "TestHelpers.swift",
        "TypeValidationTests.swift"
      ],
      "target_dependencies" : [
        "TypeScriptBridge"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TypeScriptBridgeMacros",
      "module_type" : "SwiftTarget",
      "name" : "TypeScriptBridgeMacros",
      "path" : "Sources/TypeScriptBridgeMacros",
      "product_dependencies" : [
        "SwiftSyntaxMacros",
        "SwiftCompilerPlugin"
      ],
      "product_memberships" : [
        "TypeScriptBridge",
        "Examples",
        "TypeScriptBridgeMacros"
      ],
      "sources" : [
        "Diagnostics.swift",
        "ExtendsMacro.swift",
        "LiteralUnionMacro.swift",
        "MacroUtils.swift",
        "TypeScriptBridgeMacros.swift",
        "TypeUnionMacro.swift",
        "UnionDiscriminatorMacro.swift"
      ],
      "type" : "macro"
    },
    {
      "c99name" : "TypeScriptBridgeMacroExpansionTests",
      "module_type" : "SwiftTarget",
      "name" : "TypeScriptBridgeMacroExpansionTests",
      "path" : "Tests/TypeScriptBridgeMacroExpansionTests",
      "product_dependencies" : [
        "MacroTesting"
      ],
      "sources" : [
        "ExtendsExpansionTests.swift",
        "LiteralUnionExpansionTests.swift",
        "TypeUnionExpansionTests.swift",
        "UnionDiscriminatorExpansionTests.swift"
      ],
      "target_dependencies" : [
        "TypeScriptBridgeMacros"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TypeScriptBridge",
      "module_type" : "SwiftTarget",
      "name" : "TypeScriptBridge",
      "path" : "Sources/TypeScriptBridge",
      "product_memberships" : [
        "TypeScriptBridge",
        "Examples"
      ],
      "sources" : [
        "TypeScriptBridge.swift"
      ],
      "target_dependencies" : [
        "TypeScriptBridgeMacros"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Examples",
      "module_type" : "SwiftTarget",
      "name" : "Examples",
      "path" : "Examples",
      "product_memberships" : [
        "Examples"
      ],
      "sources" : [
        "AnalyticsEvents.swift",
        "ApiResponses.swift",
        "ExtendsHierarchy.swift",
        "Webhooks.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "TypeScriptBridge"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "6.2"
}
basic-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:518d581a7f3cc0f988d8921e0dce92c3361f942cd4cc7d944cb46f8707e06c63
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.3-latest
Done.