@abide/abide 0.57.1 → 0.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -1773
- package/bin/abide.ts +788 -204
- package/package.json +30 -152
- package/scaffold/src/server/app.ts +6 -0
- package/scaffold/src/shared/.gitkeep +0 -0
- package/scaffold/src/ui/app.html +8 -0
- package/scaffold/src/ui/pages/page.abide +13 -0
- package/src/compiler/CHARACTER_REFERENCES.ts +2242 -0
- package/src/compiler/CheckerAnswer.ts +62 -0
- package/src/compiler/Cursor.ts +367 -0
- package/src/compiler/Finding.ts +2 -0
- package/src/compiler/Lowering.ts +648 -0
- package/src/compiler/PositionTable.ts +125 -0
- package/src/compiler/REACTIVE_MEMBERS.ts +36 -0
- package/src/compiler/SHARED_NAMES.ts +45 -0
- package/src/compiler/SPECIFIERS.ts +16 -0
- package/src/compiler/ShadowMap.ts +144 -0
- package/src/compiler/TemplateNode.ts +176 -0
- package/src/compiler/TypeSession.ts +1079 -0
- package/src/compiler/VOID_ELEMENTS.ts +22 -0
- package/src/compiler/aliasedSymbol.ts +15 -0
- package/src/compiler/ambientReadsIn.ts +152 -0
- package/src/compiler/argsDefaultsIn.ts +173 -0
- package/src/compiler/argsSchemaOf.ts +230 -0
- package/src/compiler/checkApp.ts +117 -0
- package/src/compiler/checkedShadow.ts +182 -0
- package/src/compiler/classifyRead.ts +577 -0
- package/src/compiler/classifyTemplate.ts +501 -0
- package/src/compiler/compileApp.ts +559 -0
- package/src/compiler/compiledEntry.ts +141 -0
- package/src/compiler/componentGraph.ts +139 -0
- package/src/compiler/declaredExports.ts +645 -0
- package/src/compiler/decodeCharacterReferences.ts +111 -0
- package/src/compiler/emitClient.ts +1343 -0
- package/src/compiler/emitComponent.ts +162 -0
- package/src/compiler/emitSource.ts +91 -0
- package/src/compiler/formatDiagnosis.ts +19 -0
- package/src/compiler/handlersUnder.ts +109 -0
- package/src/compiler/index.ts +15 -0
- package/src/compiler/invocationProps.ts +67 -0
- package/src/compiler/isNamedAlone.ts +9 -0
- package/src/compiler/lineOf.ts +38 -0
- package/src/compiler/parseAbide.ts +1341 -0
- package/src/compiler/projectShadow.ts +643 -0
- package/src/compiler/reactiveOptions.ts +82 -0
- package/src/compiler/reactiveTypes.ts +222 -0
- package/src/compiler/readSources.ts +100 -0
- package/src/compiler/readsIn.ts +1023 -0
- package/src/compiler/renderMarkup.ts +781 -0
- package/src/compiler/scaffold.ts +105 -0
- package/src/compiler/scopeStyles.ts +309 -0
- package/src/compiler/serveLanguage.ts +405 -0
- package/src/compiler/shareScope.ts +51 -0
- package/src/compiler/sharedModuleWrites.ts +88 -0
- package/src/compiler/splitImports.ts +387 -0
- package/src/compiler/templateWarnings.ts +128 -0
- package/src/compiler/tokenize.ts +317 -0
- package/src/compiler/trackingWarnings.ts +279 -0
- package/src/compiler/writeDefaultProject.ts +42 -0
- package/src/server/BRIDGE_VERSION.ts +3 -0
- package/src/server/CLIENT_BUILD.ts +56 -0
- package/src/server/DEFAULT_PORT.ts +6 -0
- package/src/server/DOCUMENT_HEADERS.ts +11 -0
- package/src/server/Inbox.ts +36 -0
- package/src/server/LogPanel.ts +239 -0
- package/src/server/MCP_PROTOCOL_VERSION.ts +3 -0
- package/src/server/SETTLE_MILLISECONDS.ts +7 -0
- package/src/server/VIRTUAL_DIRECTORY.ts +6 -0
- package/src/server/answerFailure.ts +91 -0
- package/src/server/answerRequest.ts +560 -0
- package/src/server/answerRpc.ts +537 -0
- package/src/server/answerSocket.ts +537 -0
- package/src/server/answerValue.ts +375 -0
- package/src/server/appDirectories.ts +9 -0
- package/src/server/appKit.ts +204 -0
- package/src/server/appPlugins.ts +26 -0
- package/src/server/argsFor.ts +40 -0
- package/src/server/assistant.ts +163 -0
- package/src/server/banner.ts +43 -0
- package/src/server/bridgeRelay.ts +249 -0
- package/src/server/buildDirectory.ts +10 -0
- package/src/server/callerOf.ts +60 -0
- package/src/server/claudeApi.ts +224 -0
- package/src/server/claudeCode.ts +187 -0
- package/src/server/clientBuildOptions.ts +49 -0
- package/src/server/coerceArgs.ts +110 -0
- package/src/server/commands.ts +442 -0
- package/src/server/componentImports.ts +56 -0
- package/src/server/componentModules.d.ts +9 -0
- package/src/server/compressAnswer.ts +66 -0
- package/src/server/config.ts +192 -0
- package/src/server/configFields.ts +92 -0
- package/src/server/createApp.ts +428 -0
- package/src/server/crossingOrigin.ts +49 -0
- package/src/server/csp.ts +77 -0
- package/src/server/devWorker.ts +613 -0
- package/src/server/faultPolicy.ts +59 -0
- package/src/server/fenceServer.ts +48 -0
- package/src/server/generatedSurfaces.ts +430 -0
- package/src/server/hooks.ts +190 -0
- package/src/server/index.ts +87 -0
- package/src/server/installServer.ts +47 -0
- package/src/server/launcherOptions.ts +62 -0
- package/src/server/launcherPage.ts +156 -0
- package/src/server/manifestOf.ts +114 -0
- package/src/server/muxUpgrade.ts +72 -0
- package/src/server/namesUnder.ts +15 -0
- package/src/server/nativeMenu.ts +296 -0
- package/src/server/negotiateEncoding.ts +39 -0
- package/src/server/plainAnswer.ts +19 -0
- package/src/server/prefers.ts +25 -0
- package/src/server/principal.ts +261 -0
- package/src/server/qualitiesOf.ts +22 -0
- package/src/server/randomToken.ts +9 -0
- package/src/server/reachable.ts +31 -0
- package/src/server/refuseAddressCollision.ts +30 -0
- package/src/server/remote.ts +242 -0
- package/src/server/render.ts +464 -0
- package/src/server/renderComponent.ts +33 -0
- package/src/server/reportHealth.ts +46 -0
- package/src/server/requestScope.ts +435 -0
- package/src/server/responseHelpers.ts +75 -0
- package/src/server/runCompiled.ts +44 -0
- package/src/server/runDesktop.ts +572 -0
- package/src/server/seedBuffer.ts +293 -0
- package/src/server/serveBuild.ts +198 -0
- package/src/server/serveDev.ts +499 -0
- package/src/server/shell.ts +506 -0
- package/src/server/surfaceOf.ts +47 -0
- package/src/server/testBuild.ts +237 -0
- package/src/server/trace.ts +151 -0
- package/src/server/versionOf.ts +109 -0
- package/src/server/withoutTrailingSlash.ts +4 -0
- package/src/shared/ADDRESSES.ts +69 -0
- package/src/shared/ANCHORS.ts +54 -0
- package/src/shared/Attributes.ts +339 -0
- package/src/shared/BOOLEAN_ATTRIBUTES.ts +41 -0
- package/src/shared/CHILDREN.ts +11 -0
- package/src/shared/CURRENT_ROUTER.ts +25 -0
- package/src/shared/CopyOptions.ts +19 -0
- package/src/shared/DEBUG_META.ts +6 -0
- package/src/shared/EARLY_CALLS.ts +8 -0
- package/src/shared/FAILURE_STATUS_TEXT.ts +48 -0
- package/src/shared/Failed.ts +146 -0
- package/src/shared/GLOBAL_GETS.ts +7 -0
- package/src/shared/Issues.ts +49 -0
- package/src/shared/JsonValue.ts +18 -0
- package/src/shared/LOAD_SIGNAL.ts +10 -0
- package/src/shared/MOUNT_META.ts +6 -0
- package/src/shared/Middleware.ts +34 -0
- package/src/shared/NAVIGATION_HEADER.ts +7 -0
- package/src/shared/PRINCIPAL_HEADER.ts +6 -0
- package/src/shared/RPC_SERVER.ts +67 -0
- package/src/shared/Raw.ts +90 -0
- package/src/shared/Schema.ts +229 -0
- package/src/shared/UNEXPECTED.ts +11 -0
- package/src/shared/URL_ATTRIBUTES.ts +19 -0
- package/src/shared/VERSION_HEADER.ts +6 -0
- package/src/shared/WORK.ts +37 -0
- package/src/shared/anchorMarkup.ts +15 -0
- package/src/shared/answerOf.ts +141 -0
- package/src/shared/applyPatch.ts +173 -0
- package/src/shared/armAnchor.ts +17 -0
- package/src/shared/attributeText.ts +50 -0
- package/src/shared/boundValue.ts +58 -0
- package/src/shared/cookies.ts +271 -0
- package/src/shared/csp.ts +55 -0
- package/src/shared/decodedOrKept.ts +14 -0
- package/src/shared/escapeText.ts +103 -0
- package/src/shared/framing.ts +131 -0
- package/src/shared/headKeyOf.ts +34 -0
- package/src/shared/health.ts +51 -0
- package/src/shared/index.ts +117 -0
- package/src/shared/isEventName.ts +10 -0
- package/src/shared/isRecord.ts +4 -0
- package/src/shared/issuesOf.ts +18 -0
- package/src/shared/jsonSchema.ts +50 -0
- package/src/shared/listOf.ts +20 -0
- package/src/shared/log.ts +284 -0
- package/src/shared/matchRoute.ts +99 -0
- package/src/shared/menuItem.ts +80 -0
- package/src/shared/mount.ts +45 -0
- package/src/shared/muxFrames.ts +35 -0
- package/src/shared/navigate.ts +26 -0
- package/src/shared/note.ts +24 -0
- package/src/shared/numberFromText.ts +10 -0
- package/src/shared/online.ts +19 -0
- package/src/shared/paint.ts +4 -0
- package/src/shared/principal.ts +145 -0
- package/src/shared/principalRotated.ts +47 -0
- package/src/shared/propCell.ts +99 -0
- package/src/shared/props.ts +24 -0
- package/src/shared/putOwn.ts +24 -0
- package/src/shared/queryText.ts +18 -0
- package/src/shared/reactive/CELL.ts +8 -0
- package/src/shared/reactive/Cursor.ts +223 -0
- package/src/shared/reactive/ENTRY_LIVES.ts +7 -0
- package/src/shared/reactive/Expiry.ts +103 -0
- package/src/shared/reactive/FOLLOWED.ts +8 -0
- package/src/shared/reactive/KEYED_BRAND.ts +8 -0
- package/src/shared/reactive/Keyed.ts +423 -0
- package/src/shared/reactive/MUTATION.ts +5 -0
- package/src/shared/reactive/NO_INITIAL.ts +6 -0
- package/src/shared/reactive/NotLanded.ts +21 -0
- package/src/shared/reactive/PATCHES.ts +11 -0
- package/src/shared/reactive/PATCH_SINKS.ts +26 -0
- package/src/shared/reactive/REACTIVE_BRAND.ts +9 -0
- package/src/shared/reactive/RESHAPING.ts +13 -0
- package/src/shared/reactive/Reactive.ts +4480 -0
- package/src/shared/reactive/SELECTION_MEMBERS.ts +12 -0
- package/src/shared/reactive/STREAMING.ts +5 -0
- package/src/shared/reactive/argsContract.ts +97 -0
- package/src/shared/reactive/byOf.ts +18 -0
- package/src/shared/reactive/callLoad.ts +200 -0
- package/src/shared/reactive/canonicalKey.ts +95 -0
- package/src/shared/reactive/chunksOfStream.ts +51 -0
- package/src/shared/reactive/index.ts +542 -0
- package/src/shared/reactive/isReactive.ts +19 -0
- package/src/shared/reactive/isThenable.ts +14 -0
- package/src/shared/reactive/matchesPattern.ts +16 -0
- package/src/shared/reactive/pairReactive.ts +41 -0
- package/src/shared/reactive/parameterDefaults.ts +356 -0
- package/src/shared/reactive/recordWrites.ts +472 -0
- package/src/shared/reactive/scoped.ts +157 -0
- package/src/shared/reactive/scoping.ts +64 -0
- package/src/shared/reactive/share.ts +91 -0
- package/src/shared/reactive/structural.ts +62 -0
- package/src/shared/reactive/tracking.ts +418 -0
- package/src/shared/reactive/watch.ts +310 -0
- package/src/shared/refuse.ts +224 -0
- package/src/shared/route.ts +29 -0
- package/src/shared/routePattern.ts +146 -0
- package/src/shared/rpc.ts +496 -0
- package/src/shared/rpcRequest.ts +73 -0
- package/src/shared/safeUrl.ts +68 -0
- package/src/shared/seededDocument.ts +36 -0
- package/src/shared/setUpLevels.ts +53 -0
- package/src/shared/slotValue.ts +34 -0
- package/src/shared/spread.ts +79 -0
- package/src/shared/takeEarlyCall.ts +86 -0
- package/src/shared/url.ts +140 -0
- package/src/shared/validateJson.ts +578 -0
- package/src/shared/versionInEtag.ts +14 -0
- package/src/shared/writePath.ts +95 -0
- package/src/ui/ArmRegion.ts +185 -0
- package/src/ui/LAYER_NAMES.ts +30 -0
- package/src/ui/List.ts +273 -0
- package/src/ui/Mismatch.ts +32 -0
- package/src/ui/RawRun.ts +99 -0
- package/src/ui/Router.ts +698 -0
- package/src/ui/Scope.ts +115 -0
- package/src/ui/TryRegion.ts +278 -0
- package/src/ui/adoptWalk.ts +126 -0
- package/src/ui/applyHead.ts +146 -0
- package/src/ui/bindElement.ts +44 -0
- package/src/ui/bindProperty.ts +79 -0
- package/src/ui/bindSpread.ts +44 -0
- package/src/ui/escapeless.ts +14 -0
- package/src/ui/index.ts +64 -0
- package/src/ui/leave.ts +35 -0
- package/src/ui/listenForRoutes.ts +92 -0
- package/src/ui/measureLayer.ts +34 -0
- package/src/ui/menuBridge.ts +19 -0
- package/src/ui/moveNode.ts +34 -0
- package/src/ui/parseMarkup.ts +35 -0
- package/src/ui/reconcile.ts +368 -0
- package/src/ui/regions.ts +137 -0
- package/src/ui/reportMenu.ts +57 -0
- package/src/ui/routing.ts +18 -0
- package/src/ui/rowKeyOf.ts +19 -0
- package/src/ui/rows.ts +99 -0
- package/src/ui/setAttribute.ts +37 -0
- package/src/ui/setClass.ts +27 -0
- package/src/ui/setMarkup.ts +20 -0
- package/src/ui/setStyleProperty.ts +30 -0
- package/src/ui/setText.ts +28 -0
- package/src/ui/socketWire.ts +258 -0
- package/src/ui/wire.ts +141 -0
- package/AGENTS.md +0 -446
- package/README.md +0 -249
- package/src/abideLsp.ts +0 -251
- package/src/abideModules.d.ts +0 -8
- package/src/abideResolverPlugin.ts +0 -1101
- package/src/appEntry.ts +0 -161
- package/src/assets/app.html +0 -12
- package/src/build.ts +0 -189
- package/src/buildCli.ts +0 -125
- package/src/buildDisconnected.ts +0 -117
- package/src/bundleApp.ts +0 -146
- package/src/bundleDisconnectedEntry.ts +0 -14
- package/src/checkAbide.ts +0 -145
- package/src/cliEntry.ts +0 -25
- package/src/clientBuildPlugins.ts +0 -33
- package/src/clientEntry.ts +0 -17
- package/src/compile.ts +0 -61
- package/src/controlServerWorker.ts +0 -433
- package/src/devEntry.ts +0 -381
- package/src/discoveryEntry.ts +0 -82
- package/src/initAgent.ts +0 -50
- package/src/lib/bundle/BundleMenu.ts +0 -12
- package/src/lib/bundle/BundleMenuItem.ts +0 -25
- package/src/lib/bundle/BundleWindow.ts +0 -37
- package/src/lib/bundle/WEBVIEW_BUILD_REVISION.ts +0 -9
- package/src/lib/bundle/WEBVIEW_VERSION.ts +0 -7
- package/src/lib/bundle/bindConnectedFlag.ts +0 -29
- package/src/lib/bundle/bindRequestNavigate.ts +0 -34
- package/src/lib/bundle/buildWebviewLib.ts +0 -111
- package/src/lib/bundle/bundled.ts +0 -35
- package/src/lib/bundle/disconnected.abide +0 -265
- package/src/lib/bundle/disconnected.css +0 -9
- package/src/lib/bundle/ensureWebviewLib.ts +0 -20
- package/src/lib/bundle/exitWithParent.ts +0 -30
- package/src/lib/bundle/infoPlist.ts +0 -52
- package/src/lib/bundle/installDownloads.ts +0 -34
- package/src/lib/bundle/installMacMenu.ts +0 -49
- package/src/lib/bundle/listenLocalControlServer.ts +0 -19
- package/src/lib/bundle/native/abideMenu.mm +0 -422
- package/src/lib/bundle/native/webview.h +0 -4557
- package/src/lib/bundle/onMenu.ts +0 -42
- package/src/lib/bundle/openWebview.ts +0 -104
- package/src/lib/bundle/pngToIcns.ts +0 -47
- package/src/lib/bundle/probeAbideServer.ts +0 -57
- package/src/lib/bundle/resolveServerBinary.ts +0 -12
- package/src/lib/bundle/resolveWebviewLib.ts +0 -53
- package/src/lib/bundle/serverBinaryFilename.ts +0 -8
- package/src/lib/bundle/signMacApp.ts +0 -37
- package/src/lib/bundle/spawnEmbeddedServer.ts +0 -73
- package/src/lib/bundle/stableLocalPort.ts +0 -19
- package/src/lib/bundle/waitForServer.ts +0 -28
- package/src/lib/bundle/webviewCachePath.ts +0 -23
- package/src/lib/bundle/webviewLibName.ts +0 -11
- package/src/lib/cli/completeCli.ts +0 -38
- package/src/lib/cli/connectToServer.ts +0 -23
- package/src/lib/cli/createClient.ts +0 -108
- package/src/lib/cli/dispatchCommand.ts +0 -72
- package/src/lib/cli/loadEnvFromBinaryDir.ts +0 -15
- package/src/lib/cli/parseArgvForRpc.ts +0 -131
- package/src/lib/cli/printCommandHelp.ts +0 -43
- package/src/lib/cli/printSessionHelp.ts +0 -28
- package/src/lib/cli/printSessionStatus.ts +0 -21
- package/src/lib/cli/printTopLevelHelp.ts +0 -83
- package/src/lib/cli/printTrimmed.ts +0 -8
- package/src/lib/cli/printValue.ts +0 -10
- package/src/lib/cli/renderCliCompletions.ts +0 -56
- package/src/lib/cli/resolveCliTarget.ts +0 -47
- package/src/lib/cli/runCli.ts +0 -188
- package/src/lib/cli/runSession.ts +0 -107
- package/src/lib/cli/startLocalInstance.ts +0 -14
- package/src/lib/cli/tokenizeArgvFlags.ts +0 -86
- package/src/lib/cli/tokenizeLine.ts +0 -51
- package/src/lib/cli/types/CliManifest.ts +0 -11
- package/src/lib/cli/types/CliManifestEntry.ts +0 -17
- package/src/lib/cli/types/CliTarget.ts +0 -13
- package/src/lib/mcp/annotationsForMethod.ts +0 -29
- package/src/lib/mcp/buildPrompts.ts +0 -25
- package/src/lib/mcp/createMcpResourceServer.ts +0 -113
- package/src/lib/mcp/createMcpServer.ts +0 -56
- package/src/lib/mcp/dispatchMcpRequest.ts +0 -159
- package/src/lib/mcp/mcpResourceServerSlot.ts +0 -13
- package/src/lib/mcp/mcpSurface.ts +0 -57
- package/src/lib/mcp/mcpTools.ts +0 -196
- package/src/lib/mcp/renderPrompt.ts +0 -25
- package/src/lib/mcp/toolResultFromResponse.ts +0 -100
- package/src/lib/mcp/types/JsonRpcRequest.ts +0 -12
- package/src/lib/mcp/types/JsonRpcResponse.ts +0 -20
- package/src/lib/mcp/types/McpResourceContents.ts +0 -10
- package/src/lib/mcp/types/McpResourceDescriptor.ts +0 -6
- package/src/lib/mcp/types/McpResourceServer.ts +0 -12
- package/src/lib/mcp/types/McpServer.ts +0 -9
- package/src/lib/mcp/types/McpServerOptions.ts +0 -16
- package/src/lib/mcp/types/McpSurface.ts +0 -15
- package/src/lib/mcp/types/PromptDescriptor.ts +0 -5
- package/src/lib/mcp/types/PromptMessage.ts +0 -2
- package/src/lib/mcp/types/ToolDescriptor.ts +0 -7
- package/src/lib/mcp/types/ToolResult.ts +0 -2
- package/src/lib/server/AppModule.ts +0 -47
- package/src/lib/server/DELETE.ts +0 -10
- package/src/lib/server/GET.ts +0 -10
- package/src/lib/server/HEAD.ts +0 -10
- package/src/lib/server/PATCH.ts +0 -10
- package/src/lib/server/POST.ts +0 -10
- package/src/lib/server/PUT.ts +0 -10
- package/src/lib/server/agent.ts +0 -86
- package/src/lib/server/appDataDir.ts +0 -16
- package/src/lib/server/cli/buildEnvContent.ts +0 -19
- package/src/lib/server/cli/createTarGz.ts +0 -77
- package/src/lib/server/cli/handleCliDownload.ts +0 -152
- package/src/lib/server/cli/handleCliInstall.ts +0 -37
- package/src/lib/server/cli/installScript.ts +0 -31
- package/src/lib/server/cli/maxSourceMtime.ts +0 -26
- package/src/lib/server/cookies.ts +0 -30
- package/src/lib/server/env.ts +0 -51
- package/src/lib/server/error.ts +0 -110
- package/src/lib/server/json.ts +0 -57
- package/src/lib/server/jsonl.ts +0 -47
- package/src/lib/server/prompts/definePrompt.ts +0 -21
- package/src/lib/server/prompts/promptRegistry.ts +0 -9
- package/src/lib/server/prompts/registerPrompt.ts +0 -6
- package/src/lib/server/prompts/renderPromptTemplate.ts +0 -17
- package/src/lib/server/prompts/types/Prompt.ts +0 -14
- package/src/lib/server/prompts/types/PromptOptions.ts +0 -12
- package/src/lib/server/prompts/types/PromptRegistryEntry.ts +0 -13
- package/src/lib/server/prompts/types/PromptRoutes.ts +0 -10
- package/src/lib/server/redirect.ts +0 -43
- package/src/lib/server/render.ts +0 -70
- package/src/lib/server/request.ts +0 -19
- package/src/lib/server/rpc/defineRpc.ts +0 -271
- package/src/lib/server/rpc/dispatchRpcInProcess.ts +0 -46
- package/src/lib/server/rpc/findRpcByCommandName.ts +0 -18
- package/src/lib/server/rpc/parseArgs.ts +0 -244
- package/src/lib/server/rpc/readBodyWithinLimit.ts +0 -47
- package/src/lib/server/rpc/registerRpc.ts +0 -6
- package/src/lib/server/rpc/resolveRpcJsonSchema.ts +0 -28
- package/src/lib/server/rpc/rpcRegistry.ts +0 -11
- package/src/lib/server/rpc/runWithRpcTimeout.ts +0 -58
- package/src/lib/server/rpc/types/RemoteHandler.ts +0 -31
- package/src/lib/server/rpc/types/RemoteRoutes.ts +0 -13
- package/src/lib/server/rpc/types/RpcHelper.ts +0 -185
- package/src/lib/server/rpc/types/RpcRegistryEntry.ts +0 -50
- package/src/lib/server/rpc/types/TypedError.ts +0 -18
- package/src/lib/server/rpc/types/TypedResponse.ts +0 -18
- package/src/lib/server/rpc/unprocessed.ts +0 -13
- package/src/lib/server/rpc/validationError.ts +0 -17
- package/src/lib/server/runtime/DEFAULT_PORT.ts +0 -6
- package/src/lib/server/runtime/DEV_READY_MESSAGE.ts +0 -6
- package/src/lib/server/runtime/DEV_REBUILD_MESSAGE.ts +0 -4
- package/src/lib/server/runtime/DEV_RELOAD_CLIENT_SCRIPT.ts +0 -92
- package/src/lib/server/runtime/SSR_SWAP_SCRIPT.ts +0 -19
- package/src/lib/server/runtime/STATUS_TEXT.ts +0 -22
- package/src/lib/server/runtime/STREAMED_HTML_HEADER.ts +0 -13
- package/src/lib/server/runtime/acceptsGzip.ts +0 -33
- package/src/lib/server/runtime/amendBroadcaster.ts +0 -53
- package/src/lib/server/runtime/buildCacheSnapshot.ts +0 -63
- package/src/lib/server/runtime/buildHealthPayload.ts +0 -34
- package/src/lib/server/runtime/buildInFlightSnapshot.ts +0 -35
- package/src/lib/server/runtime/buildInspectorSurface.ts +0 -47
- package/src/lib/server/runtime/buildOpenApiSpec.ts +0 -150
- package/src/lib/server/runtime/buildPreloadManifest.ts +0 -153
- package/src/lib/server/runtime/cacheControlForAsset.ts +0 -22
- package/src/lib/server/runtime/cacheStalenessBroadcaster.ts +0 -33
- package/src/lib/server/runtime/containsTraversal.ts +0 -41
- package/src/lib/server/runtime/createAppAssetServer.ts +0 -100
- package/src/lib/server/runtime/createAppRouteResolver.ts +0 -145
- package/src/lib/server/runtime/createAssetHeaderCache.ts +0 -31
- package/src/lib/server/runtime/createPlumbingRouter.ts +0 -212
- package/src/lib/server/runtime/createPublicAssetServer.ts +0 -76
- package/src/lib/server/runtime/createRouteDispatcher.ts +0 -121
- package/src/lib/server/runtime/createServer.ts +0 -605
- package/src/lib/server/runtime/createUiPageRenderer.ts +0 -489
- package/src/lib/server/runtime/crossOriginForbidden.ts +0 -17
- package/src/lib/server/runtime/crossOriginGate.ts +0 -29
- package/src/lib/server/runtime/devClientFingerprint.ts +0 -103
- package/src/lib/server/runtime/devReloadResponse.ts +0 -41
- package/src/lib/server/runtime/disableIdleTimeoutForStream.ts +0 -27
- package/src/lib/server/runtime/envSchemaStore.ts +0 -15
- package/src/lib/server/runtime/finalizeResponse.ts +0 -42
- package/src/lib/server/runtime/findOpenPort.ts +0 -21
- package/src/lib/server/runtime/flushingGzipStream.ts +0 -62
- package/src/lib/server/runtime/getActiveServer.ts +0 -6
- package/src/lib/server/runtime/globToPathSet.ts +0 -29
- package/src/lib/server/runtime/gzipResponse.ts +0 -57
- package/src/lib/server/runtime/inFlightRequests.ts +0 -13
- package/src/lib/server/runtime/inProcessServer.ts +0 -20
- package/src/lib/server/runtime/installAmbientScopeStore.ts +0 -54
- package/src/lib/server/runtime/internalErrorResponse.ts +0 -28
- package/src/lib/server/runtime/isCrossOriginRequest.ts +0 -23
- package/src/lib/server/runtime/listenOnOpenPort.ts +0 -36
- package/src/lib/server/runtime/logExposedSurfaces.ts +0 -156
- package/src/lib/server/runtime/maybeMountInspector.ts +0 -104
- package/src/lib/server/runtime/mimeForExtension.ts +0 -14
- package/src/lib/server/runtime/pageRenderSlot.ts +0 -15
- package/src/lib/server/runtime/pageUrlFromStore.ts +0 -15
- package/src/lib/server/runtime/parseIdleTimeout.ts +0 -10
- package/src/lib/server/runtime/parsePort.ts +0 -11
- package/src/lib/server/runtime/pathStore.ts +0 -15
- package/src/lib/server/runtime/registryManifests.ts +0 -66
- package/src/lib/server/runtime/renderCellBarrierStore.ts +0 -15
- package/src/lib/server/runtime/requestContext.ts +0 -5
- package/src/lib/server/runtime/resolvePageSnapshot.ts +0 -25
- package/src/lib/server/runtime/respondWithEmbeddedAsset.ts +0 -18
- package/src/lib/server/runtime/runWithRequestScope.ts +0 -165
- package/src/lib/server/runtime/serializeCacheSnapshot.ts +0 -31
- package/src/lib/server/runtime/serverSlot.ts +0 -13
- package/src/lib/server/runtime/setActiveServer.ts +0 -6
- package/src/lib/server/runtime/snapshotEntryFromCache.ts +0 -121
- package/src/lib/server/runtime/streamCacheResolutions.ts +0 -44
- package/src/lib/server/runtime/streamFromIterator.ts +0 -124
- package/src/lib/server/runtime/textResponse.ts +0 -23
- package/src/lib/server/runtime/typedErrorResponse.ts +0 -26
- package/src/lib/server/runtime/types/Assets.ts +0 -6
- package/src/lib/server/runtime/types/DevReloadStamp.ts +0 -14
- package/src/lib/server/runtime/types/InspectorCacheEntry.ts +0 -24
- package/src/lib/server/runtime/types/InspectorCacheSnapshot.ts +0 -11
- package/src/lib/server/runtime/types/InspectorContext.ts +0 -34
- package/src/lib/server/runtime/types/InspectorInFlightRequest.ts +0 -20
- package/src/lib/server/runtime/types/InspectorInFlightSnapshot.ts +0 -10
- package/src/lib/server/runtime/types/InspectorPrompt.ts +0 -15
- package/src/lib/server/runtime/types/InspectorRpc.ts +0 -27
- package/src/lib/server/runtime/types/InspectorSocket.ts +0 -17
- package/src/lib/server/runtime/types/InspectorSurface.ts +0 -16
- package/src/lib/server/runtime/types/RequestStore.ts +0 -125
- package/src/lib/server/runtime/warnUnguardedMcp.ts +0 -43
- package/src/lib/server/runtime/withResponseDefaults.ts +0 -29
- package/src/lib/server/server.ts +0 -33
- package/src/lib/server/socket.ts +0 -32
- package/src/lib/server/sockets/amendFamilyEntry.ts +0 -39
- package/src/lib/server/sockets/createSocketDispatcher.ts +0 -397
- package/src/lib/server/sockets/defineSocket.ts +0 -225
- package/src/lib/server/sockets/lookupSocket.ts +0 -6
- package/src/lib/server/sockets/registerSocket.ts +0 -18
- package/src/lib/server/sockets/socketOperations.ts +0 -36
- package/src/lib/server/sockets/socketRegistry.ts +0 -9
- package/src/lib/server/sockets/types/SocketOperation.ts +0 -22
- package/src/lib/server/sockets/types/SocketOptions.ts +0 -26
- package/src/lib/server/sockets/types/SocketRegistryEntry.ts +0 -19
- package/src/lib/server/sockets/types/SocketRoutes.ts +0 -10
- package/src/lib/server/sse.ts +0 -58
- package/src/lib/shared/ABIDE_PACKAGE_NAME.ts +0 -7
- package/src/lib/shared/ABIDE_VERSION.ts +0 -9
- package/src/lib/shared/AMEND_TOPIC_PREFIX.ts +0 -9
- package/src/lib/shared/ASYNC_CELL.ts +0 -5
- package/src/lib/shared/CACHE_CONTROL_VALUES.ts +0 -16
- package/src/lib/shared/CACHE_STALENESS_SOCKET.ts +0 -8
- package/src/lib/shared/CLI_PATH.ts +0 -7
- package/src/lib/shared/DEFER.ts +0 -8
- package/src/lib/shared/DEV_REBUILD_PATH.ts +0 -6
- package/src/lib/shared/DEV_RELOAD_PATH.ts +0 -6
- package/src/lib/shared/HEALTH_PATH.ts +0 -7
- package/src/lib/shared/HTTP_METHODS.ts +0 -6
- package/src/lib/shared/HttpError.ts +0 -30
- package/src/lib/shared/IDENTITY_PATH.ts +0 -6
- package/src/lib/shared/INSPECTOR_PATH.ts +0 -7
- package/src/lib/shared/MCP_PATH.ts +0 -6
- package/src/lib/shared/NAV_HEADER.ts +0 -8
- package/src/lib/shared/OFFLINE_HEADER.ts +0 -8
- package/src/lib/shared/PROXIED_SERVER_SUBDIRS.ts +0 -15
- package/src/lib/shared/REF_JSON_HEADER.ts +0 -9
- package/src/lib/shared/REF_JSON_TAGS.ts +0 -43
- package/src/lib/shared/REMOTE_FUNCTION.ts +0 -8
- package/src/lib/shared/REPLAYABLE_METHODS.ts +0 -12
- package/src/lib/shared/RESERVED_SOCKET_PREFIX.ts +0 -8
- package/src/lib/shared/RPC_ARGS_TYPE.ts +0 -7
- package/src/lib/shared/RPC_SHIM_GLOBALS.ts +0 -9
- package/src/lib/shared/SEEDS.ts +0 -33
- package/src/lib/shared/SOCKETS_PATH.ts +0 -7
- package/src/lib/shared/SOCKET_SEED.ts +0 -12
- package/src/lib/shared/SSR_SCRIPT_ID.ts +0 -11
- package/src/lib/shared/STREAMING_CONTENT_TYPES.ts +0 -12
- package/src/lib/shared/SocketDisconnectedError.ts +0 -13
- package/src/lib/shared/TEXT_PLAIN.ts +0 -7
- package/src/lib/shared/abideImportName.ts +0 -44
- package/src/lib/shared/abideLog.ts +0 -38
- package/src/lib/shared/activeCacheStore.ts +0 -12
- package/src/lib/shared/activePage.ts +0 -12
- package/src/lib/shared/amend.ts +0 -48
- package/src/lib/shared/amendBroadcastSlot.ts +0 -19
- package/src/lib/shared/appDataDir.ts +0 -34
- package/src/lib/shared/appNameSlot.ts +0 -10
- package/src/lib/shared/applyAmendLocally.ts +0 -20
- package/src/lib/shared/applyCacheStalenessLocally.ts +0 -18
- package/src/lib/shared/assertExhaustive.ts +0 -14
- package/src/lib/shared/attachRpcSelectorMethods.ts +0 -44
- package/src/lib/shared/attachSocketSelectorMethods.ts +0 -34
- package/src/lib/shared/augmentModule.ts +0 -18
- package/src/lib/shared/basePath.ts +0 -11
- package/src/lib/shared/basePathFromAppUrl.ts +0 -20
- package/src/lib/shared/baseSlot.ts +0 -9
- package/src/lib/shared/binaryDirEnvPath.ts +0 -12
- package/src/lib/shared/bodyValueForKind.ts +0 -34
- package/src/lib/shared/browserClientFlags.ts +0 -10
- package/src/lib/shared/buildArtifact.ts +0 -20
- package/src/lib/shared/buildRpcProxy.ts +0 -39
- package/src/lib/shared/buildRpcRequest.ts +0 -81
- package/src/lib/shared/buildSocketOverChannel.ts +0 -102
- package/src/lib/shared/bundleGraphFromMetafile.ts +0 -68
- package/src/lib/shared/bundleLayout.ts +0 -36
- package/src/lib/shared/cache.ts +0 -1584
- package/src/lib/shared/cacheEntryFromSnapshot.ts +0 -77
- package/src/lib/shared/cacheManagedSlot.ts +0 -10
- package/src/lib/shared/cacheReaderSocketSlot.ts +0 -11
- package/src/lib/shared/cacheStalenessSlot.ts +0 -21
- package/src/lib/shared/cacheStoreSlot.ts +0 -12
- package/src/lib/shared/cacheStores.ts +0 -10
- package/src/lib/shared/canonicalJson.ts +0 -86
- package/src/lib/shared/carriesBodyArgs.ts +0 -13
- package/src/lib/shared/changeAffectsClient.ts +0 -40
- package/src/lib/shared/clearLastConnection.ts +0 -7
- package/src/lib/shared/commandNameForUrl.ts +0 -17
- package/src/lib/shared/contentBodyKind.ts +0 -27
- package/src/lib/shared/contentTypeOf.ts +0 -6
- package/src/lib/shared/createCacheStore.ts +0 -147
- package/src/lib/shared/createChannelLog.ts +0 -146
- package/src/lib/shared/createLifecycleChannel.ts +0 -62
- package/src/lib/shared/createLivenessWatch.ts +0 -118
- package/src/lib/shared/createPushIterator.ts +0 -132
- package/src/lib/shared/createReachable.ts +0 -78
- package/src/lib/shared/createRemoteFunction.ts +0 -210
- package/src/lib/shared/createResolverSlot.ts +0 -30
- package/src/lib/shared/createRpcServerProgram.ts +0 -1007
- package/src/lib/shared/createSocketSubRegistry.ts +0 -112
- package/src/lib/shared/createSubscriber.ts +0 -55
- package/src/lib/shared/createTraceContext.ts +0 -21
- package/src/lib/shared/dataDirEnvPath.ts +0 -12
- package/src/lib/shared/debugGate.ts +0 -90
- package/src/lib/shared/decodeRefJson.ts +0 -112
- package/src/lib/shared/decodeResponse.ts +0 -54
- package/src/lib/shared/decodeWireBody.ts +0 -35
- package/src/lib/shared/detectRpcMethod.ts +0 -24
- package/src/lib/shared/detectTarget.ts +0 -27
- package/src/lib/shared/docSnapshotsSlot.ts +0 -13
- package/src/lib/shared/done.ts +0 -20
- package/src/lib/shared/emitLogRecord.ts +0 -217
- package/src/lib/shared/encodeRefJson.ts +0 -108
- package/src/lib/shared/encodeSeedValue.ts +0 -24
- package/src/lib/shared/encodeWireBody.ts +0 -18
- package/src/lib/shared/escapeHtml.ts +0 -15
- package/src/lib/shared/escapeRegex.ts +0 -9
- package/src/lib/shared/exeSuffix.ts +0 -9
- package/src/lib/shared/exitOnBuildFailure.ts +0 -18
- package/src/lib/shared/extraForwardHeaders.ts +0 -16
- package/src/lib/shared/fieldErrorsFromIssues.ts +0 -27
- package/src/lib/shared/fileName.ts +0 -9
- package/src/lib/shared/fileStem.ts +0 -11
- package/src/lib/shared/findExportCallSite.ts +0 -233
- package/src/lib/shared/formatTraceparent.ts +0 -6
- package/src/lib/shared/forwardHeaders.ts +0 -44
- package/src/lib/shared/generateDeclarations.ts +0 -72
- package/src/lib/shared/getRemoteMeta.ts +0 -5
- package/src/lib/shared/hasSeedableRequest.ts +0 -25
- package/src/lib/shared/health.ts +0 -179
- package/src/lib/shared/healthReadSlot.ts +0 -11
- package/src/lib/shared/healthSeedSlot.ts +0 -12
- package/src/lib/shared/html.ts +0 -19
- package/src/lib/shared/httpErrorFor.ts +0 -26
- package/src/lib/shared/hydrationWindow.ts +0 -53
- package/src/lib/shared/importNamesToStrip.ts +0 -13
- package/src/lib/shared/invalidate.ts +0 -39
- package/src/lib/shared/invalidateEvent.ts +0 -11
- package/src/lib/shared/invalidateTripwire.ts +0 -40
- package/src/lib/shared/isAbideHealthPayload.ts +0 -11
- package/src/lib/shared/isAsciiWhitespace.ts +0 -5
- package/src/lib/shared/isAsyncCell.ts +0 -11
- package/src/lib/shared/isAsyncIterable.ts +0 -8
- package/src/lib/shared/isCompileTarget.ts +0 -21
- package/src/lib/shared/isDebugEnabled.ts +0 -19
- package/src/lib/shared/isDebugNegated.ts +0 -17
- package/src/lib/shared/isIdentPart.ts +0 -9
- package/src/lib/shared/isIdentStart.ts +0 -8
- package/src/lib/shared/isLayoutFile.ts +0 -12
- package/src/lib/shared/isModuleNotFound.ts +0 -18
- package/src/lib/shared/isReadOnlyMethod.ts +0 -14
- package/src/lib/shared/isReplayableMethod.ts +0 -7
- package/src/lib/shared/isStreamingResponse.ts +0 -12
- package/src/lib/shared/isSubscribable.ts +0 -15
- package/src/lib/shared/isThenable.ts +0 -9
- package/src/lib/shared/jsonSchemaForPromptArguments.ts +0 -29
- package/src/lib/shared/jsonSchemaForSchema.ts +0 -39
- package/src/lib/shared/jsonSchemaForType.ts +0 -245
- package/src/lib/shared/jsonlErrorFrame.ts +0 -24
- package/src/lib/shared/keyForRemoteCall.ts +0 -30
- package/src/lib/shared/keyMatchesPrefix.ts +0 -9
- package/src/lib/shared/keyPrefixForRemote.ts +0 -12
- package/src/lib/shared/lastConnectionPath.ts +0 -7
- package/src/lib/shared/layoutChainForRoute.ts +0 -22
- package/src/lib/shared/lenientDecode.ts +0 -15
- package/src/lib/shared/loadEnvFile.ts +0 -17
- package/src/lib/shared/loadEnvFromDataDir.ts +0 -14
- package/src/lib/shared/loadProjectTsConfig.ts +0 -28
- package/src/lib/shared/log.ts +0 -24
- package/src/lib/shared/logClosingRecord.ts +0 -28
- package/src/lib/shared/logTapSlot.ts +0 -13
- package/src/lib/shared/manifestModule.ts +0 -39
- package/src/lib/shared/markFrameworkSourcesIgnored.ts +0 -47
- package/src/lib/shared/matchRoute.ts +0 -165
- package/src/lib/shared/matcherFromEnvelope.ts +0 -31
- package/src/lib/shared/memoizeByKey.ts +0 -32
- package/src/lib/shared/messageFromError.ts +0 -6
- package/src/lib/shared/normalizePathname.ts +0 -11
- package/src/lib/shared/normalizeTarget.ts +0 -10
- package/src/lib/shared/online.ts +0 -51
- package/src/lib/shared/page.ts +0 -30
- package/src/lib/shared/pageSlot.ts +0 -17
- package/src/lib/shared/pageUrlForFile.ts +0 -14
- package/src/lib/shared/parseBoundedEnvInt.ts +0 -20
- package/src/lib/shared/parseEnv.ts +0 -41
- package/src/lib/shared/parsePromptMarkdown.ts +0 -35
- package/src/lib/shared/parseRouteSegments.ts +0 -31
- package/src/lib/shared/parseTraceparent.ts +0 -26
- package/src/lib/shared/peek.ts +0 -46
- package/src/lib/shared/pending.ts +0 -36
- package/src/lib/shared/pendingAsyncCellsSlot.ts +0 -13
- package/src/lib/shared/prepareRemoteExport.ts +0 -40
- package/src/lib/shared/prepareRpcModule.ts +0 -240
- package/src/lib/shared/prepareSocketModule.ts +0 -46
- package/src/lib/shared/probeRegistries.ts +0 -68
- package/src/lib/shared/producerKey.ts +0 -32
- package/src/lib/shared/programNameForPackage.ts +0 -16
- package/src/lib/shared/promptNameForFile.ts +0 -10
- package/src/lib/shared/queryStringFromArgs.ts +0 -38
- package/src/lib/shared/randomHexId.ts +0 -14
- package/src/lib/shared/reachable.ts +0 -99
- package/src/lib/shared/readEnvFile.ts +0 -15
- package/src/lib/shared/readLastConnection.ts +0 -18
- package/src/lib/shared/readPackageJson.ts +0 -9
- package/src/lib/shared/recordRemoteMeta.ts +0 -5
- package/src/lib/shared/refresh.ts +0 -39
- package/src/lib/shared/refreshing.ts +0 -37
- package/src/lib/shared/remoteMetaStore.ts +0 -16
- package/src/lib/shared/requestScopeSlot.ts +0 -13
- package/src/lib/shared/resolveClientFlags.ts +0 -20
- package/src/lib/shared/resolvedCellsSlot.ts +0 -13
- package/src/lib/shared/responseBodyKind.ts +0 -35
- package/src/lib/shared/responseErrorText.ts +0 -9
- package/src/lib/shared/reviveWireField.ts +0 -49
- package/src/lib/shared/reviveWireOutput.ts +0 -36
- package/src/lib/shared/routeParamsShape.ts +0 -20
- package/src/lib/shared/rpcErrorRegistry.ts +0 -69
- package/src/lib/shared/rpcServerForRoot.ts +0 -25
- package/src/lib/shared/rpcTimeoutSlot.ts +0 -9
- package/src/lib/shared/rpcUrlForFile.ts +0 -19
- package/src/lib/shared/runningAsStandaloneBinary.ts +0 -13
- package/src/lib/shared/safeJsonForScript.ts +0 -17
- package/src/lib/shared/scanPages.ts +0 -25
- package/src/lib/shared/selectorMatcher.ts +0 -55
- package/src/lib/shared/selectorPrefix.ts +0 -32
- package/src/lib/shared/serializeEnv.ts +0 -30
- package/src/lib/shared/serializeSelector.ts +0 -69
- package/src/lib/shared/setAppName.ts +0 -5
- package/src/lib/shared/setOwnProperty.ts +0 -19
- package/src/lib/shared/setsIntersect.ts +0 -15
- package/src/lib/shared/sharedCacheStore.ts +0 -14
- package/src/lib/shared/sharedCacheStoreSlot.ts +0 -10
- package/src/lib/shared/skipNonCode.ts +0 -230
- package/src/lib/shared/snapshotShippable.ts +0 -23
- package/src/lib/shared/snippet.ts +0 -30
- package/src/lib/shared/socketNameForFile.ts +0 -11
- package/src/lib/shared/socketTailsSlot.ts +0 -13
- package/src/lib/shared/socketTapSlot.ts +0 -12
- package/src/lib/shared/sseErrorFrame.ts +0 -29
- package/src/lib/shared/streamResponse.ts +0 -180
- package/src/lib/shared/streamedCellsSlot.ts +0 -14
- package/src/lib/shared/stripImport.ts +0 -29
- package/src/lib/shared/subscribableFromResponse.ts +0 -51
- package/src/lib/shared/subscribableProbes.ts +0 -111
- package/src/lib/shared/tailProbeSlot.ts +0 -23
- package/src/lib/shared/toTagSet.ts +0 -4
- package/src/lib/shared/trace.ts +0 -16
- package/src/lib/shared/types/AmendApply.ts +0 -15
- package/src/lib/shared/types/AsyncComputed.ts +0 -20
- package/src/lib/shared/types/AsyncState.ts +0 -13
- package/src/lib/shared/types/CacheEntry.ts +0 -100
- package/src/lib/shared/types/CacheInvalidation.ts +0 -9
- package/src/lib/shared/types/CacheOnContext.ts +0 -15
- package/src/lib/shared/types/CacheOptions.ts +0 -53
- package/src/lib/shared/types/CachePolicy.ts +0 -31
- package/src/lib/shared/types/CacheReaderHook.ts +0 -11
- package/src/lib/shared/types/CacheSelector.ts +0 -17
- package/src/lib/shared/types/CacheSnapshotEntry.ts +0 -32
- package/src/lib/shared/types/CacheStalenessApply.ts +0 -13
- package/src/lib/shared/types/CacheStalenessFrame.ts +0 -24
- package/src/lib/shared/types/CacheStats.ts +0 -13
- package/src/lib/shared/types/CacheStore.ts +0 -45
- package/src/lib/shared/types/ChannelLog.ts +0 -13
- package/src/lib/shared/types/ClientFlags.ts +0 -13
- package/src/lib/shared/types/CompileTarget.ts +0 -6
- package/src/lib/shared/types/DebugGate.ts +0 -10
- package/src/lib/shared/types/DocSnapshots.ts +0 -12
- package/src/lib/shared/types/ErrorJsonSchemas.ts +0 -8
- package/src/lib/shared/types/ErrorSpec.ts +0 -11
- package/src/lib/shared/types/FrameworkLog.ts +0 -13
- package/src/lib/shared/types/HttpMethod.ts +0 -3
- package/src/lib/shared/types/InputCoercion.ts +0 -17
- package/src/lib/shared/types/LastConnection.ts +0 -9
- package/src/lib/shared/types/Log.ts +0 -13
- package/src/lib/shared/types/LogRecord.ts +0 -42
- package/src/lib/shared/types/LogVoice.ts +0 -7
- package/src/lib/shared/types/NamedAsyncIterable.ts +0 -26
- package/src/lib/shared/types/OutputWirePlan.ts +0 -17
- package/src/lib/shared/types/PageSnapshot.ts +0 -14
- package/src/lib/shared/types/PagesScan.ts +0 -7
- package/src/lib/shared/types/PendingAsyncCells.ts +0 -10
- package/src/lib/shared/types/PromptArgument.ts +0 -12
- package/src/lib/shared/types/RawRemoteFunction.ts +0 -20
- package/src/lib/shared/types/RemoteCallable.ts +0 -40
- package/src/lib/shared/types/RemoteFunction.ts +0 -116
- package/src/lib/shared/types/ReplayableMethod.ts +0 -7
- package/src/lib/shared/types/RequestScopeInfo.ts +0 -16
- package/src/lib/shared/types/ResolvedCells.ts +0 -11
- package/src/lib/shared/types/ResolverSlot.ts +0 -13
- package/src/lib/shared/types/ReturnBody.ts +0 -15
- package/src/lib/shared/types/RpcBuildStamps.ts +0 -32
- package/src/lib/shared/types/RpcError.ts +0 -26
- package/src/lib/shared/types/RpcErrorGuard.ts +0 -35
- package/src/lib/shared/types/RpcInvoker.ts +0 -6
- package/src/lib/shared/types/RpcOptions.ts +0 -22
- package/src/lib/shared/types/Socket.ts +0 -54
- package/src/lib/shared/types/SocketChannel.ts +0 -17
- package/src/lib/shared/types/SocketClientFrame.ts +0 -19
- package/src/lib/shared/types/SocketServerFrame.ts +0 -24
- package/src/lib/shared/types/SocketSubCallbacks.ts +0 -13
- package/src/lib/shared/types/SocketTails.ts +0 -13
- package/src/lib/shared/types/SourceMap.ts +0 -14
- package/src/lib/shared/types/SsrBootState.ts +0 -27
- package/src/lib/shared/types/SsrPayload.ts +0 -36
- package/src/lib/shared/types/StandardSchemaV1.ts +0 -56
- package/src/lib/shared/types/StreamPolicy.ts +0 -11
- package/src/lib/shared/types/StreamedCells.ts +0 -19
- package/src/lib/shared/types/StreamedResolution.ts +0 -28
- package/src/lib/shared/types/TailHooks.ts +0 -13
- package/src/lib/shared/types/TraceContext.ts +0 -17
- package/src/lib/shared/types/ValidationErrorData.ts +0 -20
- package/src/lib/shared/types/WireKind.ts +0 -11
- package/src/lib/shared/url.ts +0 -141
- package/src/lib/shared/validationHttpError.ts +0 -33
- package/src/lib/shared/warmSeedKey.ts +0 -16
- package/src/lib/shared/wireJsonReplacer.ts +0 -30
- package/src/lib/shared/withBase.ts +0 -10
- package/src/lib/shared/withBaseUrl.ts +0 -17
- package/src/lib/shared/withCacheManaged.ts +0 -18
- package/src/lib/shared/withJsonSchema.ts +0 -21
- package/src/lib/shared/writeDts.ts +0 -19
- package/src/lib/shared/writeHealthDts.ts +0 -36
- package/src/lib/shared/writeLastConnection.ts +0 -13
- package/src/lib/shared/writePublicAssetsDts.ts +0 -27
- package/src/lib/shared/writeRoutesDts.ts +0 -41
- package/src/lib/shared/writeRpcDts.ts +0 -60
- package/src/lib/shared/writeTestRpcDts.ts +0 -45
- package/src/lib/shared/writeTestSocketsDts.ts +0 -34
- package/src/lib/test/assertAgentFrameConformance.ts +0 -73
- package/src/lib/test/createScriptedSurface.ts +0 -45
- package/src/lib/test/createTestApp.ts +0 -242
- package/src/lib/test/createTestSocketChannel.ts +0 -85
- package/src/lib/ui/README.md +0 -86
- package/src/lib/ui/activePendingCells.ts +0 -14
- package/src/lib/ui/amendReaderHook.ts +0 -125
- package/src/lib/ui/compile/ABIDE_SEMANTIC_TOKENS_LEGEND.ts +0 -79
- package/src/lib/ui/compile/AbideCompileError.ts +0 -16
- package/src/lib/ui/compile/BLOCK_KEYWORDS.ts +0 -21
- package/src/lib/ui/compile/SSR_ESCAPE.ts +0 -40
- package/src/lib/ui/compile/TS_PRINTER.ts +0 -7
- package/src/lib/ui/compile/UI_RUNTIME_IMPORTS.ts +0 -86
- package/src/lib/ui/compile/VOID_TAGS.ts +0 -22
- package/src/lib/ui/compile/abideUiPlugin.ts +0 -109
- package/src/lib/ui/compile/analyzeComponent.ts +0 -222
- package/src/lib/ui/compile/asOutlet.ts +0 -30
- package/src/lib/ui/compile/assertTranspiles.ts +0 -19
- package/src/lib/ui/compile/assetModulesFile.ts +0 -32
- package/src/lib/ui/compile/assignmentTargetNames.ts +0 -54
- package/src/lib/ui/compile/asyncInterpolationFields.ts +0 -152
- package/src/lib/ui/compile/asyncValuePositionError.ts +0 -21
- package/src/lib/ui/compile/asyncValuePositionInterpolations.ts +0 -64
- package/src/lib/ui/compile/attrLiftPosition.ts +0 -18
- package/src/lib/ui/compile/awaitPlan.ts +0 -60
- package/src/lib/ui/compile/awaitSubjectExpr.ts +0 -23
- package/src/lib/ui/compile/bindListenEvent.ts +0 -18
- package/src/lib/ui/compile/cachedShadowProgram.ts +0 -39
- package/src/lib/ui/compile/cachedSourceFile.ts +0 -40
- package/src/lib/ui/compile/catchBinding.ts +0 -10
- package/src/lib/ui/compile/classStyleMergePlan.ts +0 -108
- package/src/lib/ui/compile/classifyInterpolationType.ts +0 -46
- package/src/lib/ui/compile/collectAbideDiagnostics.ts +0 -166
- package/src/lib/ui/compile/compileComponent.ts +0 -46
- package/src/lib/ui/compile/compileModule.ts +0 -306
- package/src/lib/ui/compile/compileSSR.ts +0 -119
- package/src/lib/ui/compile/compileShadow.ts +0 -1326
- package/src/lib/ui/compile/componentOrdinals.ts +0 -39
- package/src/lib/ui/compile/composeProps.ts +0 -64
- package/src/lib/ui/compile/createShadowLanguageService.ts +0 -348
- package/src/lib/ui/compile/createShadowProgram.ts +0 -127
- package/src/lib/ui/compile/createShadowScope.ts +0 -42
- package/src/lib/ui/compile/declaredNames.ts +0 -36
- package/src/lib/ui/compile/decodeHtmlEntities.ts +0 -53
- package/src/lib/ui/compile/destructureBindingNames.ts +0 -38
- package/src/lib/ui/compile/desugarSignals.ts +0 -1113
- package/src/lib/ui/compile/eachPlan.ts +0 -61
- package/src/lib/ui/compile/elementPlan.ts +0 -55
- package/src/lib/ui/compile/encodeSemanticTokens.ts +0 -60
- package/src/lib/ui/compile/expressionIsPrefixEvaluable.ts +0 -19
- package/src/lib/ui/compile/generateBuild.ts +0 -903
- package/src/lib/ui/compile/generateSSR.ts +0 -967
- package/src/lib/ui/compile/groupBindParts.ts +0 -28
- package/src/lib/ui/compile/hasTopLevelAwait.ts +0 -28
- package/src/lib/ui/compile/hoistCells.ts +0 -120
- package/src/lib/ui/compile/hoistableAwaits.ts +0 -183
- package/src/lib/ui/compile/hoistableChildRenders.ts +0 -112
- package/src/lib/ui/compile/identifierReferencePattern.ts +0 -13
- package/src/lib/ui/compile/ifPlan.ts +0 -36
- package/src/lib/ui/compile/interpolatedTemplateLiteral.ts +0 -27
- package/src/lib/ui/compile/interpolationClassifierForRoot.ts +0 -32
- package/src/lib/ui/compile/isAnchorPositioned.ts +0 -19
- package/src/lib/ui/compile/isControlFlow.ts +0 -20
- package/src/lib/ui/compile/isFunctionScopeBoundary.ts +0 -20
- package/src/lib/ui/compile/isPlainIdentifier.ts +0 -7
- package/src/lib/ui/compile/isSpuriousAsyncReadDiagnostic.ts +0 -215
- package/src/lib/ui/compile/isTextLeaf.ts +0 -16
- package/src/lib/ui/compile/isWhitespaceText.ts +0 -19
- package/src/lib/ui/compile/liftAsyncSubExpressions.ts +0 -166
- package/src/lib/ui/compile/liftScriptSeed.ts +0 -47
- package/src/lib/ui/compile/loadShadowTsConfig.ts +0 -31
- package/src/lib/ui/compile/lowerAsyncInterpolations.ts +0 -92
- package/src/lib/ui/compile/lowerCompoundAssignment.ts +0 -49
- package/src/lib/ui/compile/lowerContext.ts +0 -167
- package/src/lib/ui/compile/lowerDocAccess.ts +0 -302
- package/src/lib/ui/compile/lowerScript.ts +0 -190
- package/src/lib/ui/compile/lowerUpdateExpression.ts +0 -32
- package/src/lib/ui/compile/makeVarNamer.ts +0 -10
- package/src/lib/ui/compile/nearestProjectRoot.ts +0 -16
- package/src/lib/ui/compile/nodeAtShadowOffset.ts +0 -28
- package/src/lib/ui/compile/offsetToLineColumn.ts +0 -16
- package/src/lib/ui/compile/offsetToPosition.ts +0 -9
- package/src/lib/ui/compile/pagePropsType.ts +0 -23
- package/src/lib/ui/compile/parseTemplate.ts +0 -25
- package/src/lib/ui/compile/parseTemplateRecovering.ts +0 -1385
- package/src/lib/ui/compile/prepareNestedScript.ts +0 -62
- package/src/lib/ui/compile/reactiveBinding.ts +0 -47
- package/src/lib/ui/compile/referencedIdentifiers.ts +0 -35
- package/src/lib/ui/compile/remapShadowDiagnostic.ts +0 -30
- package/src/lib/ui/compile/renameSignalRefs.ts +0 -425
- package/src/lib/ui/compile/resolveAbideImports.ts +0 -29
- package/src/lib/ui/compile/resolveBranches.ts +0 -21
- package/src/lib/ui/compile/resolveReactiveExport.ts +0 -92
- package/src/lib/ui/compile/scopeAttr.ts +0 -9
- package/src/lib/ui/compile/scopeCss.ts +0 -138
- package/src/lib/ui/compile/seedTypeClassifierForRoot.ts +0 -60
- package/src/lib/ui/compile/shadowInterpolationClassifier.ts +0 -47
- package/src/lib/ui/compile/shadowNaming.ts +0 -11
- package/src/lib/ui/compile/signalCallee.ts +0 -24
- package/src/lib/ui/compile/skeletonContext.ts +0 -133
- package/src/lib/ui/compile/skeletonable.ts +0 -68
- package/src/lib/ui/compile/snippetPlan.ts +0 -28
- package/src/lib/ui/compile/sourceFileOptionsSignature.ts +0 -20
- package/src/lib/ui/compile/sourceToShadowOffset.ts +0 -24
- package/src/lib/ui/compile/spreadExcludedNames.ts +0 -27
- package/src/lib/ui/compile/staticAttr.ts +0 -11
- package/src/lib/ui/compile/staticAttrValue.ts +0 -13
- package/src/lib/ui/compile/staticTextPart.ts +0 -12
- package/src/lib/ui/compile/stripEffects.ts +0 -48
- package/src/lib/ui/compile/structuralHeadTokens.ts +0 -107
- package/src/lib/ui/compile/switchPlan.ts +0 -28
- package/src/lib/ui/compile/templateAnchorAdapter.ts +0 -61
- package/src/lib/ui/compile/templateElementAdapter.ts +0 -44
- package/src/lib/ui/compile/templateSemanticTokens.ts +0 -21
- package/src/lib/ui/compile/templateStartOffset.ts +0 -15
- package/src/lib/ui/compile/tryPlan.ts +0 -37
- package/src/lib/ui/compile/types/AbideDiagnostic.ts +0 -14
- package/src/lib/ui/compile/types/AnalyzedComponent.ts +0 -42
- package/src/lib/ui/compile/types/AsyncInterpolationField.ts +0 -19
- package/src/lib/ui/compile/types/Binding.ts +0 -24
- package/src/lib/ui/compile/types/CompiledShadow.ts +0 -27
- package/src/lib/ui/compile/types/ElementPlan.ts +0 -43
- package/src/lib/ui/compile/types/InterpolationClassifier.ts +0 -12
- package/src/lib/ui/compile/types/InterpolationKind.ts +0 -7
- package/src/lib/ui/compile/types/ParseDiagnostic.ts +0 -8
- package/src/lib/ui/compile/types/SeedTypeClassifier.ts +0 -15
- package/src/lib/ui/compile/types/SemanticToken.ts +0 -11
- package/src/lib/ui/compile/types/ShadowKind.ts +0 -9
- package/src/lib/ui/compile/types/ShadowScope.ts +0 -19
- package/src/lib/ui/compile/types/SkeletonContext.ts +0 -21
- package/src/lib/ui/compile/types/TemplateAttr.ts +0 -34
- package/src/lib/ui/compile/types/TemplateNode.ts +0 -137
- package/src/lib/ui/compile/types/TextPart.ts +0 -8
- package/src/lib/ui/compile/types/ValuePositionInterpolation.ts +0 -13
- package/src/lib/ui/compile/unwrapParens.ts +0 -10
- package/src/lib/ui/compile/walkAnchorOrder.ts +0 -57
- package/src/lib/ui/compile/walkElementOrder.ts +0 -60
- package/src/lib/ui/compile/withBindings.ts +0 -45
- package/src/lib/ui/compile/wrapReactionCellSources.ts +0 -121
- package/src/lib/ui/compile/wrapReactiveSeeds.ts +0 -44
- package/src/lib/ui/compile/wrapSeed.ts +0 -28
- package/src/lib/ui/compile/writtenTemplateNames.ts +0 -84
- package/src/lib/ui/computed.ts +0 -75
- package/src/lib/ui/createScope.ts +0 -157
- package/src/lib/ui/dom/MATHML_NAMESPACE.ts +0 -6
- package/src/lib/ui/dom/SVG_NAMESPACE.ts +0 -8
- package/src/lib/ui/dom/anchorCursor.ts +0 -25
- package/src/lib/ui/dom/anchoredBranch.ts +0 -153
- package/src/lib/ui/dom/appendSnippet.ts +0 -75
- package/src/lib/ui/dom/appendStatic.ts +0 -26
- package/src/lib/ui/dom/appendText.ts +0 -160
- package/src/lib/ui/dom/appendTextAt.ts +0 -39
- package/src/lib/ui/dom/assertClaimedText.ts +0 -30
- package/src/lib/ui/dom/attach.ts +0 -25
- package/src/lib/ui/dom/attr.ts +0 -57
- package/src/lib/ui/dom/awaitBlock.ts +0 -314
- package/src/lib/ui/dom/awaitSubject.ts +0 -118
- package/src/lib/ui/dom/bindProp.ts +0 -22
- package/src/lib/ui/dom/bindSelectValue.ts +0 -48
- package/src/lib/ui/dom/bindableProp.ts +0 -47
- package/src/lib/ui/dom/buildDetachedRange.ts +0 -31
- package/src/lib/ui/dom/cellPending.ts +0 -24
- package/src/lib/ui/dom/claimText.ts +0 -38
- package/src/lib/ui/dom/clearBetween.ts +0 -16
- package/src/lib/ui/dom/cloneStatic.ts +0 -38
- package/src/lib/ui/dom/commentData.ts +0 -14
- package/src/lib/ui/dom/depthZeroNodes.ts +0 -34
- package/src/lib/ui/dom/discardAndRebuild.ts +0 -23
- package/src/lib/ui/dom/discardBoundary.ts +0 -46
- package/src/lib/ui/dom/disposeRange.ts +0 -18
- package/src/lib/ui/dom/domAnchorAdapter.ts +0 -29
- package/src/lib/ui/dom/domElementAdapter.ts +0 -20
- package/src/lib/ui/dom/each.ts +0 -253
- package/src/lib/ui/dom/eachAsync.ts +0 -188
- package/src/lib/ui/dom/effectiveChildNamespace.ts +0 -13
- package/src/lib/ui/dom/enterNamespace.ts +0 -20
- package/src/lib/ui/dom/fillBefore.ts +0 -42
- package/src/lib/ui/dom/fillBoundary.ts +0 -38
- package/src/lib/ui/dom/fillRange.ts +0 -30
- package/src/lib/ui/dom/foreignWrapperTag.ts +0 -22
- package/src/lib/ui/dom/hydrate.ts +0 -34
- package/src/lib/ui/dom/inheritedNamespace.ts +0 -19
- package/src/lib/ui/dom/isComment.ts +0 -6
- package/src/lib/ui/dom/isElement.ts +0 -6
- package/src/lib/ui/dom/markerDepthDelta.ts +0 -19
- package/src/lib/ui/dom/matchingRangeClose.ts +0 -29
- package/src/lib/ui/dom/mergeProps.ts +0 -32
- package/src/lib/ui/dom/mount.ts +0 -30
- package/src/lib/ui/dom/mountChild.ts +0 -94
- package/src/lib/ui/dom/mountRange.ts +0 -45
- package/src/lib/ui/dom/mountSlot.ts +0 -38
- package/src/lib/ui/dom/mountSwappableRange.ts +0 -122
- package/src/lib/ui/dom/moveRange.ts +0 -19
- package/src/lib/ui/dom/mutateDocContainer.ts +0 -65
- package/src/lib/ui/dom/on.ts +0 -33
- package/src/lib/ui/dom/openMarker.ts +0 -22
- package/src/lib/ui/dom/outlet.ts +0 -63
- package/src/lib/ui/dom/parseRawNodes.ts +0 -17
- package/src/lib/ui/dom/readCall.ts +0 -29
- package/src/lib/ui/dom/readCell.ts +0 -55
- package/src/lib/ui/dom/readTextOrSuspend.ts +0 -21
- package/src/lib/ui/dom/removeRange.ts +0 -18
- package/src/lib/ui/dom/replaceRange.ts +0 -24
- package/src/lib/ui/dom/restProps.ts +0 -32
- package/src/lib/ui/dom/skeleton.ts +0 -153
- package/src/lib/ui/dom/spreadAttrs.ts +0 -95
- package/src/lib/ui/dom/spreadProps.ts +0 -31
- package/src/lib/ui/dom/switchBlock.ts +0 -80
- package/src/lib/ui/dom/templateFor.ts +0 -28
- package/src/lib/ui/dom/tryBlock.ts +0 -263
- package/src/lib/ui/dom/types/EachRow.ts +0 -21
- package/src/lib/ui/dom/types/SkeletonHoles.ts +0 -10
- package/src/lib/ui/dom/types/SwitchCase.ts +0 -11
- package/src/lib/ui/dom/when.ts +0 -58
- package/src/lib/ui/dom/withScope.ts +0 -37
- package/src/lib/ui/dom/withSuspense.ts +0 -22
- package/src/lib/ui/dom/writeCell.ts +0 -22
- package/src/lib/ui/effect.ts +0 -24
- package/src/lib/ui/enterScope.ts +0 -18
- package/src/lib/ui/exitScope.ts +0 -8
- package/src/lib/ui/finalizeStreamedChildren.ts +0 -89
- package/src/lib/ui/flight.ts +0 -56
- package/src/lib/ui/html.ts +0 -39
- package/src/lib/ui/isolateCellBarrier.ts +0 -17
- package/src/lib/ui/linked.ts +0 -125
- package/src/lib/ui/navigate.ts +0 -77
- package/src/lib/ui/probeNavigation.ts +0 -33
- package/src/lib/ui/props.ts +0 -17
- package/src/lib/ui/remoteProxy.ts +0 -256
- package/src/lib/ui/renderChain.ts +0 -113
- package/src/lib/ui/renderToStream.ts +0 -128
- package/src/lib/ui/resumeSeedScript.ts +0 -27
- package/src/lib/ui/router.ts +0 -649
- package/src/lib/ui/runtime/AsyncCellError.ts +0 -21
- package/src/lib/ui/runtime/BRANCH_SEGMENT.ts +0 -24
- package/src/lib/ui/runtime/CELL_SEED.ts +0 -12
- package/src/lib/ui/runtime/CHILD_PRESENT.ts +0 -8
- package/src/lib/ui/runtime/CURRENT_BOUNDARY.ts +0 -11
- package/src/lib/ui/runtime/CURRENT_PATH.ts +0 -29
- package/src/lib/ui/runtime/CURRENT_SCOPE.ts +0 -23
- package/src/lib/ui/runtime/DOC_SEED.ts +0 -10
- package/src/lib/ui/runtime/HOLE_ATTRIBUTE.ts +0 -9
- package/src/lib/ui/runtime/NODE_STATE.ts +0 -22
- package/src/lib/ui/runtime/OUTLET_MARKER.ts +0 -10
- package/src/lib/ui/runtime/OUTLET_TAG.ts +0 -7
- package/src/lib/ui/runtime/OWNER.ts +0 -8
- package/src/lib/ui/runtime/PENDING_OUTLET.ts +0 -8
- package/src/lib/ui/runtime/RANGE_MARKER.ts +0 -16
- package/src/lib/ui/runtime/REACTIVE_CONTEXT.ts +0 -20
- package/src/lib/ui/runtime/RENDER.ts +0 -35
- package/src/lib/ui/runtime/REQUEST_SUPERSEDED.ts +0 -8
- package/src/lib/ui/runtime/RESUME.ts +0 -21
- package/src/lib/ui/runtime/SEED_MARKS.ts +0 -14
- package/src/lib/ui/runtime/STREAMED_CELLS.ts +0 -57
- package/src/lib/ui/runtime/SuspenseSignal.ts +0 -24
- package/src/lib/ui/runtime/abortNode.ts +0 -22
- package/src/lib/ui/runtime/ambientPathBacking.ts +0 -32
- package/src/lib/ui/runtime/ambientScopeBacking.ts +0 -26
- package/src/lib/ui/runtime/applyPatchToTree.ts +0 -54
- package/src/lib/ui/runtime/batch.ts +0 -22
- package/src/lib/ui/runtime/blockId.ts +0 -31
- package/src/lib/ui/runtime/boundaryFor.ts +0 -11
- package/src/lib/ui/runtime/cellBarrierBacking.ts +0 -30
- package/src/lib/ui/runtime/claimChild.ts +0 -8
- package/src/lib/ui/runtime/claimExpected.ts +0 -27
- package/src/lib/ui/runtime/claimMarker.ts +0 -13
- package/src/lib/ui/runtime/claimRun.ts +0 -22
- package/src/lib/ui/runtime/clientPage.ts +0 -116
- package/src/lib/ui/runtime/consumeSeed.ts +0 -38
- package/src/lib/ui/runtime/createAsyncCell.ts +0 -358
- package/src/lib/ui/runtime/createComputedNode.ts +0 -19
- package/src/lib/ui/runtime/createDoc.ts +0 -334
- package/src/lib/ui/runtime/createEffectNode.ts +0 -81
- package/src/lib/ui/runtime/createSignalNode.ts +0 -19
- package/src/lib/ui/runtime/currentAbortSignal.ts +0 -26
- package/src/lib/ui/runtime/detachLink.ts +0 -21
- package/src/lib/ui/runtime/endTracking.ts +0 -24
- package/src/lib/ui/runtime/enterRenderPass.ts +0 -13
- package/src/lib/ui/runtime/escapeKey.ts +0 -19
- package/src/lib/ui/runtime/exitRenderPass.ts +0 -7
- package/src/lib/ui/runtime/flushEffects.ts +0 -91
- package/src/lib/ui/runtime/generationGuard.ts +0 -40
- package/src/lib/ui/runtime/historyEntries.ts +0 -151
- package/src/lib/ui/runtime/inScope.ts +0 -19
- package/src/lib/ui/runtime/isAsyncFunction.ts +0 -14
- package/src/lib/ui/runtime/nextBlockId.ts +0 -12
- package/src/lib/ui/runtime/parkCursor.ts +0 -10
- package/src/lib/ui/runtime/pathSegments.ts +0 -10
- package/src/lib/ui/runtime/reactiveAbortState.ts +0 -15
- package/src/lib/ui/runtime/readNode.ts +0 -38
- package/src/lib/ui/runtime/renderPath.ts +0 -16
- package/src/lib/ui/runtime/reportHydrationDivergence.ts +0 -30
- package/src/lib/ui/runtime/routeBareSeed.ts +0 -28
- package/src/lib/ui/runtime/runHydrationPass.ts +0 -69
- package/src/lib/ui/runtime/runNode.ts +0 -75
- package/src/lib/ui/runtime/runtimePath.ts +0 -9
- package/src/lib/ui/runtime/scope.ts +0 -46
- package/src/lib/ui/runtime/scopeGroup.ts +0 -40
- package/src/lib/ui/runtime/toTeardown.ts +0 -38
- package/src/lib/ui/runtime/track.ts +0 -60
- package/src/lib/ui/runtime/trigger.ts +0 -74
- package/src/lib/ui/runtime/types/AbideHistoryState.ts +0 -9
- package/src/lib/ui/runtime/types/Boundary.ts +0 -9
- package/src/lib/ui/runtime/types/Cell.ts +0 -7
- package/src/lib/ui/runtime/types/Computed.ts +0 -3
- package/src/lib/ui/runtime/types/Doc.ts +0 -24
- package/src/lib/ui/runtime/types/EffectResult.ts +0 -10
- package/src/lib/ui/runtime/types/HydrationCursor.ts +0 -8
- package/src/lib/ui/runtime/types/NavVerdict.ts +0 -9
- package/src/lib/ui/runtime/types/Patch.ts +0 -11
- package/src/lib/ui/runtime/types/PathWalk.ts +0 -10
- package/src/lib/ui/runtime/types/ReactiveLink.ts +0 -21
- package/src/lib/ui/runtime/types/ReactiveNode.ts +0 -33
- package/src/lib/ui/runtime/types/RenderContext.ts +0 -10
- package/src/lib/ui/runtime/types/Route.ts +0 -9
- package/src/lib/ui/runtime/types/RouteLoader.ts +0 -7
- package/src/lib/ui/runtime/types/SsrRender.ts +0 -34
- package/src/lib/ui/runtime/types/State.ts +0 -3
- package/src/lib/ui/runtime/types/Teardown.ts +0 -5
- package/src/lib/ui/runtime/types/UiComponent.ts +0 -24
- package/src/lib/ui/runtime/types/UiProps.ts +0 -12
- package/src/lib/ui/runtime/unescapeKey.ts +0 -12
- package/src/lib/ui/runtime/unlinkDeps.ts +0 -28
- package/src/lib/ui/runtime/untrack.ts +0 -20
- package/src/lib/ui/runtime/updateIfNecessary.ts +0 -40
- package/src/lib/ui/runtime/walkPath.ts +0 -41
- package/src/lib/ui/runtime/withOptionalPath.ts +0 -8
- package/src/lib/ui/runtime/withPath.ts +0 -16
- package/src/lib/ui/runtime/withPathFrom.ts +0 -20
- package/src/lib/ui/runtime/withoutHydration.ts +0 -22
- package/src/lib/ui/runtime/writeNode.ts +0 -16
- package/src/lib/ui/scope.ts +0 -20
- package/src/lib/ui/seedBootState.ts +0 -53
- package/src/lib/ui/seedStreamedResolution.ts +0 -56
- package/src/lib/ui/settleAsyncCells.ts +0 -51
- package/src/lib/ui/socketChannel.ts +0 -156
- package/src/lib/ui/socketProxy.ts +0 -47
- package/src/lib/ui/startClient.ts +0 -156
- package/src/lib/ui/state.ts +0 -77
- package/src/lib/ui/subscribeCacheStaleness.ts +0 -85
- package/src/lib/ui/trackedComputed.ts +0 -68
- package/src/lib/ui/tryEncodeResume.ts +0 -11
- package/src/lib/ui/types/Layouts.ts +0 -9
- package/src/lib/ui/types/Pages.ts +0 -8
- package/src/lib/ui/types/Scope.ts +0 -68
- package/src/lib/ui/watch.ts +0 -150
- package/src/preload.ts +0 -19
- package/src/scaffold.ts +0 -153
- package/src/serverBuildPlugins.ts +0 -25
- package/src/serverEntry.ts +0 -138
- package/src/zodCjsPlugin.ts +0 -51
- package/template/.zed/settings.json +0 -10
- package/template/CLAUDE.md +0 -22
- package/template/bunfig.toml +0 -4
- package/template/package.json +0 -21
- package/template/src/app.ts +0 -28
- package/template/src/bundle/icon.png +0 -0
- package/template/src/cli/banner.txt +0 -3
- package/template/src/cli/footer.txt +0 -1
- package/template/src/server/config.ts +0 -17
- package/template/src/server/rpc/getHello.ts +0 -38
- package/template/src/ui/app.css +0 -21
- package/template/src/ui/app.html +0 -24
- package/template/src/ui/pages/about/page.abide +0 -7
- package/template/src/ui/pages/layout.abide +0 -19
- package/template/src/ui/pages/page.abide +0 -19
- package/template/test/app.test.ts +0 -30
- package/template/tsconfig.json +0 -18
- package/tsconfig.app.json +0 -17
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import ts from 'typescript'
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
The LSP semantic-tokens legend abide lsp advertises, and the decoders from
|
|
5
|
-
TypeScript's encoded classifications to legend names. TypeScript encodes a
|
|
6
|
-
*semantic* classification as `((tokenType + 1) << 8) + modifierBitset`; its
|
|
7
|
-
TokenType and TokenModifier enums fix the orders below. `keyword`/`operator` carry
|
|
8
|
-
the `{#…}` block framing the structural tokenizer emits; `string`/`number`/`regexp`
|
|
9
|
-
carry the literal *syntactic* classifications the semantic classifier never reports
|
|
10
|
-
(so a template-literal string inside `{…}` gets string coloring); `tag`/`attribute`/
|
|
11
|
-
`comment` carry the HTML markup structure the markup tokenizer emits, so the LSP
|
|
12
|
-
owns element/attribute/comment coloring instead of leaning on tree-sitter (which
|
|
13
|
-
desyncs on abide's `attr={expr}` values).
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
/* TS TokenType order (class=0 … member=11) → LSP token-type name. */
|
|
17
|
-
const TS_TYPE_TO_LSP = [
|
|
18
|
-
'class',
|
|
19
|
-
'enum',
|
|
20
|
-
'interface',
|
|
21
|
-
'namespace',
|
|
22
|
-
'typeParameter',
|
|
23
|
-
'type',
|
|
24
|
-
'parameter',
|
|
25
|
-
'variable',
|
|
26
|
-
'enumMember',
|
|
27
|
-
'property',
|
|
28
|
-
'function',
|
|
29
|
-
'method',
|
|
30
|
-
]
|
|
31
|
-
|
|
32
|
-
/* TS TokenModifier order (declaration=bit 0 … local=bit 5). */
|
|
33
|
-
const TS_MODIFIERS = ['declaration', 'static', 'async', 'readonly', 'defaultLibrary', 'local']
|
|
34
|
-
|
|
35
|
-
/* TS syntactic `ClassificationType` (legacy direct enum value) → literal legend
|
|
36
|
-
type. Only the literals the semantic classifier omits; identifiers, keywords, and
|
|
37
|
-
punctuation are left to the semantic pass (or untouched). */
|
|
38
|
-
const SYNTACTIC_LITERAL_TO_LSP: Partial<Record<ts.ClassificationType, string>> = {
|
|
39
|
-
[ts.ClassificationType.stringLiteral]: 'string',
|
|
40
|
-
[ts.ClassificationType.numericLiteral]: 'number',
|
|
41
|
-
[ts.ClassificationType.bigintLiteral]: 'number',
|
|
42
|
-
[ts.ClassificationType.regularExpressionLiteral]: 'regexp',
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export const ABIDE_SEMANTIC_TOKENS_LEGEND = {
|
|
46
|
-
tokenTypes: [
|
|
47
|
-
...TS_TYPE_TO_LSP,
|
|
48
|
-
'keyword',
|
|
49
|
-
'operator',
|
|
50
|
-
'string',
|
|
51
|
-
'number',
|
|
52
|
-
'regexp',
|
|
53
|
-
'tag',
|
|
54
|
-
'attribute',
|
|
55
|
-
'comment',
|
|
56
|
-
],
|
|
57
|
-
tokenModifiers: TS_MODIFIERS,
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/* Decodes one TypeScript encoded *semantic* classification into legend names. */
|
|
61
|
-
export function mapTsClassification(
|
|
62
|
-
classification: number,
|
|
63
|
-
): { type: string; modifiers: string[] } | undefined {
|
|
64
|
-
const tokenType = (classification >> 8) - 1
|
|
65
|
-
const type = TS_TYPE_TO_LSP[tokenType]
|
|
66
|
-
if (type === undefined) {
|
|
67
|
-
return undefined
|
|
68
|
-
}
|
|
69
|
-
const modifierSet = classification & 255
|
|
70
|
-
const modifiers = TS_MODIFIERS.filter((_, bit) => (modifierSet & (1 << bit)) !== 0)
|
|
71
|
-
return { type, modifiers }
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/* Decodes one TypeScript *syntactic* classification (the legacy direct enum value,
|
|
75
|
-
not the bit-shifted semantic form) into a literal legend type, or undefined for
|
|
76
|
-
classifications the semantic pass already covers. */
|
|
77
|
-
export function mapSyntacticClassification(classification: number): string | undefined {
|
|
78
|
-
return SYNTACTIC_LITERAL_TO_LSP[classification as ts.ClassificationType]
|
|
79
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
A compile-time `.abide` error carrying the absolute source offset of the
|
|
3
|
-
offending node (when the parser tracked one). The loader catches it, resolves the
|
|
4
|
-
offset to `line:col` against the file, and re-throws with the component path and
|
|
5
|
-
position in the message — so a failed build names the exact file and line, not the
|
|
6
|
-
entry page at offset 0 (Bun frames plugin throws at `<file>:0` regardless).
|
|
7
|
-
*/
|
|
8
|
-
export class AbideCompileError extends Error {
|
|
9
|
-
readonly offset: number | undefined
|
|
10
|
-
|
|
11
|
-
constructor(message: string, offset?: number) {
|
|
12
|
-
super(message)
|
|
13
|
-
this.name = 'AbideCompileError'
|
|
14
|
-
this.offset = offset
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
The control-block vocabulary — the ONE source of truth shared by the parser
|
|
3
|
-
(`parseTemplate`'s dispatch/error) and the LSP highlighter (`structuralHeadTokens`, driven
|
|
4
|
-
by the parse walk), so the keywords the highlighter colors can't drift from the blocks the
|
|
5
|
-
parser accepts (the `{#snippet}` head once went uncolored because a hand-copy omitted it).
|
|
6
|
-
|
|
7
|
-
`BLOCK_OPENERS` follow `{#`, `BLOCK_CONNECTORS` follow `{:`. `for await` is the async-each
|
|
8
|
-
opener form the highlighter colors as one phrase (the parser reads the `await` inside a
|
|
9
|
-
`for` head); it is not a distinct opener.
|
|
10
|
-
*/
|
|
11
|
-
export const BLOCK_OPENERS = ['if', 'for', 'await', 'switch', 'try', 'snippet'] as const
|
|
12
|
-
|
|
13
|
-
export const BLOCK_CONNECTORS = [
|
|
14
|
-
'else if',
|
|
15
|
-
'else',
|
|
16
|
-
'then',
|
|
17
|
-
'catch',
|
|
18
|
-
'finally',
|
|
19
|
-
'case',
|
|
20
|
-
'default',
|
|
21
|
-
] as const
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { SNIPPET_CLOSE, SNIPPET_OPEN } from '../runtime/RANGE_MARKER.ts'
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
Source text for the `$esc` / `$attr` / `$spread` / `$text` / `$snip` helpers injected
|
|
5
|
-
into every SSR render body. `$esc` escapes the five HTML-significant characters. `$attr`
|
|
6
|
-
renders a dynamic `{expr}` attribute with the same present/absent semantics the
|
|
7
|
-
client `attr` binding uses: false/null/undefined drops it, true emits the bare
|
|
8
|
-
attribute, anything else emits `name="escaped"`. `$spread` renders a `{...obj}`
|
|
9
|
-
element spread — each key as an attribute via `$attr`, skipping functions (event
|
|
10
|
-
handlers, wired client-side by `spreadAttrs`) and any key in the `skip` list (a key the
|
|
11
|
-
element names explicitly, which wins over the spread) — mirroring that client runtime. `$snip` brands a snippet's
|
|
12
|
-
rendered string. `$text` is what `{expr}` interpolations push: a snippet call's
|
|
13
|
-
value is emitted raw between `<!--abide:snippet-->` markers (the client runs its
|
|
14
|
-
builder there to claim the nodes); a `html\`…\`` value raw between `<!--abide:html-->`
|
|
15
|
-
markers; anything else is escaped. The brands are registered Symbols so they match
|
|
16
|
-
across bundles. Emitted inline (not imported) so the generated render module is
|
|
17
|
-
self-contained.
|
|
18
|
-
*/
|
|
19
|
-
export const SSR_ESCAPE =
|
|
20
|
-
// Nullish escapes to empty text, never the literal `"undefined"` — a pending async
|
|
21
|
-
// read (ADR-0032 D3) renders nothing. `$attr` guards nullish before it calls `$esc`,
|
|
22
|
-
// so its whole-value undefined still drops the attribute.
|
|
23
|
-
'const $esc = (v) => (v == null ? "" : String(v)).replace(/[&<>"\']/g, (c) => ' +
|
|
24
|
-
"({ '&': '&', '<': '<', '>': '>', '\"': '"', \"'\": ''' })[c]);\n" +
|
|
25
|
-
'const $attr = (n, v) => (v === false || v === null || v === undefined) ? "" ' +
|
|
26
|
-
': v === true ? (" " + n) : (" " + n + \'="\' + $esc(v) + \'"\');\n' +
|
|
27
|
-
'const $spread = (o, skip) => { let s = ""; for (const k in o) { ' +
|
|
28
|
-
'if (skip && skip.indexOf(k) >= 0) continue; ' +
|
|
29
|
-
/* Skip keys that aren't valid attribute names: $attr emits the name verbatim, so a
|
|
30
|
-
runtime-controlled key with whitespace/quotes/`>`/`=`/`/` would inject markup. The
|
|
31
|
-
client's setAttribute throws on these, so dropping them matches that behaviour. */
|
|
32
|
-
'if (/[\\s"\'>\\/=]/.test(k)) continue; ' +
|
|
33
|
-
'const v = o[k]; if (typeof v !== "function") s += $attr(k, v); } return s; };\n' +
|
|
34
|
-
"const $RAW = Symbol.for('abide.rawHtml');\n" +
|
|
35
|
-
"const $SNIP = Symbol.for('abide.snippet');\n" +
|
|
36
|
-
'const $snip = (s) => ({ [$SNIP]: s });\n' +
|
|
37
|
-
'const $text = (v) => (v !== null && typeof v === "object" && $SNIP in v) ' +
|
|
38
|
-
`? ('<!--${SNIPPET_OPEN}-->' + v[$SNIP] + '<!--${SNIPPET_CLOSE}-->') ` +
|
|
39
|
-
': (v !== null && typeof v === "object" && $RAW in v) ' +
|
|
40
|
-
"? ('<!--abide:html-->' + v[$RAW] + '<!--/abide:html-->') : $esc(v);"
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import ts from 'typescript'
|
|
2
|
-
|
|
3
|
-
/* The shared TypeScript printer every compile pass prints its transformed tree with.
|
|
4
|
-
A `ts.Printer` is stateless and reusable, so the passes share one instance rather
|
|
5
|
-
than each re-creating the same `{ newLine: LineFeed }` printer. LineFeed keeps the
|
|
6
|
-
emitted source `\n`-delimited regardless of the host platform. */
|
|
7
|
-
export const TS_PRINTER = ts.createPrinter({ newLine: ts.NewLineKind.LineFeed })
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
The abide-ui runtime names every compiled component module depends on, each
|
|
3
|
-
paired with its package subpath (after the package name). One source of truth for
|
|
4
|
-
the import block `compileModule` emits at the head of every component module, so the
|
|
5
|
-
emitted imports can't drift from the real package exports (a test checks each
|
|
6
|
-
resolves). Order is the emit order.
|
|
7
|
-
|
|
8
|
-
`alias` (when set) is the LOCAL name codegen emits — a `$$`-prefixed form reserved
|
|
9
|
-
for the compiler so a user variable of the helper's bare name can never collide
|
|
10
|
-
(`each as $$each`). It defaults to `name`. As each helper's emit sites flip to its
|
|
11
|
-
`$$` alias, set `alias` here in lockstep.
|
|
12
|
-
*/
|
|
13
|
-
export const UI_RUNTIME_IMPORTS: { name: string; specifier: string; alias?: string }[] = [
|
|
14
|
-
{ name: 'snippet', specifier: 'shared/snippet', alias: '$$snippet' },
|
|
15
|
-
/* `scope` is the internal lowering host (no longer author-facing), imported from the
|
|
16
|
-
plumbing `ui/currentScope` path and lowered to the reserved `$$scope` alias:
|
|
17
|
-
`referenceFor` rewrites a bare `scope` read (compiler-generated) to `$$scope` only
|
|
18
|
-
when not lexically shadowed, so the aliased import is the binding emitted code
|
|
19
|
-
resolves to. `enterScope`/`exitScope` bracket an SSR render's scope (plumbing paths). */
|
|
20
|
-
{ name: 'scope', specifier: 'ui/currentScope', alias: '$$scope' },
|
|
21
|
-
{ name: 'enterScope', specifier: 'ui/enterRenderScope', alias: '$$enterScope' },
|
|
22
|
-
{ name: 'exitScope', specifier: 'ui/exitRenderScope', alias: '$$exitScope' },
|
|
23
|
-
{ name: 'effect', specifier: 'ui/effect', alias: '$$effect' },
|
|
24
|
-
{ name: 'watch', specifier: 'ui/watch', alias: '$$watch' },
|
|
25
|
-
{ name: 'mount', specifier: 'ui/dom/mount', alias: '$$mount' },
|
|
26
|
-
{ name: 'appendText', specifier: 'ui/dom/appendText', alias: '$$appendText' },
|
|
27
|
-
{ name: 'appendTextAt', specifier: 'ui/dom/appendTextAt', alias: '$$appendTextAt' },
|
|
28
|
-
{ name: 'appendSnippet', specifier: 'ui/dom/appendSnippet', alias: '$$appendSnippet' },
|
|
29
|
-
{ name: 'appendStatic', specifier: 'ui/dom/appendStatic', alias: '$$appendStatic' },
|
|
30
|
-
{ name: 'cloneStatic', specifier: 'ui/dom/cloneStatic', alias: '$$cloneStatic' },
|
|
31
|
-
{ name: 'skeleton', specifier: 'ui/dom/skeleton', alias: '$$skeleton' },
|
|
32
|
-
{ name: 'anchorCursor', specifier: 'ui/dom/anchorCursor', alias: '$$anchorCursor' },
|
|
33
|
-
{ name: 'attr', specifier: 'ui/dom/attr', alias: '$$attr' },
|
|
34
|
-
{ name: 'on', specifier: 'ui/dom/on', alias: '$$on' },
|
|
35
|
-
{ name: 'attach', specifier: 'ui/dom/attach', alias: '$$attach' },
|
|
36
|
-
{ name: 'bindSelectValue', specifier: 'ui/dom/bindSelectValue', alias: '$$bindSelectValue' },
|
|
37
|
-
{ name: 'each', specifier: 'ui/dom/each', alias: '$$each' },
|
|
38
|
-
{ name: 'eachAsync', specifier: 'ui/dom/eachAsync', alias: '$$eachAsync' },
|
|
39
|
-
{ name: 'when', specifier: 'ui/dom/when', alias: '$$when' },
|
|
40
|
-
{ name: 'awaitBlock', specifier: 'ui/dom/awaitBlock', alias: '$$awaitBlock' },
|
|
41
|
-
{ name: 'awaitSubject', specifier: 'ui/dom/awaitSubject', alias: '$$awaitSubject' },
|
|
42
|
-
{ name: 'tryBlock', specifier: 'ui/dom/tryBlock', alias: '$$tryBlock' },
|
|
43
|
-
{ name: 'switchBlock', specifier: 'ui/dom/switchBlock', alias: '$$switchBlock' },
|
|
44
|
-
{ name: 'mountSlot', specifier: 'ui/dom/mountSlot', alias: '$$mountSlot' },
|
|
45
|
-
{ name: 'outlet', specifier: 'ui/dom/outlet', alias: '$$outlet' },
|
|
46
|
-
{ name: 'mountChild', specifier: 'ui/dom/mountChild', alias: '$$mountChild' },
|
|
47
|
-
{ name: 'mergeProps', specifier: 'ui/dom/mergeProps', alias: '$$mergeProps' },
|
|
48
|
-
{ name: 'spreadProps', specifier: 'ui/dom/spreadProps', alias: '$$spreadProps' },
|
|
49
|
-
{ name: 'restProps', specifier: 'ui/dom/restProps', alias: '$$restProps' },
|
|
50
|
-
{ name: 'bindProp', specifier: 'ui/dom/bindProp', alias: '$$bindProp' },
|
|
51
|
-
{ name: 'bindableProp', specifier: 'ui/dom/bindableProp', alias: '$$bindableProp' },
|
|
52
|
-
{ name: 'spreadAttrs', specifier: 'ui/dom/spreadAttrs', alias: '$$spreadAttrs' },
|
|
53
|
-
{ name: 'readCall', specifier: 'ui/dom/readCall', alias: '$$readCall' },
|
|
54
|
-
{ name: 'readCell', specifier: 'ui/dom/readCell', alias: '$$readCell' },
|
|
55
|
-
{ name: 'writeCell', specifier: 'ui/dom/writeCell', alias: '$$writeCell' },
|
|
56
|
-
{ name: 'cellPending', specifier: 'ui/dom/cellPending', alias: '$$cellPending' },
|
|
57
|
-
{ name: 'withPath', specifier: 'ui/runtime/withPath', alias: '$$withPath' },
|
|
58
|
-
{ name: 'settleAsyncCells', specifier: 'ui/settleAsyncCells', alias: '$$settleAsyncCells' },
|
|
59
|
-
{ name: 'flight', specifier: 'ui/flight', alias: '$$flight' },
|
|
60
|
-
{
|
|
61
|
-
name: 'isolateCellBarrier',
|
|
62
|
-
specifier: 'ui/isolateCellBarrier',
|
|
63
|
-
alias: '$$isolateCellBarrier',
|
|
64
|
-
},
|
|
65
|
-
{ name: 'renderPath', specifier: 'ui/runtime/renderPath', alias: '$$renderPath' },
|
|
66
|
-
{
|
|
67
|
-
name: 'finalizeStreamedChildren',
|
|
68
|
-
specifier: 'ui/finalizeStreamedChildren',
|
|
69
|
-
alias: '$$finalizeStreamedChildren',
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
name: 'mutateDocContainer',
|
|
73
|
-
specifier: 'ui/dom/mutateDocContainer',
|
|
74
|
-
alias: '$$mutateDocContainer',
|
|
75
|
-
},
|
|
76
|
-
{ name: 'hydrate', specifier: 'ui/dom/hydrate', alias: '$$hydrate' },
|
|
77
|
-
{ name: 'escapeKey', specifier: 'ui/runtime/escapeKey', alias: '$$escapeKey' },
|
|
78
|
-
{ name: 'nextBlockId', specifier: 'ui/runtime/nextBlockId', alias: '$$nextBlockId' },
|
|
79
|
-
{ name: 'blockId', specifier: 'ui/runtime/blockId', alias: '$$blockId' },
|
|
80
|
-
{
|
|
81
|
-
name: 'enterRenderPass',
|
|
82
|
-
specifier: 'ui/runtime/enterRenderPass',
|
|
83
|
-
alias: '$$enterRenderPass',
|
|
84
|
-
},
|
|
85
|
-
{ name: 'exitRenderPass', specifier: 'ui/runtime/exitRenderPass', alias: '$$exitRenderPass' },
|
|
86
|
-
]
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
HTML void elements — they have no closing tag and no children. Shared by the
|
|
3
|
-
template parser, the SSR generator, and the static-clone skeleton generator so
|
|
4
|
-
all self-close consistently and the back-ends emit `<img>` not `<img></img>`,
|
|
5
|
-
keeping server markup and the client clone template identical.
|
|
6
|
-
*/
|
|
7
|
-
export const VOID_TAGS: ReadonlySet<string> = new Set([
|
|
8
|
-
'area',
|
|
9
|
-
'base',
|
|
10
|
-
'br',
|
|
11
|
-
'col',
|
|
12
|
-
'embed',
|
|
13
|
-
'hr',
|
|
14
|
-
'img',
|
|
15
|
-
'input',
|
|
16
|
-
'link',
|
|
17
|
-
'meta',
|
|
18
|
-
'param',
|
|
19
|
-
'source',
|
|
20
|
-
'track',
|
|
21
|
-
'wbr',
|
|
22
|
-
])
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { relative } from 'node:path'
|
|
2
|
-
import type { BunPlugin } from 'bun'
|
|
3
|
-
import { isLayoutFile } from '../../shared/isLayoutFile.ts'
|
|
4
|
-
import { messageFromError } from '../../shared/messageFromError.ts'
|
|
5
|
-
import { AbideCompileError } from './AbideCompileError.ts'
|
|
6
|
-
import { compileModule } from './compileModule.ts'
|
|
7
|
-
import type { ShadowProgram } from './createShadowProgram.ts'
|
|
8
|
-
import { interpolationClassifierForRoot } from './interpolationClassifierForRoot.ts'
|
|
9
|
-
import { nearestProjectRoot } from './nearestProjectRoot.ts'
|
|
10
|
-
import { offsetToLineColumn } from './offsetToLineColumn.ts'
|
|
11
|
-
import { seedTypeClassifierForRoot } from './seedTypeClassifierForRoot.ts'
|
|
12
|
-
|
|
13
|
-
/*
|
|
14
|
-
Bun plugin that loads `.abide` single-file components: compiles each to the ES
|
|
15
|
-
module `compileModule` emits, so they import and mount like any other module. The
|
|
16
|
-
only UI loader in the dev/build/preload pipeline; the emitted module's
|
|
17
|
-
`abide/ui/*` imports resolve through the package exports.
|
|
18
|
-
|
|
19
|
-
A `layout.abide` compiles as a layout: its `<slot/>` lowers to the router's page
|
|
20
|
-
outlet (a `<!--abide:outlet-->…<!--/abide:outlet-->` comment boundary the router fills) rather than a passed-children slot — the file's role is
|
|
21
|
-
its name, so the loader flags it from the path stem.
|
|
22
|
-
|
|
23
|
-
The emitted module embeds the component's `<script>` and `{expr}` bodies verbatim,
|
|
24
|
-
so it carries the author's TypeScript (a typed `prop`, an annotated handler). The
|
|
25
|
-
`ts` loader strips those annotations — the generated runtime code is valid TS too —
|
|
26
|
-
keeping `.abide` scripts the TypeScript that `abide check` type-checks them as.
|
|
27
|
-
|
|
28
|
-
A component's scoped `<style>`(s) are bundled, not inlined: in the BROWSER build the
|
|
29
|
-
module imports a virtual `abide-style:` CSS module holding every block's scoped CSS
|
|
30
|
-
concatenated, so Bun folds it into the entry stylesheet (`client.css`, already linked
|
|
31
|
-
by the shell). Server builds (target `bun`) omit the import — SSR styling comes from
|
|
32
|
-
that same linked sheet, so a page renders styled before the client bundle loads, with
|
|
33
|
-
no inlined `<style>`. The elements still carry their `data-a-…` scope attributes
|
|
34
|
-
either way (one per `<style>` covering them — see `analyzeComponent`).
|
|
35
|
-
*/
|
|
36
|
-
// @documentation plumbing
|
|
37
|
-
export const abideUiPlugin: BunPlugin = {
|
|
38
|
-
name: 'abide-ui',
|
|
39
|
-
setup(build) {
|
|
40
|
-
const toBrowser = build.config?.target === 'browser'
|
|
41
|
-
/* Scoped CSS keyed by its virtual specifier, filled as each `.abide` loads and
|
|
42
|
-
read back when Bun resolves the matching `abide-style:` import (browser only). */
|
|
43
|
-
const cssByVirtual = new Map<string, string>()
|
|
44
|
-
/* One WARM shadow program per project root (ADR-0019, Stage B): the checker +
|
|
45
|
-
per-file mappings type-directed lowering needs, built lazily on first `.abide`
|
|
46
|
-
in a root and reused for every component there — not rebuilt per module. */
|
|
47
|
-
const shadowByRoot = new Map<string, ShadowProgram | undefined>()
|
|
48
|
-
|
|
49
|
-
build.onLoad({ filter: /\.abide$/ }, async (args) => {
|
|
50
|
-
const source = await Bun.file(args.path).text()
|
|
51
|
-
const root = nearestProjectRoot(args.path, process.cwd())
|
|
52
|
-
const moduleId = relative(root, args.path)
|
|
53
|
-
const isLayout = isLayoutFile(args.path)
|
|
54
|
-
/* The classifier for this file over its root's warm shadow program. Fail-open:
|
|
55
|
-
a program that can't build (or a file with no shadow) yields `undefined`, so
|
|
56
|
-
the module compiles exactly as before. */
|
|
57
|
-
const classify = interpolationClassifierForRoot(shadowByRoot, root, args.path)
|
|
58
|
-
/* The seed classifier for this file over the SAME warm shadow program (ADR-0023):
|
|
59
|
-
reuses the `shadowByRoot` cache `classify` just warmed, so no second program is
|
|
60
|
-
built. Fail-open identically — a no-marker `computed(seed)` routes by type when
|
|
61
|
-
it resolves, else by the `isBareCallComputed` syntax heuristic. */
|
|
62
|
-
const seedClassify = seedTypeClassifierForRoot(shadowByRoot, root, args.path)
|
|
63
|
-
/* Bun frames a plugin throw at `<file>:0` regardless of the real spot, so
|
|
64
|
-
carry the component path + resolved line:col in the message — otherwise a
|
|
65
|
-
control-flow / compile error reads as `:0` and (in deep imports) can look
|
|
66
|
-
like it came from the entry page rather than this component. */
|
|
67
|
-
const compileAbide = <T>(step: () => T): T => {
|
|
68
|
-
try {
|
|
69
|
-
return step()
|
|
70
|
-
} catch (error) {
|
|
71
|
-
const offset = error instanceof AbideCompileError ? error.offset : undefined
|
|
72
|
-
const at =
|
|
73
|
-
offset === undefined
|
|
74
|
-
? moduleId
|
|
75
|
-
: (({ line, column }) => `${moduleId}:${line}:${column}`)(
|
|
76
|
-
offsetToLineColumn(source, offset),
|
|
77
|
-
)
|
|
78
|
-
const message = messageFromError(error)
|
|
79
|
-
throw new Error(`${message.replace(/^\[abide\]\s*/, `[abide] ${at} — `)}`)
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
/* One compile pass yields both the module code and its scoped `<style>` blocks —
|
|
83
|
-
the styles come from the analysis `compileModule` already ran, so the loader no
|
|
84
|
-
longer re-analyzes the source just to recover them. */
|
|
85
|
-
const { code, styles } = compileAbide(() =>
|
|
86
|
-
compileModule(source, { isLayout, moduleId, classify, seedClassify }),
|
|
87
|
-
)
|
|
88
|
-
/* Browser build with `<style>`(s): concatenate every scoped block's CSS and
|
|
89
|
-
pull it into the bundle via one virtual import, keyed by `moduleId` so the
|
|
90
|
-
registry id and the CSS id agree. Server builds skip the import (SSR styling
|
|
91
|
-
comes from the already-linked sheet). */
|
|
92
|
-
if (!toBrowser || styles.length === 0) {
|
|
93
|
-
return { contents: code, loader: 'ts' }
|
|
94
|
-
}
|
|
95
|
-
const virtual = `abide-style:${moduleId}`
|
|
96
|
-
cssByVirtual.set(virtual, styles.map((style) => style.css).join('\n'))
|
|
97
|
-
return { contents: `import ${JSON.stringify(virtual)}\n${code}`, loader: 'ts' }
|
|
98
|
-
})
|
|
99
|
-
|
|
100
|
-
build.onResolve({ filter: /^abide-style:/ }, (args) => ({
|
|
101
|
-
path: args.path,
|
|
102
|
-
namespace: 'abide-style',
|
|
103
|
-
}))
|
|
104
|
-
build.onLoad({ filter: /.*/, namespace: 'abide-style' }, (args) => ({
|
|
105
|
-
contents: cssByVirtual.get(args.path) ?? '',
|
|
106
|
-
loader: 'css',
|
|
107
|
-
}))
|
|
108
|
-
},
|
|
109
|
-
}
|
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
import { lowerAsyncInterpolations } from './lowerAsyncInterpolations.ts'
|
|
2
|
-
import { lowerScript } from './lowerScript.ts'
|
|
3
|
-
import { parseTemplate } from './parseTemplate.ts'
|
|
4
|
-
import { scopeCss } from './scopeCss.ts'
|
|
5
|
-
import { LEADING_SCRIPT } from './templateStartOffset.ts'
|
|
6
|
-
import type { AnalyzedComponent } from './types/AnalyzedComponent.ts'
|
|
7
|
-
import type { InterpolationClassifier } from './types/InterpolationClassifier.ts'
|
|
8
|
-
import type { SeedTypeClassifier } from './types/SeedTypeClassifier.ts'
|
|
9
|
-
import type { TemplateNode } from './types/TemplateNode.ts'
|
|
10
|
-
import { writtenTemplateNames } from './writtenTemplateNames.ts'
|
|
11
|
-
|
|
12
|
-
/*
|
|
13
|
-
The shared compile front-end: splits the leading `<script>` off the template,
|
|
14
|
-
desugars the signal surface to the doc form, lowers the script's data access, and
|
|
15
|
-
parses the template (which keeps each `<style>` as an in-place node). Each `<style>`
|
|
16
|
-
is scoped to its own attribute (`data-a-<hash>`); `annotateScopes` stamps that
|
|
17
|
-
attribute onto every element in the style's sibling subtree, so a top-level
|
|
18
|
-
`<style>` covers the whole component while a nested one covers only the branch it
|
|
19
|
-
sits in. Both client and SSR back-ends read the per-element `scopes`, so the targets
|
|
20
|
-
always agree.
|
|
21
|
-
|
|
22
|
-
`scopeSeed` (the component's stable module id, supplied by the loader) seeds each
|
|
23
|
-
hash — combined with the style's source-order index — so the attribute tracks
|
|
24
|
-
component+position identity, not CSS text: an edit to a `<style>` keeps the same
|
|
25
|
-
`data-a-…`, so the live elements still match and the CSS can hot-swap in place.
|
|
26
|
-
Absent (direct compile calls / tests) it falls back to hashing the style body.
|
|
27
|
-
*/
|
|
28
|
-
export function analyzeComponent(
|
|
29
|
-
source: string,
|
|
30
|
-
scopeSeed?: string,
|
|
31
|
-
classify?: InterpolationClassifier,
|
|
32
|
-
/* Type-directed SEED classifier (ADR-0023): resolves a no-marker `computed(seed)`'s
|
|
33
|
-
async-ness from the seed's checker type over the SAME warm shadow program `classify`
|
|
34
|
-
uses. Optional and fail-open — absent, every seed routes by the `isBareCallComputed`
|
|
35
|
-
syntax heuristic (today's behavior). */
|
|
36
|
-
seedClassify?: SeedTypeClassifier,
|
|
37
|
-
): AnalyzedComponent {
|
|
38
|
-
/* Only the LEADING `<script>` is the component script; scripts nested in the
|
|
39
|
-
template (scoped reactive blocks) survive into the parsed nodes. The `<style>`
|
|
40
|
-
is left in the template for the parser to extract structurally (below), so a
|
|
41
|
-
`<style>` quoted inside an expression is never mistaken for the component's. */
|
|
42
|
-
const scriptMatch = source.match(LEADING_SCRIPT)
|
|
43
|
-
const rawScriptBody = scriptMatch?.[1] ?? ''
|
|
44
|
-
const scriptBody = rawScriptBody.trim()
|
|
45
|
-
/* Absolute `.abide` source offset where the TRIMMED `<script>` body begins — the base that
|
|
46
|
-
maps a desugared `computed(seed)` node (offset-relative to the trimmed body) back to an
|
|
47
|
-
original source location, so the type-directed seed classifier (ADR-0023) resolves it
|
|
48
|
-
against the shadow's source→shadow `mappings`, exactly as `templateBase` anchors each
|
|
49
|
-
interpolation's `loc`. `indexOf('>')` lands just past the opening `<script …>` (matching
|
|
50
|
-
`compileShadow`'s `scriptStart`); the trim delta re-adds the leading whitespace the parsed
|
|
51
|
-
script dropped. */
|
|
52
|
-
const scriptContentBase =
|
|
53
|
-
(scriptMatch ? source.indexOf('>', scriptMatch.index) + 1 : 0) +
|
|
54
|
-
(rawScriptBody.length - rawScriptBody.trimStart().length)
|
|
55
|
-
const afterScript = scriptMatch ? source.slice(scriptMatch[0].length) : source
|
|
56
|
-
const template = afterScript.trim()
|
|
57
|
-
/* Absolute source offset of the trimmed template's first char (script length + the
|
|
58
|
-
remainder's leading whitespace). Passed as the parse base so each interpolation's
|
|
59
|
-
`loc` is an offset into the ORIGINAL source — the coordinate the shadow's
|
|
60
|
-
source→shadow `mappings` use, so a type-directed classifier resolves against it.
|
|
61
|
-
The runtime back-ends ignore `loc`, so this only affects the classifier's lookup. */
|
|
62
|
-
const templateBase =
|
|
63
|
-
(scriptMatch ? scriptMatch[0].length : 0) +
|
|
64
|
-
(afterScript.length - afterScript.trimStart().length)
|
|
65
|
-
|
|
66
|
-
/* Parse the template first so the nested branch `<script>`s are in hand before the
|
|
67
|
-
leading script lowers: their raw code feeds the dead-import usage check, keeping a
|
|
68
|
-
reactive import (`state`) alive when only a nested branch uses it (its
|
|
69
|
-
`state.computed(...)` stays literal, unlike the desugared leading script). */
|
|
70
|
-
const parsed = parseTemplate(template, templateBase)
|
|
71
|
-
/* Type-directed async lowering (ADR-0032): lift every promise/`AsyncIterable`-typed
|
|
72
|
-
(sub)expression — in content AND value positions — to an injected peek-cell, rewriting it
|
|
73
|
-
in place to a bare `{__vN}` reference BEFORE the script lowers and scopes annotate, so it
|
|
74
|
-
reads `undefined` while pending and composes with `??`/`?.`. Runs unconditionally: with no
|
|
75
|
-
classifier only syntactic `await`s lift (fail-open), so a value-position `{await …}` still
|
|
76
|
-
works while a bare async position degrades to today's plain binding. */
|
|
77
|
-
const { nodes, cells } = lowerAsyncInterpolations(parsed.nodes, classify)
|
|
78
|
-
/* Each lifted async (sub)expression was rewritten to a bare `{__vN}` reference; APPEND a
|
|
79
|
-
matching `const __vN = computed(<seed>)` to the script so the seed's author-signal reads
|
|
80
|
-
lower through the normal pipeline and the declaration desugars to a `trackedComputed` cell
|
|
81
|
-
(read via `$$readCell(__vN)`). `computed` here is a bare, unimported callee — `desugarSignals`
|
|
82
|
-
recognizes it by the injected name (`injectedCellNames`), not by import resolution. A
|
|
83
|
-
BLOCKING cell (author `await`, `blockingCellNames`) joins the SSR barrier; a streaming one
|
|
84
|
-
ships pending. Appended (after the author's `state(...)` inits, not before) so a signal-arg
|
|
85
|
-
seed `{getStream(count)}` reads the INITIALIZED `count`; the cell only feeds the render,
|
|
86
|
-
which runs after the whole script, so end-of-script placement is safe. */
|
|
87
|
-
const injectedCellNames = new Set(cells.map((cell) => cell.name))
|
|
88
|
-
const blockingCellNames = new Set(
|
|
89
|
-
cells.filter((cell) => cell.blocking).map((cell) => cell.name),
|
|
90
|
-
)
|
|
91
|
-
/* A promise seed is wrapped as an async thunk `async () => await (<code>)` — inside an async
|
|
92
|
-
arrow `await` is a keyword and the parens are unambiguous (a bare-text `computed(await (X))`
|
|
93
|
-
reparsed at module scope reads `await(X)` as a call). A stream seed stays a bare
|
|
94
|
-
`computed(<code>)` (byte-identical to an explicit `state.computed(getStream())`). */
|
|
95
|
-
const injectedScript = cells.map((cell) =>
|
|
96
|
-
cell.kind === 'promise'
|
|
97
|
-
? `const ${cell.name} = computed(async () => await (${cell.code}));`
|
|
98
|
-
: `const ${cell.name} = computed(${cell.code});`,
|
|
99
|
-
)
|
|
100
|
-
const fullScriptBody =
|
|
101
|
-
injectedScript.length === 0
|
|
102
|
-
? scriptBody
|
|
103
|
-
: scriptBody.length > 0
|
|
104
|
-
? `${scriptBody}\n${injectedScript.join('\n')}`
|
|
105
|
-
: injectedScript.join('\n')
|
|
106
|
-
const nestedScriptCode = collectNestedScriptCode(nodes)
|
|
107
|
-
/* Names the markup writes or forwards as a `bind:` target — unioned (in `desugarSignals`)
|
|
108
|
-
with the script's own writes so a `props()` binding used two-way desugars to a writable
|
|
109
|
-
cell (`bindableProp`) rather than a read-only derive. */
|
|
110
|
-
const templateWrittenNames = writtenTemplateNames(nodes)
|
|
111
|
-
/* `lowerScript` parses the script ONCE and chains signal desugaring, reference
|
|
112
|
-
renaming, and doc-access lowering over that single tree, then hoists top-level
|
|
113
|
-
imports off the tree structurally — imports live at module scope, not inside the
|
|
114
|
-
mount/render function the body becomes. It returns the collected signal name sets. */
|
|
115
|
-
const {
|
|
116
|
-
body: script,
|
|
117
|
-
ssrBody: ssrScript,
|
|
118
|
-
imports,
|
|
119
|
-
stateNames,
|
|
120
|
-
derivedNames,
|
|
121
|
-
computedNames,
|
|
122
|
-
cellReadNames,
|
|
123
|
-
droppedReactiveImports,
|
|
124
|
-
} = lowerScript(
|
|
125
|
-
fullScriptBody,
|
|
126
|
-
nestedScriptCode,
|
|
127
|
-
injectedCellNames,
|
|
128
|
-
blockingCellNames,
|
|
129
|
-
templateWrittenNames,
|
|
130
|
-
seedClassify,
|
|
131
|
-
scriptContentBase,
|
|
132
|
-
)
|
|
133
|
-
/* `annotateScopes` mutates the tree — assigning each style its scope attribute and
|
|
134
|
-
stamping covered elements — and returns the scoped CSS per block for the bundler. */
|
|
135
|
-
const styles = annotateScopes(nodes, [], scopeSeed, { count: 0 })
|
|
136
|
-
return {
|
|
137
|
-
script,
|
|
138
|
-
ssrScript,
|
|
139
|
-
imports,
|
|
140
|
-
droppedReactiveImports,
|
|
141
|
-
stateNames,
|
|
142
|
-
derivedNames,
|
|
143
|
-
computedNames,
|
|
144
|
-
cellReadNames,
|
|
145
|
-
nodes,
|
|
146
|
-
styles,
|
|
147
|
-
/* Hydration adopts every block in place — including `await`, which resumes
|
|
148
|
-
from the streamed value in the resume manifest (see `runtime/RESUME`). */
|
|
149
|
-
hydratable: true,
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/* The children of a control-flow / element / component node, or undefined for a
|
|
154
|
-
leaf (text/script/style). Every children-bearing kind carries `children`. */
|
|
155
|
-
function childrenOf(node: TemplateNode): TemplateNode[] | undefined {
|
|
156
|
-
return 'children' in node ? node.children : undefined
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
/* The concatenated source of every nested `<script>` anywhere in the tree — the branch-local
|
|
160
|
-
reactive blocks. Used only to keep the leading script's reactive imports alive when a nested
|
|
161
|
-
branch is their sole consumer; the raw text is enough to spot the identifier reference. */
|
|
162
|
-
function collectNestedScriptCode(nodes: TemplateNode[]): string {
|
|
163
|
-
let code = ''
|
|
164
|
-
for (const node of nodes) {
|
|
165
|
-
if (node.kind === 'script') {
|
|
166
|
-
code += `\n${node.code}`
|
|
167
|
-
}
|
|
168
|
-
const children = childrenOf(node)
|
|
169
|
-
if (children !== undefined) {
|
|
170
|
-
code += collectNestedScriptCode(children)
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
return code
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
/*
|
|
177
|
-
Walks `nodes` in source order, scoping each `<style>` to its sibling subtree: a
|
|
178
|
-
style among a sibling list covers every element in that list AND every descendant
|
|
179
|
-
(so its attribute reaches the whole branch it sits in, like the nested-`<script>`
|
|
180
|
-
rule). `inherited` is the scope attributes already active from ancestors; this
|
|
181
|
-
level adds its own styles' attributes, stamps the resulting set onto each element
|
|
182
|
-
here, and recurses with it. `index.count` is the running source-order ordinal that
|
|
183
|
-
(with `scopeSeed`) keeps each attribute stable across CSS edits. Returns the scoped
|
|
184
|
-
CSS for every non-empty style, in source order, for the bundler to concatenate.
|
|
185
|
-
*/
|
|
186
|
-
function annotateScopes(
|
|
187
|
-
nodes: TemplateNode[],
|
|
188
|
-
inherited: string[],
|
|
189
|
-
scopeSeed: string | undefined,
|
|
190
|
-
index: { count: number },
|
|
191
|
-
): { attribute: string; css: string }[] {
|
|
192
|
-
const collected: { attribute: string; css: string }[] = []
|
|
193
|
-
/* This sibling list's own style attributes — active for every element here. */
|
|
194
|
-
const here = [...inherited]
|
|
195
|
-
for (const node of nodes) {
|
|
196
|
-
if (node.kind === 'style' && node.css.trim() !== '') {
|
|
197
|
-
const attribute = `data-a-${hashString(`${scopeSeed ?? node.css}#${index.count}`)}`
|
|
198
|
-
index.count += 1
|
|
199
|
-
collected.push({ attribute, css: scopeCss(node.css, attribute) })
|
|
200
|
-
here.push(attribute)
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
for (const node of nodes) {
|
|
204
|
-
if (node.kind === 'element') {
|
|
205
|
-
node.scopes = here
|
|
206
|
-
}
|
|
207
|
-
const children = childrenOf(node)
|
|
208
|
-
if (children !== undefined) {
|
|
209
|
-
collected.push(...annotateScopes(children, here, scopeSeed, index))
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
return collected
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
/* Small stable hash (djb2 → base36) for a per-style scope attribute. */
|
|
216
|
-
function hashString(value: string): string {
|
|
217
|
-
let hash = 5381
|
|
218
|
-
for (let index = 0; index < value.length; index += 1) {
|
|
219
|
-
hash = (hash * 33) ^ value.charCodeAt(index)
|
|
220
|
-
}
|
|
221
|
-
return (hash >>> 0).toString(36)
|
|
222
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { OUTLET_TAG } from '../runtime/OUTLET_TAG.ts'
|
|
2
|
-
import type { TemplateNode } from './types/TemplateNode.ts'
|
|
3
|
-
|
|
4
|
-
/*
|
|
5
|
-
In a layout the `<slot/>` page outlet is a bare empty `OUTLET_TAG` element the router fills
|
|
6
|
-
later. Rewriting it to an element node up front lets the static-clone path carry it as ordinary
|
|
7
|
-
structure AND lets BOTH back-ends feed the same tree to `skeletonContext` — one decision site
|
|
8
|
-
for "a layout slot is an outlet, not an anchor", instead of the client running `asOutlet` while
|
|
9
|
-
SSR mirrors it with an inline special-case.
|
|
10
|
-
|
|
11
|
-
The outlet is a structural mount point, not styled content, so it carries NO attrs and NO style
|
|
12
|
-
scope — both back-ends lower it to the bare `<!--abide:outlet-->`…`<!--/abide:outlet-->` boundary
|
|
13
|
-
`renderChain` folds the child layer into (matching its `OUTLET_PLACEHOLDER`). Stripping `scopes`
|
|
14
|
-
is what makes the two back-ends agree: SSR emits the boundary bare, but without this the client
|
|
15
|
-
clone would read the slot's annotated `scopes` and stamp them — a hydration mismatch for any
|
|
16
|
-
scoped layout.
|
|
17
|
-
|
|
18
|
-
Control-flow children are fresh build contexts (their own runtime mounts a nested slot), so they
|
|
19
|
-
are not descended into — a `<slot>` inside an `{#if}` stays a slot node, handled at its own
|
|
20
|
-
mount site in each back-end.
|
|
21
|
-
*/
|
|
22
|
-
export function asOutlet(node: TemplateNode): TemplateNode {
|
|
23
|
-
if (node.kind !== 'element') {
|
|
24
|
-
return node
|
|
25
|
-
}
|
|
26
|
-
if (node.tag === 'slot') {
|
|
27
|
-
return { ...node, tag: OUTLET_TAG, attrs: [], children: [], scopes: [] }
|
|
28
|
-
}
|
|
29
|
-
return { ...node, children: node.children.map(asOutlet) }
|
|
30
|
-
}
|