Build Information
Successful build of JavaScriptKit, reference 0.51.0 (f483b9), with Swift 6.3 for macOS (SPM) on 30 Apr 2026 18:43:00 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/swiftwasm/JavaScriptKit.git
Reference: 0.51.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/swiftwasm/JavaScriptKit
* tag 0.51.0 -> FETCH_HEAD
HEAD is now at f483b91 [BridgeJS] Synthesize typed-closure init access from declaration surface (#709) (#727)
Cloned https://github.com/swiftwasm/JavaScriptKit.git
Revision (git rev-parse @):
f483b91988d054f932f915ebce01ae3a7c473bf7
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/swiftwasm/JavaScriptKit.git at 0.51.0
Fetching https://github.com/swiftlang/swift-syntax
[1/75037] Fetching swift-syntax
Fetched https://github.com/swiftlang/swift-syntax from cache (3.48s)
Computing version for https://github.com/swiftlang/swift-syntax
Computed https://github.com/swiftlang/swift-syntax at 603.0.1 (7.29s)
Creating working copy for https://github.com/swiftlang/swift-syntax
Working copy of https://github.com/swiftlang/swift-syntax resolved at 603.0.1
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"traits": [
"default"
],
"dependencies": [
{
"identity": "javascriptkit",
"name": "JavaScriptKit",
"url": "https://github.com/swiftwasm/JavaScriptKit.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/JavaScriptKit",
"traits": [
],
"dependencies": [
{
"identity": "swift-syntax",
"name": "swift-syntax",
"url": "https://github.com/swiftlang/swift-syntax",
"version": "603.0.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-syntax",
"traits": [
"default"
],
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/swiftwasm/JavaScriptKit.git
[1/37105] Fetching javascriptkit
Fetched https://github.com/swiftwasm/JavaScriptKit.git from cache (2.87s)
Fetching https://github.com/swiftlang/swift-syntax from cache
Fetched https://github.com/swiftlang/swift-syntax from cache (0.82s)
Computing version for https://github.com/swiftlang/swift-syntax
Computed https://github.com/swiftlang/swift-syntax at 603.0.1 (0.91s)
Creating working copy for https://github.com/swiftwasm/JavaScriptKit.git
Working copy of https://github.com/swiftwasm/JavaScriptKit.git resolved at 0.51.0 (f483b91)
Creating working copy for https://github.com/swiftlang/swift-syntax
Working copy of https://github.com/swiftlang/swift-syntax resolved at 603.0.1
Found 1 product dependencies
- swift-syntax
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.3
Building package at path: $PWD
https://github.com/swiftwasm/JavaScriptKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
[1/1] Compiling plugin BridgeJSCommandPlugin
[2/2] Compiling plugin BridgeJS
[3/3] Compiling plugin PackageToJS
Building for debugging...
[3/58] Write sources
[36/58] Write BridgeJSTool-tool-entitlement.plist
[36/58] Write BridgeJSTool-entitlement.plist
[41/58] Write sources
[43/58] Compiling _CJavaScriptEventLoopTestSupport _CJavaScriptEventLoopTestSupport.c
[44/58] Compiling _CJavaScriptBigIntSupport _CJavaScriptKit+I64.c
[45/58] Write swift-version--6988338F2F200930.txt
[46/58] Compiling _CJavaScriptEventLoop _CJavaScriptEventLoop.c
[47/62] Compiling _CJavaScriptKit _CJavaScriptKit.c
[48/74] Compiling _SwiftSyntaxCShims PlatformMutex.c
[51/74] Emitting module SwiftSyntax603
[52/74] Compiling SwiftSyntax603 Empty.swift
[53/74] Emitting module SwiftSyntax603
[54/74] Compiling SwiftSyntax603 Empty.swift
[55/74] Emitting module SwiftSyntax602
[56/74] Compiling SwiftSyntax602 Empty.swift
[57/74] Emitting module SwiftSyntax601
[58/74] Compiling SwiftSyntax601 Empty.swift
[60/74] Emitting module SwiftSyntax601
[61/74] Emitting module SwiftSyntax600
[62/74] Compiling SwiftSyntax600 Empty.swift
[63/74] Emitting module SwiftSyntax602
[64/74] Compiling SwiftSyntax602 Empty.swift
[65/74] Emitting module SwiftSyntax600
[66/74] Compiling SwiftSyntax600 Empty.swift
[67/82] Emitting module SwiftSyntax510
[68/82] Compiling SwiftSyntax510 Empty.swift
[69/82] Emitting module SwiftSyntax510
[70/82] Compiling SwiftSyntax510 Empty.swift
[71/82] Emitting module SwiftSyntax509
[72/82] Compiling SwiftSyntax509 Empty.swift
[74/82] Emitting module SwiftSyntax509
[75/210] Compiling SwiftSyntax AbsolutePosition.swift
[76/210] Compiling SwiftSyntax AbsoluteSyntaxInfo.swift
[77/210] Compiling SwiftSyntax ArenaAllocatedBuffer.swift
[78/210] Compiling SwiftSyntax Assert.swift
[79/210] Compiling SwiftSyntax BumpPtrAllocator.swift
[80/210] Compiling SwiftSyntax CommonAncestor.swift
[81/210] Compiling SwiftSyntax Convenience.swift
[89/217] Compiling SwiftSyntax RawSyntaxLayoutView.swift
[90/217] Compiling SwiftSyntax RawSyntaxNodeProtocol.swift
[91/217] Compiling SwiftSyntax RawSyntaxTokenView.swift
[92/217] Compiling SwiftSyntax SourceEdit.swift
[93/217] Compiling SwiftSyntax SourceLength.swift
[94/217] Compiling SwiftSyntax SourceLocation.swift
[95/217] Compiling SwiftSyntax SourcePresence.swift
[96/224] Compiling SwiftSyntax CustomTraits.swift
[97/224] Compiling SwiftSyntax EditorPlaceholder.swift
[98/224] Compiling SwiftSyntax Identifier.swift
[99/224] Compiling SwiftSyntax MemoryLayout.swift
[100/224] Compiling SwiftSyntax MissingNodeInitializers.swift
[101/224] Compiling SwiftSyntax RawSyntax.swift
[102/224] Compiling SwiftSyntax RawSyntaxArena.swift
[103/224] Compiling SwiftSyntax SwiftSyntaxCompatibility.swift
[104/224] Compiling SwiftSyntax Syntax.swift
[105/224] Compiling SwiftSyntax SyntaxChildren.swift
[106/224] Compiling SwiftSyntax SyntaxCollection.swift
[107/224] Compiling SwiftSyntax SyntaxHashable.swift
[108/224] Compiling SwiftSyntax SyntaxIdentifier.swift
[109/224] Compiling SwiftSyntax SyntaxNodeStructure.swift
[117/224] Emitting module SwiftSyntax
[119/224] Compiling SwiftSyntax SyntaxCollections.swift
[120/224] Compiling SwiftSyntax SyntaxEnum.swift
[121/224] Compiling SwiftSyntax SyntaxKind.swift
[122/224] Compiling SwiftSyntax SyntaxRewriter.swift
[123/224] Compiling SwiftSyntax SyntaxTraits.swift
[124/224] Compiling SwiftSyntax SyntaxVisitor.swift
[125/224] Compiling SwiftSyntax TokenKind.swift
[126/224] Compiling SwiftSyntax Tokens.swift
[127/224] Compiling SwiftSyntax TriviaPieces.swift
[128/224] Compiling SwiftSyntax RawSyntaxNodesAB.swift
[129/224] Compiling SwiftSyntax RawSyntaxNodesC.swift
[130/224] Compiling SwiftSyntax RawSyntaxNodesD.swift
[131/224] Compiling SwiftSyntax RawSyntaxNodesEF.swift
[132/224] Compiling SwiftSyntax RawSyntaxNodesGHI.swift
[133/224] Compiling SwiftSyntax Tokens.swift
[134/224] Compiling SwiftSyntax TriviaPieces.swift
[135/224] Compiling SwiftSyntax Keyword.swift
[136/224] Compiling SwiftSyntax RenamedChildrenCompatibility.swift
[137/224] Compiling SwiftSyntax RenamedNodesCompatibility.swift
[138/224] Compiling SwiftSyntax SyntaxAnyVisitor.swift
[139/224] Compiling SwiftSyntax SyntaxBaseNodes.swift
[140/224] Compiling SwiftSyntax SyntaxProtocol.swift
[141/224] Compiling SwiftSyntax SyntaxText.swift
[142/224] Compiling SwiftSyntax SyntaxTreeViewMode.swift
[143/224] Compiling SwiftSyntax TokenDiagnostic.swift
[144/224] Compiling SwiftSyntax TokenSequence.swift
[145/224] Compiling SwiftSyntax TokenSyntax.swift
[146/224] Compiling SwiftSyntax Trivia.swift
[147/224] Compiling SwiftSyntax RawSyntaxNodesJKLMN.swift
[148/224] Compiling SwiftSyntax RawSyntaxNodesOP.swift
[149/224] Compiling SwiftSyntax RawSyntaxNodesQRS.swift
[150/224] Compiling SwiftSyntax RawSyntaxNodesTUVWXYZ.swift
[151/224] Compiling SwiftSyntax RawSyntaxValidation.swift
[152/224] Compiling SwiftSyntax SyntaxNodesAB.swift
[153/224] Compiling SwiftSyntax SyntaxNodesC.swift
[175/224] Compiling SwiftSyntax SyntaxNodesD.swift
[176/224] Compiling SwiftSyntax SyntaxNodesEF.swift
[177/224] Compiling SwiftSyntax SyntaxNodesGHI.swift
[178/224] Compiling SwiftSyntax SyntaxNodesJKLMN.swift
[179/224] Compiling SwiftSyntax SyntaxNodesOP.swift
[180/224] Compiling SwiftSyntax SyntaxNodesQRS.swift
[181/224] Compiling SwiftSyntax SyntaxNodesTUVWXYZ.swift
[217/344] Compiling SwiftDiagnostics Message.swift
[218/345] Compiling SwiftBasicFormat Trivia+FormatExtensions.swift
[219/345] Compiling SwiftBasicFormat SyntaxProtocol+Formatted.swift
[220/345] Compiling SwiftBasicFormat Syntax+Extensions.swift
[221/345] Compiling SwiftDiagnostics Message.swift
[222/346] Compiling SwiftDiagnostics GroupedDiagnostics.swift
[223/346] Compiling SwiftDiagnostics FixIt.swift
[224/346] Compiling SwiftDiagnostics Note.swift
[225/346] Compiling SwiftBasicFormat Trivia+FormatExtensions.swift
[226/346] Compiling SwiftBasicFormat SyntaxProtocol+Formatted.swift
[227/346] Compiling SwiftBasicFormat InferIndentation.swift
[228/346] Compiling SwiftDiagnostics BasicDiagnosticDecorator.swift
[229/346] Compiling SwiftDiagnostics Convenience.swift
[230/346] Compiling SwiftDiagnostics DiagnosticDecorator.swift
[231/346] Emitting module SwiftDiagnostics
[232/346] Compiling SwiftDiagnostics DiagnosticsFormatter.swift
[233/346] Compiling SwiftDiagnostics Diagnostic.swift
[234/346] Compiling SwiftDiagnostics ANSIDiagnosticDecorator.swift
[235/346] Compiling SwiftDiagnostics Note.swift
[236/346] Compiling SwiftDiagnostics FixIt.swift
[237/346] Compiling SwiftDiagnostics GroupedDiagnostics.swift
[238/346] Compiling SwiftBasicFormat Syntax+Extensions.swift
[239/346] Compiling SwiftBasicFormat Indenter.swift
[240/346] Compiling SwiftBasicFormat InferIndentation.swift
[241/346] Compiling SwiftDiagnostics Diagnostic.swift
[242/346] Compiling SwiftDiagnostics BasicDiagnosticDecorator.swift
[243/346] Compiling SwiftDiagnostics DiagnosticDecorator.swift
[244/346] Compiling SwiftDiagnostics Convenience.swift
[245/346] Compiling SwiftDiagnostics ANSIDiagnosticDecorator.swift
[246/346] Compiling SwiftDiagnostics DiagnosticsFormatter.swift
[247/346] Emitting module SwiftDiagnostics
[248/346] Emitting module SwiftBasicFormat
[249/346] Compiling SwiftBasicFormat BasicFormat.swift
[250/346] Compiling SwiftBasicFormat Indenter.swift
[251/346] Compiling SwiftParser Lexeme.swift
[252/346] Compiling SwiftParser LexemeSequence.swift
[253/346] Compiling SwiftParser Lexer.swift
[254/346] Compiling SwiftParser Names.swift
[255/350] Compiling SwiftBasicFormat BasicFormat.swift
[256/350] Emitting module SwiftBasicFormat
[257/350] Compiling SwiftParser TokenPrecedence.swift
[258/350] Compiling SwiftParser TokenSpec.swift
[259/350] Compiling SwiftParser TokenSpecSet.swift
[260/350] Compiling SwiftParser Declarations.swift
[261/350] Compiling SwiftParser Directives.swift
[262/350] Compiling SwiftParser ExpressionInterpretedAsVersionTuple.swift
[263/350] Compiling SwiftParser Expressions.swift
[264/350] Compiling SwiftParser IncrementalParseTransition.swift
[265/350] Compiling SwiftParser TokenConsumer.swift
[269/354] Compiling SwiftParser StringLiterals.swift
[270/354] Compiling SwiftParser SwiftParserCompatibility.swift
[271/354] Compiling SwiftParser SwiftVersion.swift
[272/354] Compiling SwiftParser SyntaxUtils.swift
[273/354] Compiling SwiftParser TopLevel.swift
[274/354] Emitting module SwiftParser
[275/354] Compiling SwiftParser TriviaParser.swift
[276/354] Compiling SwiftParser Types.swift
[277/354] Compiling SwiftParser ExperimentalFeatures.swift
[278/354] Compiling SwiftParser IsValidIdentifier.swift
[279/354] Compiling SwiftParser Cursor.swift
[280/354] Compiling SwiftParser Nominals.swift
[281/354] Compiling SwiftParser Parameters.swift
[282/354] Compiling SwiftParser ParseSourceFile.swift
[283/354] Compiling SwiftParser Parser.swift
[285/354] Emitting module SwiftParser
[286/354] Compiling SwiftParser RegexLiteralLexer.swift
[287/354] Compiling SwiftParser UnicodeScalarExtensions.swift
[288/354] Compiling SwiftParser Lookahead.swift
[289/354] Compiling SwiftParser LoopProgressCondition.swift
[290/354] Compiling SwiftParser Modifiers.swift
[291/354] Compiling SwiftParser Attributes.swift
[292/354] Compiling SwiftParser Availability.swift
[293/354] Compiling SwiftParser CharacterInfo.swift
[294/354] Compiling SwiftParser CollectionNodes+Parsable.swift
[295/354] Compiling SwiftParser CompilerFiles.swift
[296/354] Compiling SwiftParser Patterns.swift
[297/354] Compiling SwiftParser Recovery.swift
[298/354] Compiling SwiftParser Specifiers.swift
[299/354] Compiling SwiftParser Statements.swift
[300/354] Compiling SwiftParser StringLiteralRepresentedLiteralValue.swift
[339/354] Compiling SwiftParser IsLexerClassified.swift
[340/354] Compiling SwiftParser LayoutNodes+Parsable.swift
[341/354] Compiling SwiftParser Parser+TokenSpecSet.swift
[342/354] Compiling SwiftParser TokenSpecStaticMembers.swift
[343/377] Compiling SwiftParserDiagnostics SyntaxKindNameForDiagnostics.swift
[348/378] Compiling SwiftOperators PrecedenceGraph.swift
[349/379] Compiling SwiftParserDiagnostics TokenNameForDiagnostics.swift
[350/379] Compiling SwiftParserDiagnostics SyntaxExtensions.swift
[351/379] Compiling SwiftParserDiagnostics PresenceUtils.swift
[352/392] Compiling SwiftOperators SyntaxSynthesis.swift
[353/392] Compiling SwiftOperators OperatorTable+Semantics.swift
[354/392] Compiling SwiftOperators OperatorTable.swift
[355/392] Compiling SwiftOperators PrecedenceGroup.swift
[356/392] Compiling SwiftOperators OperatorTable+Defaults.swift
[357/392] Compiling SwiftOperators OperatorError+Diagnostics.swift
[358/392] Compiling SwiftOperators OperatorError.swift
[359/392] Emitting module SwiftOperators
[360/392] Compiling SwiftOperators Operator.swift
[361/392] Compiling SwiftOperators OperatorTable+Folding.swift
[362/392] Compiling SwiftParserDiagnostics ChildNameForDiagnostics.swift
[363/392] Compiling SwiftParserDiagnostics Utils.swift
[364/392] Compiling SwiftParserDiagnostics ParserDiagnosticMessages.swift
[365/392] Compiling SwiftParserDiagnostics DiagnosticExtensions.swift
[366/392] Compiling SwiftParserDiagnostics LexerDiagnosticMessages.swift
[367/392] Compiling SwiftParserDiagnostics MissingNodesError.swift
[368/392] Compiling SwiftParserDiagnostics MissingTokenError.swift
[369/392] Compiling SwiftParserDiagnostics MultiLineStringLiteralDiagnosticsGenerator.swift
[370/392] Compiling SwiftParserDiagnostics ParseDiagnosticsGenerator.swift
[371/392] Emitting module SwiftParserDiagnostics
[372/407] Compiling SwiftParserDiagnostics SyntaxKindNameForDiagnostics.swift
[373/407] Compiling SwiftSyntaxBuilder ConvenienceInitializers.swift
[374/407] Compiling SwiftSyntaxBuilder DeclSyntaxParseable.swift
[375/407] Compiling SwiftSyntaxBuilder Indenter.swift
[376/407] Compiling SwiftSyntaxBuilder ListBuilder.swift
[377/407] Compiling SwiftParserDiagnostics SyntaxExtensions.swift
[378/407] Emitting module SwiftParserDiagnostics
[379/407] Compiling SwiftParserDiagnostics ParserDiagnosticMessages.swift
[380/407] Compiling SwiftParserDiagnostics PresenceUtils.swift
[381/407] Compiling SwiftParserDiagnostics ChildNameForDiagnostics.swift
[382/407] Compiling SwiftParserDiagnostics Utils.swift
[383/407] Compiling SwiftSyntaxBuilder ResultBuilderExtensions.swift
[384/407] Compiling SwiftSyntaxBuilder SwiftSyntaxBuilderCompatibility.swift
[385/408] Compiling SwiftParserDiagnostics TokenNameForDiagnostics.swift
[386/423] Compiling SwiftSyntaxBuilder BuildableNodes.swift
[387/423] Compiling SwiftSyntaxBuilder RenamedChildrenBuilderCompatibility.swift
[388/423] Compiling SwiftSyntaxBuilder ResultBuilders.swift
[389/423] Compiling SwiftSyntaxBuilder SyntaxParsable+ExpressibleByStringInterpolation.swift
[390/423] Compiling SwiftSyntaxBuilder ValidatingSyntaxNodes.swift
[391/423] Compiling SwiftSyntaxBuilder WithTrailingCommaSyntax+EnsuringTrailingComma.swift
[392/424] Compiling SwiftSyntaxBuilder RenamedChildrenBuilderCompatibility.swift
[395/424] Compiling SwiftSyntaxBuilder BuildableNodes.swift
[396/424] Compiling SwiftSyntaxBuilder ResultBuilders.swift
[397/424] Compiling SwiftSyntaxBuilder WithTrailingCommaSyntax+EnsuringTrailingComma.swift
[398/425] Compiling SwiftSyntaxBuilder ResultBuilderExtensions.swift
[399/425] Compiling SwiftSyntaxBuilder SwiftSyntaxBuilderCompatibility.swift
[400/425] Compiling SwiftSyntaxBuilder Indenter.swift
[401/425] Compiling SwiftSyntaxBuilder ListBuilder.swift
[402/425] Compiling SwiftSyntaxBuilder ConvenienceInitializers.swift
[403/425] Compiling SwiftSyntaxBuilder DeclSyntaxParseable.swift
[404/425] Compiling SwiftSyntaxBuilder Syntax+StringInterpolation.swift
[405/425] Compiling SwiftSyntaxBuilder SyntaxNodeWithBody.swift
[406/425] Emitting module SwiftSyntaxBuilder
[416/425] Compiling SwiftSyntaxBuilder SyntaxExpressibleByStringInterpolationConformances.swift
[418/462] Compiling SwiftIfConfig SyntaxLiteralUtils.swift
[419/463] Compiling SwiftIfConfig SyntaxProtocol+IfConfig.swift
[420/463] Compiling SwiftIfConfig VersionTuple+Parsing.swift
[421/463] Compiling SwiftIfConfig IfConfigFunctions.swift
[422/463] Compiling SwiftIfConfig IfConfigRegionState.swift
[423/463] Compiling SwiftIfConfig StaticBuildConfiguration.swift
[424/463] Compiling SwiftIfConfig ActiveSyntaxVisitor.swift
[425/463] Compiling SwiftIfConfig BuildConfiguration.swift
[426/463] Compiling SwiftIfConfig VersionTuple.swift
[427/463] Emitting module SwiftIfConfig
[428/463] Compiling SwiftIfConfig ActiveClauseEvaluator.swift
[429/463] Compiling SwiftIfConfig ActiveSyntaxRewriter.swift
[430/463] Compiling SwiftIfConfig ConfiguredRegions.swift
[431/463] Compiling SwiftIfConfig IfConfigDecl+IfConfig.swift
[432/463] Compiling SwiftIfConfig IfConfigDiagnostic.swift
[433/463] Compiling SwiftIfConfig IfConfigEvaluation.swift
[434/481] Compiling SwiftSyntaxMacros PreambleMacro.swift
[435/481] Compiling SwiftSyntaxMacros FreestandingMacro.swift
[436/481] Compiling SwiftSyntaxMacros Macro+Format.swift
[437/481] Compiling SwiftSyntaxMacros CodeItemMacro.swift
[438/481] Compiling SwiftSyntaxMacros DeclarationMacro.swift
[439/481] Compiling SwiftSyntaxMacros ExpressionMacro.swift
[440/481] Compiling SwiftSyntaxMacros ExtensionMacro.swift
[441/481] Compiling SwiftSyntaxMacros MemberMacro.swift
[442/481] Compiling SwiftSyntaxMacros PeerMacro.swift
[443/481] Compiling SwiftSyntaxMacros AttachedMacro.swift
[444/481] Compiling SwiftSyntaxMacros BodyMacro.swift
[445/481] Compiling SwiftSyntaxMacros Macro.swift
[446/481] Compiling SwiftSyntaxMacros MemberAttributeMacro.swift
[447/482] Compiling SwiftSyntaxMacros MacroExpansionDiagnosticMessages.swift
[448/482] Compiling SwiftSyntaxMacros AccessorMacro.swift
[449/482] Emitting module SwiftSyntaxMacros
[450/482] Compiling SwiftSyntaxMacros AbstractSourceLocation.swift
[451/482] Compiling SwiftSyntaxMacros MacroExpansionContext.swift
[452/482] Compiling SwiftSyntaxMacros Syntax+LexicalContext.swift
[453/492] Compiling SwiftSyntaxMacroExpansion MacroExpansionDiagnosticMessages.swift
[454/492] Compiling SwiftSyntaxMacroExpansion MacroExpansion.swift
[455/492] Compiling SwiftSyntaxMacroExpansion MacroReplacement.swift
[456/492] Compiling SwiftSyntaxMacroExpansion IndentationUtils.swift
[457/492] Compiling SwiftSyntaxMacroExpansion FunctionParameterUtils.swift
[458/492] Compiling SwiftSyntaxMacroExpansion MacroArgument.swift
[459/492] Compiling SwiftSyntaxMacroExpansion MacroSystem.swift
[460/492] Emitting module SwiftSyntaxMacroExpansion
[461/492] Compiling SwiftSyntaxMacroExpansion BasicMacroExpansionContext.swift
[462/492] Compiling SwiftSyntaxMacroExpansion MacroSpec.swift
[463/504] Compiling BridgeJSTool Utilities.swift
[464/505] Compiling BridgeJSTool ExternalModuleIndex.swift
[465/505] Emitting module SwiftCompilerPluginMessageHandling
[466/505] Compiling SwiftCompilerPluginMessageHandling CodingUtilities.swift
[467/505] Compiling SwiftCompilerPluginMessageHandling JSON.swift
[468/506] Compiling SwiftCompilerPluginMessageHandling Macros.swift
[469/506] Compiling SwiftCompilerPluginMessageHandling PluginMacroExpansionContext.swift
[470/506] Compiling SwiftCompilerPluginMessageHandling LRUCache.swift
[471/506] Compiling SwiftCompilerPluginMessageHandling JSONEncoding.swift
[472/506] Compiling SwiftCompilerPluginMessageHandling JSONDecoding.swift
[473/506] Compiling SwiftCompilerPluginMessageHandling PluginMessageCompatibility.swift
[474/506] Compiling SwiftCompilerPluginMessageHandling PluginMessages.swift
[475/506] Compiling SwiftCompilerPluginMessageHandling CompilerPluginMessageHandler.swift
[476/506] Compiling SwiftCompilerPluginMessageHandling Diagnostics.swift
[477/506] Compiling SwiftCompilerPluginMessageHandling StandardIOMessageConnection.swift
[478/506] Emitting module BridgeJSTool
[481/508] Emitting module SwiftCompilerPlugin
[482/508] Compiling SwiftCompilerPlugin CompilerPlugin.swift
[483/508] Compiling BridgeJSTool SwiftToSkeleton.swift
[484/515] Compiling BridgeJSTool TS2Swift.swift
[485/515] Compiling BridgeJSTool ImportTS.swift
[486/515] Compiling BridgeJSTool Misc.swift
[487/515] Compiling BridgeJSMacros JSSetterMacro.swift
[488/515] Compiling BridgeJSTool Utilities.swift
[489/515] Compiling BridgeJSTool BridgeJSTool.swift
[491/516] Compiling BridgeJSMacros JSGetterMacro.swift
[492/516] Compiling BridgeJSMacros JSFunctionMacro.swift
[493/516] Compiling BridgeJSMacros JSClassMacro.swift
[494/516] Compiling BridgeJSMacros BridgeJSMacrosPlugin.swift
[495/516] Emitting module BridgeJSMacros
[496/516] Compiling BridgeJSMacros JSMacroSupport.swift
[496/516] Write Objects.LinkFileList
[498/516] Compiling BridgeJSTool TypeDeclResolver.swift
[499/516] Compiling BridgeJSTool BridgeJSSkeleton.swift
[499/516] Write Objects.LinkFileList
[501/516] Compiling BridgeJSTool TS2Swift.swift
[502/516] Compiling BridgeJSTool TypeDeclResolver.swift
[503/516] Compiling BridgeJSTool SwiftToSkeleton.swift
[504/516] Compiling BridgeJSTool Misc.swift
[505/516] Compiling BridgeJSTool ImportTS.swift
[508/516] Compiling BridgeJSTool ExternalModuleIndex.swift
[509/516] Emitting module BridgeJSTool
[510/516] Compiling BridgeJSTool BridgeJSSkeleton.swift
[510/516] Write Objects.LinkFileList
[511/516] Linking BridgeJSMacros-tool
[512/541] Linking BridgeJSTool-tool
[513/541] Applying BridgeJSTool-tool
[514/541] Linking BridgeJSTool
[515/541] Applying BridgeJSTool
[517/541] Compiling JavaScriptKit Deprecated.swift
[518/541] Compiling JavaScriptKit Features.swift
[519/541] Compiling JavaScriptKit JSBigInt.swift
[520/543] Compiling JavaScriptKit JSTracing.swift
[521/543] Compiling JavaScriptKit JSUndefinedOr.swift
[522/543] Compiling JavaScriptKit JSPromise.swift
[523/543] Compiling JavaScriptKit JSTimer.swift
[524/543] Compiling JavaScriptKit JSTypedArray.swift
[525/543] Compiling JavaScriptKit JSArray.swift
[526/543] Compiling JavaScriptKit JSDate.swift
[527/543] Compiling JavaScriptKit JSError.swift
[528/543] Compiling JavaScriptKit JSBridgedType.swift
[529/543] Compiling JavaScriptKit JSException.swift
[530/543] Compiling JavaScriptKit JSString.swift
[531/543] Compiling JavaScriptKit JSSymbol.swift
[532/543] Compiling JavaScriptKit JSThrowingFunction.swift
[533/543] Compiling JavaScriptKit JSClosure.swift
[534/543] Compiling JavaScriptKit JSObject+CallAsFunction.swift
[535/543] Compiling JavaScriptKit JSObject.swift
[536/543] Compiling JavaScriptKit JSValue.swift
[537/543] Compiling JavaScriptKit JSValueDecoder.swift
[538/543] Compiling JavaScriptKit Macros.swift
[539/543] Compiling JavaScriptKit ThreadLocal.swift
[540/543] Emitting module JavaScriptKit
[541/543] Compiling JavaScriptKit BridgeJSIntrinsics.swift
[542/543] Compiling JavaScriptKit ConstructibleFromJSValue.swift
[543/543] Compiling JavaScriptKit ConvertibleToJSValue.swift
[544/557] Compiling JavaScriptBigIntSupport Int64+I64.swift
[545/557] Emitting module JavaScriptBigIntSupport
[546/557] Compiling JavaScriptBigIntSupport JSBigInt+I64.swift
[547/557] Compiling JavaScriptFoundationCompat Data+JSValue.swift
[548/557] Emitting module JavaScriptFoundationCompat
[549/557] Compiling JavaScriptEventLoop WebWorkerTaskExecutor.swift
[550/557] Compiling JavaScriptEventLoop JavaScriptEventLoop.swift
[551/557] Compiling JavaScriptEventLoop WebWorkerDedicatedExecutor.swift
[552/557] Compiling JavaScriptEventLoop JavaScriptEventLoop+LegacyHooks.swift
[553/557] Compiling JavaScriptEventLoop JobQueue.swift
[554/557] Compiling JavaScriptEventLoop JSRemote.swift
[555/557] Compiling JavaScriptEventLoop JavaScriptEventLoop+ExecutorFactory.swift
[556/557] Emitting module JavaScriptEventLoop
[557/557] Compiling JavaScriptEventLoop JSSending.swift
[558/559] Compiling JavaScriptEventLoopTestSupport JavaScriptEventLoopTestSupport.swift
[559/559] Emitting module JavaScriptEventLoopTestSupport
Build complete! (40.65s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-syntax",
"requirement" : {
"range" : [
{
"lower_bound" : "600.0.0",
"upper_bound" : "604.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftlang/swift-syntax"
}
],
"manifest_display_name" : "JavaScriptKit",
"name" : "JavaScriptKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
},
{
"name" : "maccatalyst",
"version" : "13.0"
}
],
"products" : [
{
"name" : "JavaScriptKit",
"targets" : [
"JavaScriptKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "JavaScriptEventLoop",
"targets" : [
"JavaScriptEventLoop"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "JavaScriptBigIntSupport",
"targets" : [
"JavaScriptBigIntSupport"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "JavaScriptFoundationCompat",
"targets" : [
"JavaScriptFoundationCompat"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "JavaScriptEventLoopTestSupport",
"targets" : [
"JavaScriptEventLoopTestSupport"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "PackageToJS",
"targets" : [
"PackageToJS"
],
"type" : {
"plugin" : null
}
},
{
"name" : "BridgeJS",
"targets" : [
"BridgeJS"
],
"type" : {
"plugin" : null
}
},
{
"name" : "BridgeJSCommandPlugin",
"targets" : [
"BridgeJSCommandPlugin"
],
"type" : {
"plugin" : null
}
},
{
"name" : "BridgeJSTool",
"targets" : [
"BridgeJSTool"
],
"type" : {
"executable" : null
}
},
{
"name" : "BridgeJSMacros",
"targets" : [
"BridgeJSMacros"
],
"type" : {
"macro" : null
}
}
],
"targets" : [
{
"c99name" : "_CJavaScriptKit",
"module_type" : "ClangTarget",
"name" : "_CJavaScriptKit",
"path" : "Sources/_CJavaScriptKit",
"product_memberships" : [
"JavaScriptKit",
"JavaScriptEventLoop",
"JavaScriptBigIntSupport",
"JavaScriptFoundationCompat",
"JavaScriptEventLoopTestSupport"
],
"sources" : [
"_CJavaScriptKit.c"
],
"type" : "library"
},
{
"c99name" : "_CJavaScriptEventLoopTestSupport",
"module_type" : "ClangTarget",
"name" : "_CJavaScriptEventLoopTestSupport",
"path" : "Sources/_CJavaScriptEventLoopTestSupport",
"product_memberships" : [
"JavaScriptEventLoopTestSupport"
],
"sources" : [
"_CJavaScriptEventLoopTestSupport.c"
],
"type" : "library"
},
{
"c99name" : "_CJavaScriptEventLoop",
"module_type" : "ClangTarget",
"name" : "_CJavaScriptEventLoop",
"path" : "Sources/_CJavaScriptEventLoop",
"product_memberships" : [
"JavaScriptEventLoop",
"JavaScriptEventLoopTestSupport"
],
"sources" : [
"_CJavaScriptEventLoop.c"
],
"type" : "library"
},
{
"c99name" : "_CJavaScriptBigIntSupport",
"module_type" : "ClangTarget",
"name" : "_CJavaScriptBigIntSupport",
"path" : "Sources/_CJavaScriptBigIntSupport",
"product_memberships" : [
"JavaScriptBigIntSupport"
],
"sources" : [
"_CJavaScriptKit+I64.c"
],
"target_dependencies" : [
"_CJavaScriptKit"
],
"type" : "library"
},
{
"c99name" : "PackageToJS",
"module_type" : "PluginTarget",
"name" : "PackageToJS",
"path" : "Plugins/PackageToJS/Sources",
"plugin_capability" : {
"intent" : {
"description" : "Convert a Swift package to a JavaScript package",
"type" : "custom",
"verb" : "js"
},
"permissions" : [
],
"type" : "command"
},
"product_memberships" : [
"PackageToJS"
],
"sources" : [
"BridgeJSLink/BridgeJSLink.swift",
"BridgeJSLink/JSGlueGen.swift",
"BridgeJSLink/JSIntrinsicRegistry.swift",
"BridgeJSPluginUtilities/PluginPaths.swift",
"BridgeJSSkeleton/BridgeJSSkeleton.swift",
"BridgeJSUtilities/Utilities.swift",
"MiniMake.swift",
"PackageToJS.swift",
"PackageToJSPlugin.swift",
"ParseWasm.swift",
"Preprocess.swift",
"TestsParser.swift"
],
"type" : "plugin"
},
{
"c99name" : "JavaScriptKitTests",
"module_type" : "SwiftTarget",
"name" : "JavaScriptKitTests",
"path" : "Tests/JavaScriptKitTests",
"sources" : [
"JSClosureTests.swift",
"JSExceptionTests.swift",
"JSObjectTests.swift",
"JSStringTests.swift",
"JSTracingTests.swift",
"JSTypedArrayTests.swift",
"JavaScriptKitTests.swift",
"ThreadLocalTests.swift"
],
"target_dependencies" : [
"JavaScriptKit"
],
"type" : "test"
},
{
"c99name" : "JavaScriptKit",
"module_type" : "SwiftTarget",
"name" : "JavaScriptKit",
"path" : "Sources/JavaScriptKit",
"product_memberships" : [
"JavaScriptKit",
"JavaScriptEventLoop",
"JavaScriptBigIntSupport",
"JavaScriptFoundationCompat",
"JavaScriptEventLoopTestSupport"
],
"sources" : [
"BasicObjects/JSArray.swift",
"BasicObjects/JSDate.swift",
"BasicObjects/JSError.swift",
"BasicObjects/JSPromise.swift",
"BasicObjects/JSTimer.swift",
"BasicObjects/JSTypedArray.swift",
"BridgeJSIntrinsics.swift",
"ConstructibleFromJSValue.swift",
"ConvertibleToJSValue.swift",
"Deprecated.swift",
"Features.swift",
"FundamentalObjects/JSBigInt.swift",
"FundamentalObjects/JSClosure.swift",
"FundamentalObjects/JSObject+CallAsFunction.swift",
"FundamentalObjects/JSObject.swift",
"FundamentalObjects/JSString.swift",
"FundamentalObjects/JSSymbol.swift",
"FundamentalObjects/JSThrowingFunction.swift",
"JSBridgedType.swift",
"JSException.swift",
"JSTracing.swift",
"JSUndefinedOr.swift",
"JSValue.swift",
"JSValueDecoder.swift",
"Macros.swift",
"ThreadLocal.swift"
],
"target_dependencies" : [
"_CJavaScriptKit",
"BridgeJSMacros"
],
"type" : "library"
},
{
"c99name" : "JavaScriptFoundationCompatTests",
"module_type" : "SwiftTarget",
"name" : "JavaScriptFoundationCompatTests",
"path" : "Tests/JavaScriptFoundationCompatTests",
"sources" : [
"Data+JSValueTests.swift"
],
"target_dependencies" : [
"JavaScriptFoundationCompat"
],
"type" : "test"
},
{
"c99name" : "JavaScriptFoundationCompat",
"module_type" : "SwiftTarget",
"name" : "JavaScriptFoundationCompat",
"path" : "Sources/JavaScriptFoundationCompat",
"product_memberships" : [
"JavaScriptFoundationCompat"
],
"sources" : [
"Data+JSValue.swift"
],
"target_dependencies" : [
"JavaScriptKit"
],
"type" : "library"
},
{
"c99name" : "JavaScriptEventLoopTests",
"module_type" : "SwiftTarget",
"name" : "JavaScriptEventLoopTests",
"path" : "Tests/JavaScriptEventLoopTests",
"sources" : [
"JSClosure+AsyncTests.swift",
"JSPromiseTests.swift",
"JSTimerTests.swift",
"JavaScriptEventLoopTests.swift",
"WebWorkerDedicatedExecutorTests.swift",
"WebWorkerTaskExecutorTests.swift"
],
"target_dependencies" : [
"JavaScriptEventLoop",
"JavaScriptKit",
"JavaScriptEventLoopTestSupport"
],
"type" : "test"
},
{
"c99name" : "JavaScriptEventLoopTestSupportTests",
"module_type" : "SwiftTarget",
"name" : "JavaScriptEventLoopTestSupportTests",
"path" : "Tests/JavaScriptEventLoopTestSupportTests",
"sources" : [
"JavaScriptEventLoopTestSupportTests.swift"
],
"target_dependencies" : [
"JavaScriptKit",
"JavaScriptEventLoopTestSupport"
],
"type" : "test"
},
{
"c99name" : "JavaScriptEventLoopTestSupport",
"module_type" : "SwiftTarget",
"name" : "JavaScriptEventLoopTestSupport",
"path" : "Sources/JavaScriptEventLoopTestSupport",
"product_memberships" : [
"JavaScriptEventLoopTestSupport"
],
"sources" : [
"JavaScriptEventLoopTestSupport.swift"
],
"target_dependencies" : [
"_CJavaScriptEventLoopTestSupport",
"JavaScriptEventLoop"
],
"type" : "library"
},
{
"c99name" : "JavaScriptEventLoop",
"module_type" : "SwiftTarget",
"name" : "JavaScriptEventLoop",
"path" : "Sources/JavaScriptEventLoop",
"product_memberships" : [
"JavaScriptEventLoop",
"JavaScriptEventLoopTestSupport"
],
"sources" : [
"JSRemote.swift",
"JSSending.swift",
"JavaScriptEventLoop+ExecutorFactory.swift",
"JavaScriptEventLoop+LegacyHooks.swift",
"JavaScriptEventLoop.swift",
"JobQueue.swift",
"WebWorkerDedicatedExecutor.swift",
"WebWorkerTaskExecutor.swift"
],
"target_dependencies" : [
"JavaScriptKit",
"_CJavaScriptEventLoop"
],
"type" : "library"
},
{
"c99name" : "JavaScriptBigIntSupportTests",
"module_type" : "SwiftTarget",
"name" : "JavaScriptBigIntSupportTests",
"path" : "Tests/JavaScriptBigIntSupportTests",
"sources" : [
"JavaScriptBigIntSupportTests.swift"
],
"target_dependencies" : [
"JavaScriptBigIntSupport",
"JavaScriptKit"
],
"type" : "test"
},
{
"c99name" : "JavaScriptBigIntSupport",
"module_type" : "SwiftTarget",
"name" : "JavaScriptBigIntSupport",
"path" : "Sources/JavaScriptBigIntSupport",
"product_memberships" : [
"JavaScriptBigIntSupport"
],
"sources" : [
"Int64+I64.swift",
"JSBigInt+I64.swift"
],
"target_dependencies" : [
"_CJavaScriptBigIntSupport",
"JavaScriptKit"
],
"type" : "library"
},
{
"c99name" : "BridgeJSTool",
"module_type" : "SwiftTarget",
"name" : "BridgeJSTool",
"path" : "Sources/BridgeJSTool",
"product_dependencies" : [
"SwiftParser",
"SwiftSyntax",
"SwiftBasicFormat",
"SwiftSyntaxBuilder"
],
"product_memberships" : [
"BridgeJS",
"BridgeJSCommandPlugin",
"BridgeJSTool"
],
"sources" : [
"BridgeJSCore/ClosureCodegen.swift",
"BridgeJSCore/ExportSwift.swift",
"BridgeJSCore/ExternalModuleIndex.swift",
"BridgeJSCore/ImportTS.swift",
"BridgeJSCore/Misc.swift",
"BridgeJSCore/SwiftToSkeleton.swift",
"BridgeJSCore/TypeDeclResolver.swift",
"BridgeJSSkeleton/BridgeJSSkeleton.swift",
"BridgeJSTool/BridgeJSTool.swift",
"BridgeJSUtilities/Utilities.swift",
"TS2Swift/TS2Swift.swift"
],
"type" : "executable"
},
{
"c99name" : "BridgeJSRuntimeTests",
"module_type" : "SwiftTarget",
"name" : "BridgeJSRuntimeTests",
"path" : "Tests/BridgeJSRuntimeTests",
"sources" : [
"ArraySupportTests.swift",
"AsyncImportTests.swift",
"ClosureSupportTests.swift",
"DefaultArgumentTests.swift",
"DictionarySupportTests.swift",
"ExportAPITests.swift",
"Generated/BridgeJS.Macros.swift",
"Generated/BridgeJS.swift",
"GlobalThisImportTests.swift",
"ImportAPITests.swift",
"ImportStructAPIs.swift",
"IntegerTypesSupportTests.swift",
"JSClassSupportTests.swift",
"MacroCompileTests/JSClassCompileTests.swift",
"MacroCompileTests/JSFunctionCompileTests.swift",
"OptionalSupportTests.swift",
"StructAPIs.swift",
"SwiftClassSupportTests.swift",
"SwiftStructTests.swift"
],
"target_dependencies" : [
"JavaScriptKit",
"JavaScriptEventLoop"
],
"type" : "test"
},
{
"c99name" : "BridgeJSMacros",
"module_type" : "SwiftTarget",
"name" : "BridgeJSMacros",
"path" : "Sources/BridgeJSMacros",
"product_dependencies" : [
"SwiftSyntaxMacros",
"SwiftCompilerPlugin"
],
"product_memberships" : [
"JavaScriptKit",
"JavaScriptEventLoop",
"JavaScriptBigIntSupport",
"JavaScriptFoundationCompat",
"JavaScriptEventLoopTestSupport",
"BridgeJSMacros"
],
"sources" : [
"BridgeJSMacrosPlugin.swift",
"JSClassMacro.swift",
"JSFunctionMacro.swift",
"JSGetterMacro.swift",
"JSMacroSupport.swift",
"JSSetterMacro.swift"
],
"type" : "macro"
},
{
"c99name" : "BridgeJSIdentityTests",
"module_type" : "SwiftTarget",
"name" : "BridgeJSIdentityTests",
"path" : "Tests/BridgeJSIdentityTests",
"sources" : [
"Generated/BridgeJS.swift",
"IdentityModeTests.swift"
],
"target_dependencies" : [
"JavaScriptKit",
"JavaScriptEventLoop"
],
"type" : "test"
},
{
"c99name" : "BridgeJSGlobalTests",
"module_type" : "SwiftTarget",
"name" : "BridgeJSGlobalTests",
"path" : "Tests/BridgeJSGlobalTests",
"sources" : [
"Generated/BridgeJS.swift",
"GlobalAPITests.swift"
],
"target_dependencies" : [
"JavaScriptKit",
"JavaScriptEventLoop"
],
"type" : "test"
},
{
"c99name" : "BridgeJSCommandPlugin",
"module_type" : "PluginTarget",
"name" : "BridgeJSCommandPlugin",
"path" : "Plugins/BridgeJS/Sources/BridgeJSCommandPlugin",
"plugin_capability" : {
"intent" : {
"description" : "Generate bridging code",
"type" : "custom",
"verb" : "bridge-js"
},
"permissions" : [
{
"network_scope" : {
"none" : {
}
},
"reason" : "Generate bridging code",
"type" : "writeToPackageDirectory"
}
],
"type" : "command"
},
"product_memberships" : [
"BridgeJSCommandPlugin"
],
"sources" : [
"BridgeJSCommandPlugin.swift"
],
"target_dependencies" : [
"BridgeJSTool"
],
"type" : "plugin"
},
{
"c99name" : "BridgeJS",
"module_type" : "PluginTarget",
"name" : "BridgeJS",
"path" : "Plugins/BridgeJS/Sources/BridgeJSBuildPlugin",
"plugin_capability" : {
"type" : "buildTool"
},
"product_memberships" : [
"BridgeJS"
],
"sources" : [
"BridgeJSBuildPlugin.swift",
"BridgeJSPluginUtilities/PluginPaths.swift"
],
"target_dependencies" : [
"BridgeJSTool"
],
"type" : "plugin"
}
],
"tools_version" : "6.2"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/swiftwasm/javascriptkit/0.51.0
Repository: swiftwasm/JavaScriptKit
Swift version used: 6.3
Target: JavaScriptKit
Extracting symbol information for 'JavaScriptKit'...
Finished extracting symbol information for 'JavaScriptKit'. (22.26s)
Building documentation for 'JavaScriptKit'...
warning: 'JS(namespace:enumStyle:)' doesn't exist at '/JavaScriptKit/Bringing-Swift-Closures-to-JavaScript'
--> Articles/BridgeJS/Bringing-Swift-Closures-to-JavaScript.md:10:59-10:83
8 |
9 | - You **pass** a Swift closure as an argument to a JavaScript API (e.g. an ``JSFunction(jsName:from:)`` that takes a callback parameter).
10 + - You **return** a Swift closure from Swift exported by ``JS(namespace:enumStyle:)`` so JavaScript can call it later.
11 |
12 | Unlike ``JSClosure``, which uses untyped ``JSValue`` arguments and return values, ``JSTypedClosure`` has a concrete **signature** (e.g. `(Int) -> Int` or `(String) -> Void`). BridgeJS generates the glue code for that signature, so you get compile-time type safety when crossing into the JS world.
warning: 'FinalizationRegistry' doesn't exist at '/JavaScriptKit/Bringing-Swift-Closures-to-JavaScript'
--> Articles/BridgeJS/Bringing-Swift-Closures-to-JavaScript.md:70:162-70:182
68 | ## JSTypedClosure vs auto-managed closures
69 |
70 + BridgeJS can also expose **plain** Swift closure types (e.g. `(String) -> String`) as parameters and return values; lifetime is then managed automatically via ``FinalizationRegistry`` and no `release()` is required. See <doc:Exporting-Swift-Closure>.
71 |
72 | **When returning** a closure from Swift to JavaScript, we **recommend** using ``JSTypedClosure`` and managing lifetime explicitly with `release()`, rather than returning a plain closure type. Explicit release makes cleanup predictable and avoids relying solely on JavaScript GC.
warning: 'JS(namespace:enumStyle:)' doesn't exist at '/JavaScriptKit/Exporting-Swift-to-JavaScript'
--> Articles/BridgeJS/Exporting-Swift-to-JavaScript.md:11:98-11:122
9 | > Tip: You can quickly preview what interfaces will be exposed on the Swift/JavaScript/TypeScript sides using the [BridgeJS Playground](https://swiftwasm.org/JavaScriptKit/PlayBridgeJS/).
10 |
11 + BridgeJS allows you to expose Swift functions, classes, and methods to JavaScript by using the ``JS(namespace:enumStyle:)`` attribute. This enables JavaScript code to call into Swift code running in WebAssembly.
12 |
13 | Configure your package and build for JavaScript as described in <doc:Setting-up-BridgeJS>. Then use the topics below to expose Swift types and functions to JavaScript.
warning: 'JS(namespace:enumStyle:)' doesn't exist at '/JavaScriptKit/Exporting-Swift-to-JavaScript'
--> Articles/BridgeJS/Exporting-Swift-to-JavaScript.md:32:5-32:29
30 | ## See Also
31 |
32 + - ``JS(namespace:enumStyle:)``
warning: Extraneous content found after a link in task group list item
--> Articles/BridgeJS/Exporting-Swift/Exporting-Swift-Closure.md:120:3-120:127
118 | ## See Also
119 |
120 + - <doc:Bringing-Swift-Closures-to-JavaScript> - passing or returning closures with ``JSTypedClosure`` and explicit `release()`
| ╰─suggestion: Remove extraneous content
121 | - <doc:Supported-Types>
warning: 'JS(namespace:enumStyle:)' doesn't exist at '/JavaScriptKit/Introducing-BridgeJS'
--> Articles/BridgeJS/Introducing-BridgeJS.md:21:106-21:130
19 | BridgeJS supports both directions of the bridge:
20 |
21 + 1. **Export Swift to JavaScript** - Expose Swift functions, classes, and types to JavaScript using the ``JS(namespace:enumStyle:)`` macro. JavaScript can then call into your Swift code. See <doc:Exporting-Swift-to-JavaScript>.
22 | 2. **Import JavaScript into Swift** - Make JavaScript APIs (functions, classes, globals like `document` or `console`) callable from Swift with macros such as ``JSClass(jsName:from:)``. Start with <doc:Importing-JavaScript-into-Swift>. You can also generate the same bindings from a TypeScript file; see <doc:Generating-from-TypeScript>.
23 |
warning: 'JS(namespace:enumStyle:)' doesn't exist at '/JavaScriptKit'
--> Documentation.md:77:5-77:29
75 | - <doc:Unsupported-Features>
76 | - <doc:BridgeJS-Internals>
77 + - ``JS(namespace:enumStyle:)``
| ╰─suggestion: Replace 'JS(namespace:enumStyle:)' with 'JS(namespace:enumStyle:identityMode:)'
78 | - ``JSFunction(jsName:from:)``
79 | - ``JSClass(jsName:from:)``
warning: 'JS(namespace:enumStyle:)' doesn't exist at '/JavaScriptKit'
--> Documentation.md:87:5-87:29
85 | - ``JSValue``
86 | - ``JSObject``
87 + - ``JS(namespace:enumStyle:)``
| ╰─suggestion: Replace 'JS(namespace:enumStyle:)' with 'JS(namespace:enumStyle:identityMode:)'
Finished building documentation for 'JavaScriptKit' (0.79s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/swiftwasm/javascriptkit/0.51.0
Fetching https://github.com/swiftlang/swift-docc-plugin
Updating https://github.com/swiftlang/swift-syntax
[1/2287] Fetching swift-docc-plugin
Updated https://github.com/swiftlang/swift-syntax (0.91s)
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.27s)
Computing version for https://github.com/swiftlang/swift-syntax
Computed https://github.com/swiftlang/swift-syntax at 603.0.1 (2.04s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (0.60s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3708] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.24s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.92s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Building for debugging...
[0/8] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version--6988338F2F200930.txt
[6/54] Compiling SymbolKit Names.swift
[7/54] Compiling SymbolKit SPI.swift
[8/54] Compiling SymbolKit Snippet.swift
[9/54] Compiling SymbolKit Extension.swift
[10/58] Compiling SymbolKit SemanticVersion.swift
[11/58] Compiling SymbolKit AccessControl.swift
[12/58] Compiling SymbolKit Availability.swift
[13/58] Compiling SymbolKit AvailabilityItem.swift
[14/58] Compiling SymbolKit Domain.swift
[15/58] Compiling SymbolKit SourceRange.swift
[16/58] Compiling SymbolKit Metadata.swift
[17/58] Compiling SymbolKit Module.swift
[18/58] Compiling SymbolKit OperatingSystem.swift
[19/58] Compiling SymbolKit Platform.swift
[20/58] Compiling Snippets Snippet.swift
[21/58] Compiling Snippets SnippetLanguage.swift
[22/58] Emitting module Snippets
[23/58] Compiling Snippets SnippetParser.swift
[24/58] Compiling SymbolKit DeclarationFragments.swift
[25/58] Compiling SymbolKit Fragment.swift
[26/58] Compiling SymbolKit FragmentKind.swift
[27/58] Compiling SymbolKit FunctionParameter.swift
[28/58] Compiling SymbolKit FunctionSignature.swift
[29/58] Compiling SymbolKit Mixin+Equals.swift
[30/58] Compiling SymbolKit Mixin+Hash.swift
[31/58] Compiling SymbolKit Mixin.swift
[32/58] Compiling SymbolKit LineList.swift
[33/58] Compiling SymbolKit Position.swift
[34/58] Emitting module SymbolKit
[35/58] Compiling SymbolKit Identifier.swift
[36/58] Compiling SymbolKit KindIdentifier.swift
[37/58] Compiling SymbolKit Location.swift
[38/58] Compiling SymbolKit Mutability.swift
[39/58] Compiling SymbolKit GenericConstraint.swift
[40/58] Compiling SymbolKit GenericParameter.swift
[41/58] Compiling SymbolKit Generics.swift
[42/58] Compiling SymbolKit Namespace.swift
[43/58] Compiling SymbolKit Relationship.swift
[44/58] Compiling SymbolKit RelationshipKind.swift
[45/58] Compiling SymbolKit SourceOrigin.swift
[46/58] Compiling SymbolKit GenericConstraints.swift
[47/58] Compiling SymbolKit Swift.swift
[48/58] Compiling SymbolKit Symbol.swift
[49/58] Compiling SymbolKit SymbolKind.swift
[50/58] Compiling SymbolKit SymbolGraph.swift
[51/58] Compiling SymbolKit GraphCollector.swift
[52/58] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[53/58] Compiling SymbolKit UnifiedSymbol.swift
[54/58] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[55/58] Compiling SymbolKit UnifiedSymbolGraph.swift
[56/62] Compiling snippet_extract URL+Status.swift
[57/62] Compiling snippet_extract SymbolGraph+Snippet.swift
[58/62] Emitting module snippet_extract
[59/62] Compiling snippet_extract SnippetBuildCommand.swift
[59/62] Write Objects.LinkFileList
[60/62] Linking snippet-extract-tool
[61/62] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (3.73s)
Building for debugging...
[0/2] Write swift-version--6988338F2F200930.txt
[2/9] Compiling BridgeJSMacros JSSetterMacro.swift
[3/9] Compiling BridgeJSMacros JSGetterMacro.swift
[4/9] Compiling BridgeJSMacros JSClassMacro.swift
[5/9] Compiling BridgeJSMacros JSFunctionMacro.swift
[6/9] Compiling BridgeJSMacros BridgeJSMacrosPlugin.swift
[7/9] Emitting module BridgeJSMacros
[8/9] Compiling BridgeJSMacros JSMacroSupport.swift
[9/33] Compiling JavaScriptKit JSTracing.swift
[10/33] Compiling JavaScriptKit JSUndefinedOr.swift
[11/35] Compiling JavaScriptKit JSArray.swift
[12/35] Compiling JavaScriptKit JSDate.swift
[13/35] Compiling JavaScriptKit JSError.swift
[14/35] Compiling JavaScriptKit JSPromise.swift
[15/35] Compiling JavaScriptKit JSTimer.swift
[16/35] Compiling JavaScriptKit JSTypedArray.swift
[17/35] Compiling JavaScriptKit Macros.swift
[18/35] Compiling JavaScriptKit ThreadLocal.swift
[19/35] Emitting module JavaScriptKit
[20/35] Compiling JavaScriptKit JSString.swift
[21/35] Compiling JavaScriptKit JSSymbol.swift
[22/35] Compiling JavaScriptKit JSThrowingFunction.swift
[23/35] Compiling JavaScriptKit Deprecated.swift
[24/35] Compiling JavaScriptKit Features.swift
[25/35] Compiling JavaScriptKit JSBigInt.swift
[26/35] Compiling JavaScriptKit JSValue.swift
[27/35] Compiling JavaScriptKit JSValueDecoder.swift
[28/35] Compiling JavaScriptKit JSClosure.swift
[29/35] Compiling JavaScriptKit JSObject+CallAsFunction.swift
[30/35] Compiling JavaScriptKit JSObject.swift
[31/35] Compiling JavaScriptKit BridgeJSIntrinsics.swift
[32/35] Compiling JavaScriptKit ConstructibleFromJSValue.swift
[33/35] Compiling JavaScriptKit ConvertibleToJSValue.swift
[34/35] Compiling JavaScriptKit JSBridgedType.swift
[35/35] Compiling JavaScriptKit JSException.swift
Build of target: 'JavaScriptKit' complete! (2.42s)
Target: JavaScriptEventLoop
Extracting symbol information for 'JavaScriptEventLoop'...
Finished extracting symbol information for 'JavaScriptEventLoop'. (2.19s)
Building documentation for 'JavaScriptEventLoop'...
warning: Parameter 'file' is missing documentation
--> Sources/JavaScriptEventLoop/JSSending.swift:310:93-310:93
308 | /// - Parameters:
309 | /// - sendings: The `JSSending` instances to receive.
310 + /// - isolation: The actor isolation context for this call, used in Swift concurrency.
| ╰─suggestion: Document 'file' parameter
311 | /// - Returns: A tuple containing the received objects.
312 | /// - Throws: `JSSendingError` if any sending operation fails, or `JSException` if a JavaScript error occurs.
warning: Parameter 'line' is missing documentation
--> Sources/JavaScriptEventLoop/JSSending.swift:310:93-310:93
308 | /// - Parameters:
309 | /// - sendings: The `JSSending` instances to receive.
310 + /// - isolation: The actor isolation context for this call, used in Swift concurrency.
| ╰─suggestion: Document 'line' parameter
311 | /// - Returns: A tuple containing the received objects.
312 | /// - Throws: `JSSendingError` if any sending operation fails, or `JSException` if a JavaScript error occurs.
Finished building documentation for 'JavaScriptEventLoop' (0.08s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/swiftwasm/javascriptkit/0.51.0
Building for debugging...
[0/3] Write swift-version--6988338F2F200930.txt
Build of product 'snippet-extract' complete! (0.51s)
Building for debugging...
[0/2] Write swift-version--6988338F2F200930.txt
[2/10] Compiling JavaScriptEventLoop JavaScriptEventLoop.swift
[3/10] Compiling JavaScriptEventLoop WebWorkerTaskExecutor.swift
[4/10] Compiling JavaScriptEventLoop JavaScriptEventLoop+LegacyHooks.swift
[5/10] Compiling JavaScriptEventLoop JavaScriptEventLoop+ExecutorFactory.swift
[6/10] Compiling JavaScriptEventLoop JobQueue.swift
[7/10] Compiling JavaScriptEventLoop WebWorkerDedicatedExecutor.swift
[8/10] Compiling JavaScriptEventLoop JSRemote.swift
[9/10] Emitting module JavaScriptEventLoop
[10/10] Compiling JavaScriptEventLoop JSSending.swift
Build of target: 'JavaScriptEventLoop' complete! (0.93s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/swiftwasm/javascriptkit/0.51.0/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/swiftwasm/javascriptkit/0.51.0/linkable-paths.json
Target: JavaScriptBigIntSupport
Extracting symbol information for 'JavaScriptBigIntSupport'...
Finished extracting symbol information for 'JavaScriptBigIntSupport'. (0.85s)
Building documentation for 'JavaScriptBigIntSupport'...
Finished building documentation for 'JavaScriptBigIntSupport' (0.05s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/swiftwasm/javascriptkit/0.51.0
Building for debugging...
[0/3] Write swift-version--6988338F2F200930.txt
Build of product 'snippet-extract' complete! (0.51s)
Building for debugging...
[0/2] Write swift-version--6988338F2F200930.txt
[2/4] Emitting module JavaScriptBigIntSupport
[3/4] Compiling JavaScriptBigIntSupport Int64+I64.swift
[4/4] Compiling JavaScriptBigIntSupport JSBigInt+I64.swift
Build of target: 'JavaScriptBigIntSupport' complete! (0.75s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/swiftwasm/javascriptkit/0.51.0/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/swiftwasm/javascriptkit/0.51.0/linkable-paths.json
1648
13 /Users/admin/builder/spi-builder-workspace/.docs/swiftwasm/javascriptkit/0.51.0
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/swiftwasm/javascriptkit/0.51.0
File count: 1648
Doc size: 13.0MB
Preparing doc bundle ...
Uploading prod-swiftwasm-javascriptkit-0.51.0-4f9e80d2.zip to s3://spi-docs-inbox/prod-swiftwasm-javascriptkit-0.51.0-4f9e80d2.zip
Copying... [11%]
Copying... [21%]
Copying... [30%]
Copying... [40%]
Copying... [51%]
Copying... [61%]
Copying... [70%]
Copying... [80%]
Copying... [91%]
Copying... [100%]
Done.