@absolutejs/absolute 0.19.0-beta.999 → 0.20.0-beta.1
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/LICENSE +21 -13
- package/README.md +48 -2
- package/dist/angular/browser.js +82 -77
- package/dist/angular/browser.js.map +11 -11
- package/dist/angular/components/constants.js +43 -0
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/angular/hmrPreserveCore.ts +132 -134
- package/dist/angular/index.js +1719 -844
- package/dist/angular/index.js.map +34 -26
- package/dist/angular/server.js +1620 -768
- package/dist/angular/server.js.map +28 -20
- package/dist/build.js +4935 -2593
- package/dist/build.js.map +72 -57
- package/dist/cli/config/client.js +578 -0
- package/dist/cli/config/server.js +39587 -0
- package/dist/cli/htmx/htmx.min.js +1 -0
- package/dist/cli/index.js +16828 -3511
- package/dist/client/index.js +49 -46
- package/dist/client/index.js.map +12 -12
- package/dist/core/streamingSlotRegistrar.js +1 -19
- package/dist/core/streamingSlotRegistrar.js.map +2 -2
- package/dist/core/streamingSlotRegistry.js +1 -19
- package/dist/core/streamingSlotRegistry.js.map +2 -2
- package/dist/dev/client/cssUtils.ts +98 -41
- package/dist/dev/client/domState.ts +2 -0
- package/dist/dev/client/errorOverlay.ts +14 -13
- package/dist/dev/client/handlers/angularHmrShim.ts +20 -20
- package/dist/dev/client/handlers/angularRemount.ts +74 -55
- package/dist/dev/client/handlers/angularRemountWiring.ts +1 -2
- package/dist/dev/client/handlers/html.ts +144 -41
- package/dist/dev/client/handlers/htmx.ts +43 -8
- package/dist/dev/client/handlers/react.ts +114 -32
- package/dist/dev/client/handlers/rebuild.ts +28 -8
- package/dist/dev/client/handlers/svelte.ts +92 -51
- package/dist/dev/client/handlers/vue.ts +36 -45
- package/dist/dev/client/hmrClient.ts +101 -26
- package/dist/dev/client/hmrTiming.ts +141 -0
- package/dist/dev/client/hmrToast.ts +22 -24
- package/dist/dev/client/reactRefreshSetup.ts +4 -0
- package/dist/dev/client/vendor/reactRefreshRuntime.d.ts +12 -0
- package/dist/dev/client/vendor/reactRefreshRuntime.js +313 -0
- package/dist/dev/serverBootstrap.js +45 -0
- package/dist/index.js +7153 -3224
- package/dist/index.js.map +118 -86
- package/dist/islands/browser.js +1 -19
- package/dist/islands/browser.js.map +3 -3
- package/dist/islands/index.js +709 -120
- package/dist/islands/index.js.map +18 -13
- package/dist/mobile/browser.js +428 -0
- package/dist/mobile/browser.js.map +12 -0
- package/dist/mobile/index.js +3058 -0
- package/dist/mobile/index.js.map +35 -0
- package/dist/react/browser.js +13 -62
- package/dist/react/browser.js.map +5 -6
- package/dist/react/components/browser/index.js +23 -13
- package/dist/react/components/index.js +30 -34
- package/dist/react/components/index.js.map +8 -7
- package/dist/react/hooks/index.js +1 -19
- package/dist/react/hooks/index.js.map +3 -3
- package/dist/react/index.js +1643 -679
- package/dist/react/index.js.map +29 -20
- package/dist/react/jsxDevRuntimeCompat.js +22 -20
- package/dist/react/jsxDevRuntimeCompat.js.map +5 -4
- package/dist/react/jsxRuntimeCompat.js +90 -0
- package/dist/react/jsxRuntimeCompat.js.map +10 -0
- package/dist/react/router/browser.js +77 -0
- package/dist/react/router/browser.js.map +10 -0
- package/dist/react/router/index.js +77 -0
- package/dist/react/router/index.js.map +10 -0
- package/dist/react/server.js +950 -565
- package/dist/react/server.js.map +16 -11
- package/dist/src/angular/components/constants.d.ts +21 -0
- package/dist/src/angular/hmrPreserveCore.d.ts +7 -20
- package/dist/src/angular/islands.d.ts +1 -1
- package/dist/src/angular/pageHandler.d.ts +2 -0
- package/dist/src/angular/ssrRender.d.ts +4 -1
- package/dist/src/build/bunStringRawUnicodePlugin.d.ts +12 -0
- package/dist/src/build/chainInlineSourcemaps.d.ts +1 -0
- package/dist/src/build/compileAngular.d.ts +5 -7
- package/dist/src/build/compileSvelte.d.ts +3 -0
- package/dist/src/build/compileVue.d.ts +3 -1
- package/dist/src/build/generateReactIndexes.d.ts +1 -0
- package/dist/src/build/islandRegistryTransform.d.ts +17 -0
- package/dist/src/build/maskLiterals.d.ts +28 -0
- package/dist/src/build/parseVueSpaRoutes.d.ts +5 -0
- package/dist/src/build/resolveBuildMode.d.ts +7 -0
- package/dist/src/build/serverExternals.d.ts +14 -0
- package/dist/src/build/spaSideManifests.d.ts +16 -0
- package/dist/src/build/tailwindCompiler.d.ts +0 -1
- package/dist/src/cli/add/dependencies.d.ts +13 -0
- package/dist/src/cli/config/absolute/AbsoluteConfigPanel.d.ts +6 -0
- package/dist/src/cli/config/absolute/editAbsoluteConfig.d.ts +5 -0
- package/dist/src/cli/config/absolute/resolveAbsoluteConfig.d.ts +19 -0
- package/dist/src/cli/config/auth/AuthPanel.d.ts +6 -0
- package/dist/src/cli/config/auth/authCatalog.d.ts +10 -0
- package/dist/src/cli/config/auth/authScaffolds.d.ts +16 -0
- package/dist/src/cli/config/auth/editAuthConfig.d.ts +5 -0
- package/dist/src/cli/config/auth/resolveAuthSettings.d.ts +14 -0
- package/dist/src/cli/config/auth/resolveAuthState.d.ts +2 -0
- package/dist/src/cli/config/auth/scaffoldAuthFeature.d.ts +6 -0
- package/dist/src/cli/config/client.d.ts +1 -0
- package/dist/src/cli/config/configCert.d.ts +12 -0
- package/dist/src/cli/config/eslint/EslintPanel.d.ts +6 -0
- package/dist/src/cli/config/eslint/configAst.d.ts +18 -0
- package/dist/src/cli/config/eslint/editConfigRule.d.ts +6 -0
- package/dist/src/cli/config/eslint/eslintStyles.d.ts +1 -0
- package/dist/src/cli/config/eslint/resolveConfig.d.ts +3 -0
- package/dist/src/cli/config/eslint/serializeValue.d.ts +9 -0
- package/dist/src/cli/config/guards.d.ts +4 -0
- package/dist/src/cli/config/integrations/IntegrationsPanel.d.ts +6 -0
- package/dist/src/cli/config/packageJson/PackageJsonPanel.d.ts +6 -0
- package/dist/src/cli/config/packageJson/editPackageJson.d.ts +9 -0
- package/dist/src/cli/config/packageJson/resolvePackageJson.d.ts +8 -0
- package/dist/src/cli/config/page/ConfigShell.d.ts +6 -0
- package/dist/src/cli/config/page/FieldEditor.d.ts +9 -0
- package/dist/src/cli/config/page/PanelHost.d.ts +6 -0
- package/dist/src/cli/config/page/configStyles.d.ts +1 -0
- package/dist/src/cli/config/panels.d.ts +7 -0
- package/dist/src/cli/config/prettier/PrettierPanel.d.ts +6 -0
- package/dist/src/cli/config/prettier/editPrettier.d.ts +5 -0
- package/dist/src/cli/config/prettier/resolvePrettier.d.ts +11 -0
- package/dist/src/cli/config/schema/fromJsonSchema.d.ts +3 -0
- package/dist/src/cli/config/schema/fromType.d.ts +1 -0
- package/dist/src/cli/config/schema/serialize.d.ts +1 -0
- package/dist/src/cli/config/server.d.ts +527 -0
- package/dist/src/cli/config/tsconfig/TsconfigPanel.d.ts +6 -0
- package/dist/src/cli/config/tsconfig/editTsconfig.d.ts +5 -0
- package/dist/src/cli/config/tsconfig/resolveTsconfig.d.ts +8 -0
- package/dist/src/cli/config/tsconfig/tsconfigStyles.d.ts +1 -0
- package/dist/src/cli/discoverInstances.d.ts +5 -0
- package/dist/src/cli/elysiaOpenApiTypeboxPlugin.d.ts +8 -0
- package/dist/src/cli/generate/componentTemplates.d.ts +7 -0
- package/dist/src/cli/generate/context.d.ts +30 -0
- package/dist/src/cli/generate/cssStrategy.d.ts +20 -0
- package/dist/src/cli/generate/frameworkKey.d.ts +3 -0
- package/dist/src/cli/generate/frameworks.d.ts +40 -0
- package/dist/src/cli/generate/generateApi.d.ts +3 -0
- package/dist/src/cli/generate/generateComponent.d.ts +4 -0
- package/dist/src/cli/generate/generatePage.d.ts +4 -0
- package/dist/src/cli/generate/naming.d.ts +5 -0
- package/dist/src/cli/generate/navData.d.ts +10 -0
- package/dist/src/cli/generate/outcome.d.ts +17 -0
- package/dist/src/cli/generate/pageTemplates.d.ts +11 -0
- package/dist/src/cli/generate/routeWiring.d.ts +40 -0
- package/dist/src/cli/generate/staticNav.d.ts +5 -0
- package/dist/src/cli/heapDiff.d.ts +1 -0
- package/dist/src/cli/htmx/install.d.ts +6 -0
- package/dist/src/cli/inspectData.d.ts +12 -0
- package/dist/src/cli/inspectTui.d.ts +1 -0
- package/dist/src/cli/instanceStatus.d.ts +22 -0
- package/dist/src/cli/integrations/addPlugin.d.ts +8 -0
- package/dist/src/cli/integrations/catalog.d.ts +20 -0
- package/dist/src/cli/psTui.d.ts +1 -0
- package/dist/src/cli/scripts/add.d.ts +1 -0
- package/dist/src/cli/scripts/analyze.d.ts +1 -0
- package/dist/src/cli/scripts/api.d.ts +1 -0
- package/dist/src/cli/scripts/build.d.ts +1 -1
- package/dist/src/cli/scripts/db.d.ts +20 -0
- package/dist/src/cli/scripts/dev.d.ts +5 -1
- package/dist/src/cli/scripts/doctor.d.ts +1 -0
- package/dist/src/cli/scripts/env.d.ts +7 -0
- package/dist/src/cli/scripts/eslint.d.ts +37 -2
- package/dist/src/cli/scripts/eslintChunked.d.ts +37 -0
- package/dist/src/cli/scripts/generate.d.ts +1 -0
- package/dist/src/cli/scripts/htmx.d.ts +1 -0
- package/dist/src/cli/scripts/inspect.d.ts +1 -0
- package/dist/src/cli/scripts/islands.d.ts +1 -0
- package/dist/src/cli/scripts/lintProof.d.ts +42 -0
- package/dist/src/cli/scripts/logs.d.ts +1 -0
- package/dist/src/cli/scripts/ls.d.ts +1 -0
- package/dist/src/cli/scripts/mem.d.ts +1 -0
- package/dist/src/cli/scripts/mobile.d.ts +1 -0
- package/dist/src/cli/scripts/prettier.d.ts +2 -0
- package/dist/src/cli/scripts/ps.d.ts +1 -0
- package/dist/src/cli/scripts/remove.d.ts +1 -0
- package/dist/src/cli/scripts/routes.d.ts +1 -0
- package/dist/src/cli/scripts/start.d.ts +6 -1
- package/dist/src/cli/scripts/tunnelRelay.d.ts +9 -0
- package/dist/src/cli/scripts/workspace.d.ts +3 -1
- package/dist/src/cli/serverBundleExternals.d.ts +2 -0
- package/dist/src/cli/tuiPrimitives.d.ts +14 -0
- package/dist/src/cli/typeGraphCoherence.d.ts +32 -0
- package/dist/src/cli/utils.d.ts +3 -1
- package/dist/src/cli/workspaceTui.d.ts +2 -1
- package/dist/src/client/hydrators/react.d.ts +1 -1
- package/dist/src/client/hydrators/svelte.d.ts +1 -1
- package/dist/src/client/hydrators/vue.d.ts +1 -1
- package/dist/src/client/islandStore.d.ts +3 -3
- package/dist/src/client/preserveIslandMarkup.d.ts +4 -1
- package/dist/src/constants.d.ts +21 -0
- package/dist/src/core/angularServerModule.d.ts +1 -0
- package/dist/src/core/build.d.ts +11 -3
- package/dist/src/core/devRouteRegistrationCallsite.d.ts +1 -5
- package/dist/src/core/index.d.ts +1 -0
- package/dist/src/core/pageResponseCache.d.ts +23 -0
- package/dist/src/core/prepare.d.ts +192 -154
- package/dist/src/core/requestContext.d.ts +18 -0
- package/dist/src/dev/angular/fastHmrCompiler.d.ts +5 -3
- package/dist/src/dev/angular/hmrCompiler.d.ts +1 -1
- package/dist/src/dev/angular/resolveOwningComponents.d.ts +1 -1
- package/dist/src/dev/clientManager.d.ts +10 -1
- package/dist/src/dev/configResolver.d.ts +2 -0
- package/dist/src/dev/moduleMapper.d.ts +1 -1
- package/dist/src/dev/moduleServer.d.ts +2 -1
- package/dist/src/dev/pathUtils.d.ts +1 -1
- package/dist/src/dev/reactComponentClassifier.d.ts +1 -1
- package/dist/src/dev/rebuildTrigger.d.ts +4 -0
- package/dist/src/dev/requestInspector.d.ts +31 -0
- package/dist/src/dev/serverBootstrap.d.ts +1 -0
- package/dist/src/dev/serverEntryWatcher.d.ts +3 -3
- package/dist/src/dev/tunnel/client.d.ts +20 -0
- package/dist/src/dev/tunnel/protocol.d.ts +85 -0
- package/dist/src/dev/tunnel/relay.d.ts +28 -0
- package/dist/src/dev/webSocket.d.ts +1 -1
- package/dist/src/mobile/androidConformance.d.ts +42 -0
- package/dist/src/mobile/androidEmulatorController.d.ts +99 -0
- package/dist/src/mobile/androidNativeWatcher.d.ts +19 -0
- package/dist/src/mobile/androidRelease.d.ts +47 -0
- package/dist/src/mobile/androidWebView.d.ts +46 -0
- package/dist/src/mobile/artifactStore.d.ts +47 -0
- package/dist/src/mobile/associationFiles.d.ts +49 -0
- package/dist/src/mobile/browser.d.ts +2 -0
- package/dist/src/mobile/buildMetadata.d.ts +10 -0
- package/dist/src/mobile/buildPipeline.d.ts +8 -0
- package/dist/src/mobile/buildRelease.d.ts +24 -0
- package/dist/src/mobile/capacitorBundle.d.ts +28 -0
- package/dist/src/mobile/capacitorProject.d.ts +9 -0
- package/dist/src/mobile/client.d.ts +35 -0
- package/dist/src/mobile/compatibilityDispatcher.d.ts +26 -0
- package/dist/src/mobile/config.d.ts +16 -0
- package/dist/src/mobile/emulatorDoctor.d.ts +25 -0
- package/dist/src/mobile/emulatorInstaller.d.ts +41 -0
- package/dist/src/mobile/index.d.ts +19 -0
- package/dist/src/mobile/materializedBundle.d.ts +36 -0
- package/dist/src/mobile/nativeDeepLinks.d.ts +5 -0
- package/dist/src/mobile/pageProtocol.d.ts +89 -0
- package/dist/src/mobile/producerContext.d.ts +4 -0
- package/dist/src/mobile/producerContextState.d.ts +10 -0
- package/dist/src/mobile/releaseArtifact.d.ts +75 -0
- package/dist/src/mobile/releaseDoctor.d.ts +13 -0
- package/dist/src/mobile/routeMatcher.d.ts +3 -0
- package/dist/src/mobile/routeMetadataTransform.d.ts +13 -0
- package/dist/src/mobile/shellBootstrap.d.ts +1 -0
- package/dist/src/mobile/transport.d.ts +31 -0
- package/dist/src/plugins/devtoolsJson.d.ts +6 -47
- package/dist/src/plugins/hmr.d.ts +22 -96
- package/dist/src/plugins/imageOptimizer.d.ts +150 -62
- package/dist/src/plugins/networking.d.ts +2 -2
- package/dist/src/plugins/openApiPlugin.d.ts +4 -0
- package/dist/src/plugins/telemetryPlugin.d.ts +36 -0
- package/dist/src/react/browser.d.ts +0 -2
- package/dist/src/react/hooks/useMediaQuery.d.ts +1 -1
- package/dist/src/react/index.d.ts +0 -2
- package/dist/src/react/jsxDevRuntimeCompat.d.ts +1 -1
- package/dist/src/react/jsxRuntimeCompat.d.ts +7 -0
- package/dist/src/react/pageHandler.d.ts +8 -0
- package/dist/src/react/router/UniversalRouter.d.ts +43 -0
- package/dist/src/react/router/browser.d.ts +2 -0
- package/dist/src/react/router/index.d.ts +2 -0
- package/dist/src/svelte/pageHandler.d.ts +5 -0
- package/dist/src/svelte/router/hashMode.d.ts +1 -6
- package/dist/src/svelte/router/matchPath.d.ts +4 -24
- package/dist/src/svelte/router/page.svelte.d.ts +1 -10
- package/dist/src/svelte/router/prefetchCache.d.ts +2 -6
- package/dist/src/utils/cleanup.d.ts +1 -0
- package/dist/src/utils/defineConvention.d.ts +2 -2
- package/dist/src/utils/defineEnv.d.ts +4 -4
- package/dist/src/utils/formatBytes.d.ts +2 -0
- package/dist/src/utils/generatedDir.d.ts +1 -1
- package/dist/src/utils/iconVersion.d.ts +5 -0
- package/dist/src/utils/imageProcessing.d.ts +1 -1
- package/dist/src/utils/index.d.ts +2 -0
- package/dist/src/utils/inlinePageCss.d.ts +9 -0
- package/dist/src/utils/instanceRegistry.d.ts +13 -0
- package/dist/src/utils/isTestSourcePath.d.ts +1 -0
- package/dist/src/utils/jsonLd.d.ts +1 -1
- package/dist/src/utils/loadConfig.d.ts +11 -3
- package/dist/src/utils/logger.d.ts +2 -0
- package/dist/src/utils/portScan.d.ts +22 -0
- package/dist/src/utils/projectRoot.d.ts +17 -0
- package/dist/src/utils/resolveConvention.d.ts +1 -1
- package/dist/src/utils/resolveDevPort.d.ts +4 -1
- package/dist/src/utils/runtimeMode.d.ts +1 -1
- package/dist/src/utils/spaRouteCss.d.ts +10 -0
- package/dist/src/utils/spaRouteManifest.d.ts +8 -0
- package/dist/src/utils/stripStringsAndComments.d.ts +18 -0
- package/dist/src/utils/userAgentFunctions.d.ts +1 -1
- package/dist/src/utils/vueCompiler.d.ts +1 -0
- package/dist/src/vue/components/Image.d.ts +2 -2
- package/dist/src/vue/defineVuePage.d.ts +1 -11
- package/dist/src/vue/index.d.ts +3 -0
- package/dist/src/vue/pageHandler.d.ts +5 -0
- package/dist/src/vue/resolveGeneratedVueModulePath.d.ts +1 -0
- package/dist/src/vue/teleports.d.ts +2 -0
- package/dist/src/vue/useResource.d.ts +65 -0
- package/dist/svelte/browser.js +1 -19
- package/dist/svelte/browser.js.map +3 -3
- package/dist/svelte/components/Head.svelte +7 -1
- package/dist/svelte/index.js +1281 -543
- package/dist/svelte/index.js.map +27 -19
- package/dist/svelte/router/Link.svelte.d.ts +3 -3
- package/dist/svelte/router/Route.svelte.d.ts +5 -5
- package/dist/svelte/router/Router.svelte.d.ts +3 -3
- package/dist/svelte/router/hashMode.ts +6 -12
- package/dist/svelte/router/matchPath.ts +44 -61
- package/dist/svelte/router/page.d.ts +1 -10
- package/dist/svelte/router/page.js +6 -6
- package/dist/svelte/router/prefetchCache.ts +21 -23
- package/dist/svelte/router/viewTransitions.ts +22 -12
- package/dist/svelte/server.js +697 -565
- package/dist/svelte/server.js.map +14 -11
- package/dist/types/absoluteConfig.d.ts +22 -0
- package/dist/types/angular.d.ts +4 -1
- package/dist/types/authPanel.d.ts +62 -0
- package/dist/types/build.d.ts +116 -0
- package/dist/types/cli.d.ts +57 -0
- package/dist/types/config.d.ts +52 -0
- package/dist/types/eslintConfig.d.ts +68 -0
- package/dist/types/globals.d.ts +31 -10
- package/dist/types/image.d.ts +2 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/integrationsPanel.d.ts +29 -0
- package/dist/types/messages.d.ts +12 -0
- package/dist/types/packageJson.d.ts +74 -0
- package/dist/types/packageJsonPanel.d.ts +29 -0
- package/dist/types/prettier.d.ts +26 -0
- package/dist/types/tsconfig.d.ts +31 -0
- package/dist/types/vue.d.ts +13 -15
- package/dist/vue/browser.js +14 -36
- package/dist/vue/browser.js.map +5 -5
- package/dist/vue/components/Image.js +3 -20
- package/dist/vue/components/Image.js.map +3 -3
- package/dist/vue/components/index.js +3 -20
- package/dist/vue/components/index.js.map +3 -3
- package/dist/vue/index.js +1573 -620
- package/dist/vue/index.js.map +34 -22
- package/dist/vue/server.js +800 -520
- package/dist/vue/server.js.map +17 -11
- package/package.json +145 -68
- package/dist/src/react/UniversalRouter.d.ts +0 -12
|
@@ -2,8 +2,12 @@ import type { FSWatcher } from 'fs';
|
|
|
2
2
|
import { type DependencyGraph } from './dependencyGraph';
|
|
3
3
|
import { type ModuleVersions } from './moduleVersionTracker';
|
|
4
4
|
import type { HMRWebSocket } from '../../types/websocket';
|
|
5
|
-
import type { BuildConfig } from '../../types/build';
|
|
5
|
+
import type { BuildConfig, BuildPassError } from '../../types/build';
|
|
6
6
|
import { type ResolvedBuildPaths } from './configResolver';
|
|
7
|
+
type HMRUpdateMetadata = {
|
|
8
|
+
framework?: string;
|
|
9
|
+
path?: string;
|
|
10
|
+
};
|
|
7
11
|
export type HMRState = {
|
|
8
12
|
connectedClients: Set<HMRWebSocket>;
|
|
9
13
|
activeFrameworks: Set<string>;
|
|
@@ -25,9 +29,14 @@ export type HMRState = {
|
|
|
25
29
|
rebuildCount: number;
|
|
26
30
|
lastHmrPath?: string;
|
|
27
31
|
lastHmrFramework?: string;
|
|
32
|
+
lastBroadcastTimestamp: number;
|
|
33
|
+
hmrUpdates: Map<number, HMRUpdateMetadata>;
|
|
28
34
|
lastUserEditedFiles?: Set<string>;
|
|
29
35
|
initialBuildFailed?: boolean;
|
|
36
|
+
lastBuildErrors?: BuildPassError[];
|
|
37
|
+
svelteSurgicallyHandled?: Set<string>;
|
|
30
38
|
};
|
|
31
39
|
export declare const createHMRState: (config: BuildConfig) => HMRState;
|
|
32
40
|
export declare const incrementSourceFileVersion: (state: HMRState, filePath: string) => number;
|
|
33
41
|
export declare const incrementSourceFileVersions: (state: HMRState, filePaths: string[]) => void;
|
|
42
|
+
export {};
|
|
@@ -7,6 +7,8 @@ export declare const resolveBuildPaths: (config: BuildConfig) => {
|
|
|
7
7
|
emberDir: string | undefined;
|
|
8
8
|
htmlDir: string | undefined;
|
|
9
9
|
htmxDir: string | undefined;
|
|
10
|
+
mobileBundleDir: string | undefined;
|
|
11
|
+
mobileNativeDir: string | undefined;
|
|
10
12
|
publicDir: string | undefined;
|
|
11
13
|
reactDir: string | undefined;
|
|
12
14
|
stylesDir: string | undefined;
|
|
@@ -12,7 +12,7 @@ export declare const createModuleUpdates: (changedFiles: string[], framework: st
|
|
|
12
12
|
vueDir?: string;
|
|
13
13
|
angularDir?: string;
|
|
14
14
|
}) => {
|
|
15
|
-
componentType: "
|
|
15
|
+
componentType: "client" | "server" | undefined;
|
|
16
16
|
framework: string;
|
|
17
17
|
moduleKeys: string[];
|
|
18
18
|
modulePaths: Record<string, string>;
|
|
@@ -10,6 +10,7 @@ type ModuleServerConfig = {
|
|
|
10
10
|
};
|
|
11
11
|
stylePreprocessors?: StylePreprocessorConfig;
|
|
12
12
|
};
|
|
13
|
+
export declare const isReactFastRefreshSupported: () => boolean;
|
|
13
14
|
export declare const warnIfReactFastRefreshUnsupported: () => void;
|
|
14
15
|
export declare const warmCompilers: (frameworks: {
|
|
15
16
|
svelte?: boolean;
|
|
@@ -17,7 +18,7 @@ export declare const warmCompilers: (frameworks: {
|
|
|
17
18
|
}) => Promise<void>;
|
|
18
19
|
export declare const createModuleServer: (config: ModuleServerConfig) => (pathname: string) => Promise<Response | undefined>;
|
|
19
20
|
export declare const invalidateModule: (filePath: string) => void;
|
|
20
|
-
export declare const warmCache: (pathname: string) => void
|
|
21
|
+
export declare const warmCache: (pathname: string) => Promise<void>;
|
|
21
22
|
declare let globalModuleServer: ((pathname: string) => Promise<Response | undefined> | Response | undefined) | null;
|
|
22
23
|
export declare const SRC_URL_PREFIX = "/@src/";
|
|
23
24
|
export declare const setGlobalModuleServer: (handler: typeof globalModuleServer) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BuildConfig } from '../../types/build';
|
|
2
2
|
import type { ResolvedBuildPaths } from './configResolver';
|
|
3
|
-
export declare const detectFramework: (filePath: string, resolved?: ResolvedBuildPaths) => "react" | "svelte" | "vue" | "angular" | "ember" | "html" | "
|
|
3
|
+
export declare const detectFramework: (filePath: string, resolved?: ResolvedBuildPaths) => "react" | "svelte" | "vue" | "angular" | "ember" | "html" | "htmx" | "unknown" | "ignored" | "styles" | "assets";
|
|
4
4
|
export declare const getWatchPaths: (config: BuildConfig, resolved?: ResolvedBuildPaths) => string[];
|
|
5
5
|
/** A path is ignored when it is NOT inside any of the configured
|
|
6
6
|
* positive watch roots, OR when it falls inside a hard-denied
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export type ComponentType = 'client' | 'server';
|
|
2
|
-
export declare const classifyComponent: (filePath: string) => "
|
|
2
|
+
export declare const classifyComponent: (filePath: string) => "client" | "server";
|
|
@@ -5,6 +5,10 @@ export declare const queueFileChange: (state: HMRState, filePath: string, config
|
|
|
5
5
|
hmrState: HMRState;
|
|
6
6
|
}) => void) => Promise<void>;
|
|
7
7
|
export type AngularHmrTier = 0 | 1 | 2;
|
|
8
|
+
export declare const drainPendingQueue: (state: HMRState, config: BuildConfig, onRebuildComplete: (result: {
|
|
9
|
+
manifest: Record<string, string>;
|
|
10
|
+
hmrState: HMRState;
|
|
11
|
+
}) => void) => void;
|
|
8
12
|
export declare const triggerRebuild: (state: HMRState, config: BuildConfig, onRebuildComplete: (result: {
|
|
9
13
|
manifest: Record<string, string>;
|
|
10
14
|
hmrState: HMRState;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Elysia } from 'elysia';
|
|
2
|
+
export declare const requestInspector: Elysia<"", "local", {
|
|
3
|
+
decorator: {};
|
|
4
|
+
store: {};
|
|
5
|
+
derive: {};
|
|
6
|
+
}, {
|
|
7
|
+
typebox: {};
|
|
8
|
+
error: [];
|
|
9
|
+
}, {
|
|
10
|
+
schema: {};
|
|
11
|
+
schemas: {};
|
|
12
|
+
macro: {};
|
|
13
|
+
macroFn: {};
|
|
14
|
+
parser: {};
|
|
15
|
+
response: {};
|
|
16
|
+
}, {
|
|
17
|
+
__absolute: {
|
|
18
|
+
requests: {
|
|
19
|
+
get: {
|
|
20
|
+
body: unknown;
|
|
21
|
+
params: {};
|
|
22
|
+
query: unknown;
|
|
23
|
+
headers: unknown;
|
|
24
|
+
response: {
|
|
25
|
+
200: import("..").RequestRecord[];
|
|
26
|
+
};
|
|
27
|
+
error: never;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
}, import("elysia/types").DefaultEphemeral, import("elysia/types").DefaultEphemeral>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
declare global {
|
|
2
|
-
var __absoluteEntryWatcherStarted: boolean | undefined;
|
|
3
|
-
}
|
|
4
1
|
export declare const isAtomicWriteTemp: (filename: string) => boolean;
|
|
2
|
+
export declare const startFilePollingFallback: (path: string, onChange: () => void, interval?: number) => {
|
|
3
|
+
close: () => void;
|
|
4
|
+
};
|
|
5
5
|
export declare const startServerEntryWatcher: () => void;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
type TunnelClientOptions = {
|
|
2
|
+
/** Public relay base URL, e.g. `https://my-relay.ondigitalocean.app`. */
|
|
3
|
+
relayUrl: string;
|
|
4
|
+
/** Shared secret matching the relay's token. */
|
|
5
|
+
token: string;
|
|
6
|
+
/** Local app origin to replay requests against, e.g. `http://localhost:3000`. */
|
|
7
|
+
localOrigin: string;
|
|
8
|
+
/** Called once the relay confirms the public URL is live. */
|
|
9
|
+
onReady?: (publicUrl: string) => void;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Start the dev-side tunnel client. Dials the relay's control socket and
|
|
13
|
+
* replays each forwarded request against the local app, streaming responses
|
|
14
|
+
* back. Auto-reconnects so an HMR restart or a relay blip self-heals.
|
|
15
|
+
*/
|
|
16
|
+
export declare const startTunnelClient: (options: TunnelClientOptions) => {
|
|
17
|
+
publicUrl: string;
|
|
18
|
+
close(): void;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reverse-tunnel wire protocol (pure Bun, no third-party deps).
|
|
3
|
+
*
|
|
4
|
+
* A dev machine behind NAT cannot accept inbound connections, so the dev
|
|
5
|
+
* `client` dials OUT to a public `relay` over a single control WebSocket. The
|
|
6
|
+
* relay receives public HTTP requests and forwards each one down that socket;
|
|
7
|
+
* the client replays it against the local app and sends the response back.
|
|
8
|
+
*
|
|
9
|
+
* Stage 1 covers HTTP request/response (webhooks). WebSocket passthrough for
|
|
10
|
+
* telephony media streams is layered on later with additional message types.
|
|
11
|
+
*/
|
|
12
|
+
/** Control-channel path the client connects to on the relay. */
|
|
13
|
+
export declare const TUNNEL_CONTROL_PATH = "/__abs_tunnel/control";
|
|
14
|
+
/** Header the relay strips/sets; lets the app know its public origin. */
|
|
15
|
+
export declare const TUNNEL_FORWARDED_HOST_HEADER = "x-absolute-tunnel-host";
|
|
16
|
+
/** A forwarded HTTP request (relay → client). Body is base64 (binary-safe). */
|
|
17
|
+
export type TunnelRequestMessage = {
|
|
18
|
+
type: 'request';
|
|
19
|
+
id: string;
|
|
20
|
+
method: string;
|
|
21
|
+
/** Path + query, e.g. `/v1/sms/intake?x=1`. */
|
|
22
|
+
url: string;
|
|
23
|
+
headers: Record<string, string>;
|
|
24
|
+
bodyBase64?: string;
|
|
25
|
+
};
|
|
26
|
+
/** The client's response to a forwarded request (client → relay). */
|
|
27
|
+
export type TunnelResponseMessage = {
|
|
28
|
+
type: 'response';
|
|
29
|
+
id: string;
|
|
30
|
+
status: number;
|
|
31
|
+
headers: Record<string, string>;
|
|
32
|
+
bodyBase64?: string;
|
|
33
|
+
};
|
|
34
|
+
/** Client could not produce a response (local app down, fetch threw). */
|
|
35
|
+
export type TunnelErrorMessage = {
|
|
36
|
+
type: 'error';
|
|
37
|
+
id: string;
|
|
38
|
+
message: string;
|
|
39
|
+
};
|
|
40
|
+
/** Sent by the relay right after a successful auth handshake. */
|
|
41
|
+
export type TunnelReadyMessage = {
|
|
42
|
+
type: 'ready';
|
|
43
|
+
/** Public base URL the relay is reachable at, e.g. `https://x.app`. */
|
|
44
|
+
publicUrl: string;
|
|
45
|
+
};
|
|
46
|
+
/** A public WS connection opened; client should dial the local app (relay → client). */
|
|
47
|
+
export type TunnelWsOpenMessage = {
|
|
48
|
+
type: 'ws_open';
|
|
49
|
+
id: string;
|
|
50
|
+
/** Path + query of the upgraded request. */
|
|
51
|
+
url: string;
|
|
52
|
+
headers: Record<string, string>;
|
|
53
|
+
};
|
|
54
|
+
/** Result of the client opening the local WS (client → relay). */
|
|
55
|
+
export type TunnelWsOpenAckMessage = {
|
|
56
|
+
type: 'ws_open_ack';
|
|
57
|
+
id: string;
|
|
58
|
+
ok: boolean;
|
|
59
|
+
error?: string;
|
|
60
|
+
};
|
|
61
|
+
/** One WS frame, either direction. Binary frames are base64. */
|
|
62
|
+
export type TunnelWsDataMessage = {
|
|
63
|
+
type: 'ws_data';
|
|
64
|
+
id: string;
|
|
65
|
+
dataBase64: string;
|
|
66
|
+
binary: boolean;
|
|
67
|
+
};
|
|
68
|
+
/** A WS closed, either direction. */
|
|
69
|
+
export type TunnelWsCloseMessage = {
|
|
70
|
+
type: 'ws_close';
|
|
71
|
+
id: string;
|
|
72
|
+
code?: number;
|
|
73
|
+
reason?: string;
|
|
74
|
+
};
|
|
75
|
+
/** App-level keepalive (either direction). */
|
|
76
|
+
export type TunnelPingMessage = {
|
|
77
|
+
type: 'ping';
|
|
78
|
+
};
|
|
79
|
+
export type TunnelPongMessage = {
|
|
80
|
+
type: 'pong';
|
|
81
|
+
};
|
|
82
|
+
export type TunnelClientMessage = TunnelResponseMessage | TunnelErrorMessage | TunnelWsOpenAckMessage | TunnelWsDataMessage | TunnelWsCloseMessage | TunnelPongMessage | TunnelPingMessage;
|
|
83
|
+
export type TunnelServerMessage = TunnelRequestMessage | TunnelReadyMessage | TunnelWsOpenMessage | TunnelWsDataMessage | TunnelWsCloseMessage | TunnelPingMessage | TunnelPongMessage;
|
|
84
|
+
export declare const decodeTunnelMessage: (raw: string) => TunnelRequestMessage | TunnelResponseMessage | TunnelErrorMessage | TunnelReadyMessage | TunnelWsOpenMessage | TunnelWsOpenAckMessage | TunnelWsDataMessage | TunnelWsCloseMessage | TunnelPingMessage | TunnelPongMessage | null;
|
|
85
|
+
export declare const encodeTunnelMessage: (message: TunnelClientMessage | TunnelServerMessage) => string;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
type RelayOptions = {
|
|
2
|
+
/** Port the relay listens on (App Platform injects PORT). */
|
|
3
|
+
port?: number;
|
|
4
|
+
/** Shared secret the dev client must present (?token=). */
|
|
5
|
+
token: string;
|
|
6
|
+
/** Public base URL the relay is reachable at. Falls back to the request
|
|
7
|
+
* origin when omitted (App Platform: set APP_URL or pass explicitly). */
|
|
8
|
+
publicUrl?: string;
|
|
9
|
+
/** How long to wait for the dev client to answer a forwarded request. */
|
|
10
|
+
requestTimeoutMs?: number;
|
|
11
|
+
};
|
|
12
|
+
type ControlSocketData = {
|
|
13
|
+
control: true;
|
|
14
|
+
};
|
|
15
|
+
type PublicSocketData = {
|
|
16
|
+
control: false;
|
|
17
|
+
id: string;
|
|
18
|
+
url: string;
|
|
19
|
+
headers: Record<string, string>;
|
|
20
|
+
};
|
|
21
|
+
type SocketData = ControlSocketData | PublicSocketData;
|
|
22
|
+
/**
|
|
23
|
+
* Start the public reverse-tunnel relay. Holds one dev-client control socket
|
|
24
|
+
* and forwards every other inbound HTTP request — and public WebSocket — down
|
|
25
|
+
* it. Single-tenant: the shared `token` gates the control channel.
|
|
26
|
+
*/
|
|
27
|
+
export declare const startTunnelRelay: (options: RelayOptions) => Bun.Server<SocketData>;
|
|
28
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { HMRState } from './clientManager';
|
|
2
|
-
import {
|
|
2
|
+
import type { HMRWebSocket } from '../../types/websocket';
|
|
3
3
|
export declare const broadcastToClients: (state: HMRState, message: {
|
|
4
4
|
type: string;
|
|
5
5
|
[key: string]: unknown;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { HMRApplyKind, HMRApplyOutcome, HMRClientTarget } from '../../types/messages';
|
|
2
|
+
import type { AbsoluteAndroidWebViewSession } from './androidWebView';
|
|
3
|
+
export type AbsoluteAndroidHmrApply = {
|
|
4
|
+
clientMs: number;
|
|
5
|
+
duration: number;
|
|
6
|
+
kind?: HMRApplyKind;
|
|
7
|
+
outcome: HMRApplyOutcome;
|
|
8
|
+
serverMs: number;
|
|
9
|
+
target: HMRClientTarget;
|
|
10
|
+
updateId?: number;
|
|
11
|
+
};
|
|
12
|
+
export type AbsoluteAndroidRouteCheck = {
|
|
13
|
+
bodyText: string;
|
|
14
|
+
hmrConnected: boolean;
|
|
15
|
+
lastApply?: AbsoluteAndroidHmrApply;
|
|
16
|
+
nativeTarget: string;
|
|
17
|
+
overlayVisible: boolean;
|
|
18
|
+
route: string;
|
|
19
|
+
title: string;
|
|
20
|
+
url: string;
|
|
21
|
+
};
|
|
22
|
+
export declare const absoluteAndroidDevelopmentUrl: (port: number, route: string, https?: boolean) => string;
|
|
23
|
+
export declare const inspectAbsoluteAndroidRoute: (session: AbsoluteAndroidWebViewSession, options: {
|
|
24
|
+
https?: boolean;
|
|
25
|
+
port: number;
|
|
26
|
+
route: string;
|
|
27
|
+
timeoutMs?: number;
|
|
28
|
+
}) => Promise<{
|
|
29
|
+
route: string;
|
|
30
|
+
title: string;
|
|
31
|
+
url: string;
|
|
32
|
+
bodyText: string;
|
|
33
|
+
hmrConnected: boolean;
|
|
34
|
+
lastApply?: AbsoluteAndroidHmrApply | undefined;
|
|
35
|
+
nativeTarget: string;
|
|
36
|
+
overlayVisible: boolean;
|
|
37
|
+
}>;
|
|
38
|
+
export declare const waitForAbsoluteAndroidHmrApply: (session: AbsoluteAndroidWebViewSession, options: {
|
|
39
|
+
afterUpdateId?: number;
|
|
40
|
+
kind?: HMRApplyKind;
|
|
41
|
+
timeoutMs?: number;
|
|
42
|
+
}) => Promise<AbsoluteAndroidHmrApply>;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { type AbsoluteMobileHost } from './emulatorDoctor';
|
|
2
|
+
import type { NormalizedAbsoluteMobileConfig } from './config';
|
|
3
|
+
export type AbsoluteAndroidCommandOptions = {
|
|
4
|
+
cwd?: string;
|
|
5
|
+
env?: Record<string, string | undefined>;
|
|
6
|
+
signal?: AbortSignal;
|
|
7
|
+
};
|
|
8
|
+
export type AbsoluteAndroidCommandResult = {
|
|
9
|
+
exitCode: number;
|
|
10
|
+
stderr: string;
|
|
11
|
+
stdout: string;
|
|
12
|
+
};
|
|
13
|
+
export type AbsoluteAndroidDevState = 'booting' | 'building' | 'closed' | 'closing' | 'configuring' | 'connecting' | 'failed' | 'forwarding' | 'installing' | 'checking-native' | 'launching' | 'ready' | 'streaming-logs' | 'syncing';
|
|
14
|
+
export type AbsoluteAndroidNativeLogEntry = {
|
|
15
|
+
level: 'debug' | 'error' | 'fatal' | 'info' | 'verbose' | 'warn';
|
|
16
|
+
message: string;
|
|
17
|
+
tag: string;
|
|
18
|
+
};
|
|
19
|
+
type AbsoluteAndroidLogStream = {
|
|
20
|
+
close: () => Promise<void>;
|
|
21
|
+
};
|
|
22
|
+
export type AbsoluteAndroidDevProject = {
|
|
23
|
+
adb: string;
|
|
24
|
+
androidRoot: string;
|
|
25
|
+
cap: string;
|
|
26
|
+
config: NormalizedAbsoluteMobileConfig;
|
|
27
|
+
emulator: string;
|
|
28
|
+
host: AbsoluteMobileHost;
|
|
29
|
+
nativeDirectory: string;
|
|
30
|
+
projectRoot: string;
|
|
31
|
+
};
|
|
32
|
+
export type AbsoluteAndroidDevSession = {
|
|
33
|
+
close: () => Promise<void>;
|
|
34
|
+
nativeCacheHit: boolean;
|
|
35
|
+
rebuild: () => Promise<AbsoluteAndroidDevSession>;
|
|
36
|
+
relaunch: () => Promise<void>;
|
|
37
|
+
serial: string;
|
|
38
|
+
state: AbsoluteAndroidDevState;
|
|
39
|
+
startedEmulator: boolean;
|
|
40
|
+
timings: Record<string, number>;
|
|
41
|
+
};
|
|
42
|
+
export type AbsoluteAndroidDevPhaseTiming = {
|
|
43
|
+
durationMs: number;
|
|
44
|
+
phase: AbsoluteAndroidDevState;
|
|
45
|
+
totalMs: number;
|
|
46
|
+
};
|
|
47
|
+
export type PrepareAbsoluteAndroidDevOptions = {
|
|
48
|
+
createNativeProject: boolean;
|
|
49
|
+
projectRoot: string;
|
|
50
|
+
run?: (command: string[], options?: AbsoluteAndroidCommandOptions) => Promise<number>;
|
|
51
|
+
};
|
|
52
|
+
export type StartAbsoluteAndroidDevOptions = {
|
|
53
|
+
capture?: (command: string[], options?: AbsoluteAndroidCommandOptions) => AbsoluteAndroidCommandResult;
|
|
54
|
+
log?: (message: string) => void;
|
|
55
|
+
nativeLog?: (entry: AbsoluteAndroidNativeLogEntry) => void;
|
|
56
|
+
onPhaseTiming?: (timing: AbsoluteAndroidDevPhaseTiming) => void;
|
|
57
|
+
onStateChange?: (state: AbsoluteAndroidDevState) => void;
|
|
58
|
+
https?: boolean;
|
|
59
|
+
port: number;
|
|
60
|
+
project: AbsoluteAndroidDevProject;
|
|
61
|
+
run?: (command: string[], options?: AbsoluteAndroidCommandOptions) => Promise<number>;
|
|
62
|
+
signal?: AbortSignal;
|
|
63
|
+
sleep?: (milliseconds: number) => Promise<void>;
|
|
64
|
+
spawn?: (command: string[], options?: AbsoluteAndroidCommandOptions) => void;
|
|
65
|
+
startNativeLogs?: (command: string[], options: AbsoluteAndroidCommandOptions, onLine: (line: string) => void) => AbsoluteAndroidLogStream;
|
|
66
|
+
};
|
|
67
|
+
export declare const redactAbsoluteAndroidLog: (value: string) => string;
|
|
68
|
+
export declare const isIgnorableAbsoluteAndroidLog: (entry: AbsoluteAndroidNativeLogEntry) => boolean;
|
|
69
|
+
export declare const parseAbsoluteAndroidLogLine: (line: string) => AbsoluteAndroidNativeLogEntry | null;
|
|
70
|
+
export declare const fingerprintAbsoluteAndroidNativeProject: (project: AbsoluteAndroidDevProject) => Promise<string>;
|
|
71
|
+
export declare const repairAbsoluteAndroidDevSession: (projectRoot: string) => Promise<boolean>;
|
|
72
|
+
export declare const parseAdbDevices: (output: string) => string[];
|
|
73
|
+
export type AbsoluteAndroidGradleTask = 'assembleDebug' | 'assembleRelease' | 'bundleRelease';
|
|
74
|
+
export type BuildAbsoluteAndroidGradleOptions = {
|
|
75
|
+
capture?: NonNullable<StartAbsoluteAndroidDevOptions['capture']>;
|
|
76
|
+
env?: Record<string, string | undefined>;
|
|
77
|
+
project: Pick<AbsoluteAndroidDevProject, 'androidRoot' | 'config' | 'host' | 'nativeDirectory' | 'projectRoot'>;
|
|
78
|
+
run?: NonNullable<StartAbsoluteAndroidDevOptions['run']>;
|
|
79
|
+
signal?: AbortSignal;
|
|
80
|
+
task: AbsoluteAndroidGradleTask;
|
|
81
|
+
};
|
|
82
|
+
export declare const buildAbsoluteAndroidGradleArtifact: (options: BuildAbsoluteAndroidGradleOptions) => Promise<{
|
|
83
|
+
artifactPath: string;
|
|
84
|
+
installPath: string;
|
|
85
|
+
}>;
|
|
86
|
+
export declare const prepareAbsoluteAndroidDevProject: (config: NormalizedAbsoluteMobileConfig, options: PrepareAbsoluteAndroidDevOptions) => Promise<AbsoluteAndroidDevProject>;
|
|
87
|
+
export declare const startAbsoluteAndroidDevSession: (options: StartAbsoluteAndroidDevOptions) => Promise<{
|
|
88
|
+
close: () => Promise<void>;
|
|
89
|
+
nativeCacheHit: boolean;
|
|
90
|
+
serial: string;
|
|
91
|
+
startedEmulator: boolean;
|
|
92
|
+
timings: {
|
|
93
|
+
[x: string]: number;
|
|
94
|
+
};
|
|
95
|
+
rebuild: () => Promise</*elided*/ any>;
|
|
96
|
+
relaunch: () => Promise<void>;
|
|
97
|
+
readonly state: AbsoluteAndroidDevState;
|
|
98
|
+
}>;
|
|
99
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type AbsoluteAndroidDevProject } from './androidEmulatorController';
|
|
2
|
+
export type AbsoluteAndroidNativeChange = {
|
|
3
|
+
afterFingerprint: string;
|
|
4
|
+
beforeFingerprint: string;
|
|
5
|
+
paths: string[];
|
|
6
|
+
rootInputChanged: boolean;
|
|
7
|
+
};
|
|
8
|
+
export type AbsoluteAndroidNativeWatcher = {
|
|
9
|
+
close: () => void;
|
|
10
|
+
};
|
|
11
|
+
export type AbsoluteAndroidNativeWatcherOptions = {
|
|
12
|
+
debounceMs?: number;
|
|
13
|
+
onChange: (change: AbsoluteAndroidNativeChange) => Promise<void>;
|
|
14
|
+
onError?: (error: unknown) => void;
|
|
15
|
+
project: AbsoluteAndroidDevProject;
|
|
16
|
+
signal?: AbortSignal;
|
|
17
|
+
};
|
|
18
|
+
export declare const createAbsoluteAndroidNativeWatcher: (options: AbsoluteAndroidNativeWatcherOptions) => Promise<AbsoluteAndroidNativeWatcher>;
|
|
19
|
+
export declare const isAbsoluteAndroidNativeRootInput: (path: string) => boolean;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type AbsoluteMobileHost } from './emulatorDoctor';
|
|
2
|
+
import { type AbsoluteAndroidCommandOptions, type AbsoluteAndroidCommandResult } from './androidEmulatorController';
|
|
3
|
+
import type { NormalizedAbsoluteMobileConfig } from './config';
|
|
4
|
+
export declare const ABSOLUTE_ANDROID_RELEASE_FORMAT: 1;
|
|
5
|
+
export type AbsoluteAndroidReleaseMetadata = {
|
|
6
|
+
appBuild: string;
|
|
7
|
+
appId: string;
|
|
8
|
+
artifact: string;
|
|
9
|
+
bytes: number;
|
|
10
|
+
engine: 'capacitor';
|
|
11
|
+
format: typeof ABSOLUTE_ANDROID_RELEASE_FORMAT;
|
|
12
|
+
platform: 'android';
|
|
13
|
+
releaseId: string;
|
|
14
|
+
runtime: string;
|
|
15
|
+
sha256: string;
|
|
16
|
+
signed: boolean;
|
|
17
|
+
type: 'aab';
|
|
18
|
+
};
|
|
19
|
+
export type BuildAbsoluteAndroidReleaseOptions = {
|
|
20
|
+
allowUnsigned?: boolean;
|
|
21
|
+
androidRoot?: string;
|
|
22
|
+
capture?: (command: string[], options?: AbsoluteAndroidCommandOptions) => AbsoluteAndroidCommandResult;
|
|
23
|
+
config: NormalizedAbsoluteMobileConfig;
|
|
24
|
+
host?: AbsoluteMobileHost;
|
|
25
|
+
jarsigner?: string | null;
|
|
26
|
+
outputDirectory?: string;
|
|
27
|
+
projectRoot: string;
|
|
28
|
+
run?: (command: string[], options?: AbsoluteAndroidCommandOptions) => Promise<number>;
|
|
29
|
+
};
|
|
30
|
+
export declare const buildAbsoluteAndroidRelease: (options: BuildAbsoluteAndroidReleaseOptions) => Promise<{
|
|
31
|
+
artifactPath: string;
|
|
32
|
+
metadata: {
|
|
33
|
+
artifact: string;
|
|
34
|
+
sha256: string;
|
|
35
|
+
type: "aab";
|
|
36
|
+
format: typeof ABSOLUTE_ANDROID_RELEASE_FORMAT;
|
|
37
|
+
bytes: number;
|
|
38
|
+
runtime: string;
|
|
39
|
+
releaseId: string;
|
|
40
|
+
appBuild: string;
|
|
41
|
+
appId: string;
|
|
42
|
+
platform: "android";
|
|
43
|
+
engine: "capacitor";
|
|
44
|
+
signed: boolean;
|
|
45
|
+
};
|
|
46
|
+
releaseRoot: string;
|
|
47
|
+
}>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
type AndroidCommandResult = {
|
|
2
|
+
exitCode: number;
|
|
3
|
+
stderr: string;
|
|
4
|
+
stdout: string;
|
|
5
|
+
};
|
|
6
|
+
type AndroidCommandCapture = (command: string[]) => AndroidCommandResult;
|
|
7
|
+
type CdpTarget = {
|
|
8
|
+
description?: string;
|
|
9
|
+
title?: string;
|
|
10
|
+
type?: string;
|
|
11
|
+
url?: string;
|
|
12
|
+
webSocketDebuggerUrl?: string;
|
|
13
|
+
};
|
|
14
|
+
export type AbsoluteAndroidWebViewDiagnostic = {
|
|
15
|
+
level: 'error' | 'info' | 'warning';
|
|
16
|
+
message: string;
|
|
17
|
+
source: 'console' | 'exception' | 'log';
|
|
18
|
+
};
|
|
19
|
+
export type AbsoluteAndroidWebViewSession = {
|
|
20
|
+
close: () => Promise<void>;
|
|
21
|
+
diagnostics: readonly AbsoluteAndroidWebViewDiagnostic[];
|
|
22
|
+
evaluate: <T>(expression: string) => Promise<T>;
|
|
23
|
+
hostPort: number;
|
|
24
|
+
navigate: (url: string) => Promise<void>;
|
|
25
|
+
screenshot: (path: string) => Promise<string>;
|
|
26
|
+
serial: string;
|
|
27
|
+
socket: string;
|
|
28
|
+
target: CdpTarget;
|
|
29
|
+
waitFor: <T>(expression: string, options?: {
|
|
30
|
+
timeoutMs?: number;
|
|
31
|
+
}) => Promise<T>;
|
|
32
|
+
};
|
|
33
|
+
export type AttachAbsoluteAndroidWebViewOptions = {
|
|
34
|
+
adb: string;
|
|
35
|
+
appId: string;
|
|
36
|
+
capture?: AndroidCommandCapture;
|
|
37
|
+
fetch?: typeof fetch;
|
|
38
|
+
serial: string;
|
|
39
|
+
timeoutMs?: number;
|
|
40
|
+
};
|
|
41
|
+
export declare const parseAndroidWebViewDevtoolsSockets: (output: string, options: {
|
|
42
|
+
appId: string;
|
|
43
|
+
pids: readonly string[];
|
|
44
|
+
}) => string[];
|
|
45
|
+
export declare const attachAbsoluteAndroidWebView: (options: AttachAbsoluteAndroidWebViewOptions) => Promise<AbsoluteAndroidWebViewSession>;
|
|
46
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type AbsoluteMobileCompatibilityArtifact } from './releaseArtifact';
|
|
2
|
+
export type AbsoluteMobileStoredCompatibilityRelease = {
|
|
3
|
+
artifact: AbsoluteMobileCompatibilityArtifact;
|
|
4
|
+
producer: Blob;
|
|
5
|
+
};
|
|
6
|
+
export type AbsoluteMobileCompatibilityArtifactStore = {
|
|
7
|
+
delete: (appId: string, releaseId: string) => Promise<void>;
|
|
8
|
+
list: (appId: string) => Promise<AbsoluteMobileCompatibilityArtifact[]>;
|
|
9
|
+
read: (appId: string, releaseId: string) => Promise<AbsoluteMobileStoredCompatibilityRelease | null>;
|
|
10
|
+
write: (release: AbsoluteMobileStoredCompatibilityRelease) => Promise<void>;
|
|
11
|
+
};
|
|
12
|
+
export type AbsoluteMobileFileArtifactStoreOptions = {
|
|
13
|
+
maxProducerBytes?: number;
|
|
14
|
+
root: string;
|
|
15
|
+
};
|
|
16
|
+
export type AbsoluteMobileBlobStore = {
|
|
17
|
+
delete: (key: string) => Promise<void>;
|
|
18
|
+
get: (key: string) => Promise<Uint8Array | null>;
|
|
19
|
+
list: (options: {
|
|
20
|
+
cursor?: string;
|
|
21
|
+
prefix: string;
|
|
22
|
+
}) => Promise<{
|
|
23
|
+
cursor?: string;
|
|
24
|
+
objects: Array<{
|
|
25
|
+
key: string;
|
|
26
|
+
}>;
|
|
27
|
+
truncated: boolean;
|
|
28
|
+
}>;
|
|
29
|
+
put: (key: string, body: ReadableStream<Uint8Array> | Uint8Array | string, options?: {
|
|
30
|
+
contentType?: string;
|
|
31
|
+
maxBytes?: number;
|
|
32
|
+
metadata?: Record<string, string>;
|
|
33
|
+
}) => Promise<unknown>;
|
|
34
|
+
};
|
|
35
|
+
export type AbsoluteMobileBlobArtifactStoreOptions = {
|
|
36
|
+
maxProducerBytes?: number;
|
|
37
|
+
prefix?: string;
|
|
38
|
+
store: AbsoluteMobileBlobStore;
|
|
39
|
+
};
|
|
40
|
+
export type AbsoluteMobileCarryForwardInput = {
|
|
41
|
+
current: AbsoluteMobileStoredCompatibilityRelease;
|
|
42
|
+
store: AbsoluteMobileCompatibilityArtifactStore;
|
|
43
|
+
};
|
|
44
|
+
export declare const carryForwardAbsoluteMobileCompatibilityReleases: (input: AbsoluteMobileCarryForwardInput) => Promise<AbsoluteMobileStoredCompatibilityRelease[]>;
|
|
45
|
+
export declare const createAbsoluteMobileBlobArtifactStore: (options: AbsoluteMobileBlobArtifactStoreOptions) => AbsoluteMobileCompatibilityArtifactStore;
|
|
46
|
+
export declare const createAbsoluteMobileFileArtifactStore: (options: AbsoluteMobileFileArtifactStoreOptions) => AbsoluteMobileCompatibilityArtifactStore;
|
|
47
|
+
export declare const verifyAbsoluteMobileCompatibilityProducer: (release: AbsoluteMobileStoredCompatibilityRelease, maxProducerBytes?: number) => Promise<AbsoluteMobileStoredCompatibilityRelease>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Elysia } from 'elysia';
|
|
2
|
+
import type { MobileConfig } from '../../types/build';
|
|
3
|
+
import { type NormalizedAbsoluteMobileConfig } from './config';
|
|
4
|
+
export type AbsoluteAssociationRequest = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
|
|
5
|
+
export declare const ANDROID_ASSOCIATION_PATH = "/.well-known/assetlinks.json";
|
|
6
|
+
export declare const APPLE_ASSOCIATION_PATH = "/.well-known/apple-app-site-association";
|
|
7
|
+
export type AbsoluteMobileAssociationDocuments = {
|
|
8
|
+
android?: readonly [
|
|
9
|
+
{
|
|
10
|
+
relation: readonly ['delegate_permission/common.handle_all_urls'];
|
|
11
|
+
target: {
|
|
12
|
+
namespace: 'android_app';
|
|
13
|
+
package_name: string;
|
|
14
|
+
sha256_cert_fingerprints: string[];
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
];
|
|
18
|
+
apple?: {
|
|
19
|
+
applinks: {
|
|
20
|
+
details: readonly [
|
|
21
|
+
{
|
|
22
|
+
appIDs: readonly [string];
|
|
23
|
+
components: readonly [{
|
|
24
|
+
'/': '/*';
|
|
25
|
+
}];
|
|
26
|
+
}
|
|
27
|
+
];
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
export declare const createAbsoluteMobileAssociationDocuments: (config: NormalizedAbsoluteMobileConfig, options?: {
|
|
32
|
+
requireAll?: boolean;
|
|
33
|
+
}) => AbsoluteMobileAssociationDocuments;
|
|
34
|
+
export declare const createAbsoluteMobileAssociationPlugin: (mobile: MobileConfig | undefined, projectRoot: string, options?: {
|
|
35
|
+
requireAll?: boolean;
|
|
36
|
+
}) => Elysia<"", "local", import("elysia/types").DefaultSingleton, {
|
|
37
|
+
typebox: {};
|
|
38
|
+
error: [];
|
|
39
|
+
}, import("elysia/types").DefaultMetadata, {}, import("elysia/types").DefaultEphemeral, import("elysia/types").DefaultEphemeral>;
|
|
40
|
+
export declare const materializeAbsoluteMobileAssociationFiles: (config: NormalizedAbsoluteMobileConfig, outputDirectory: string) => Promise<{
|
|
41
|
+
root: string;
|
|
42
|
+
written: string[];
|
|
43
|
+
}>;
|
|
44
|
+
export declare const verifyAbsoluteMobileAssociationFiles: (config: NormalizedAbsoluteMobileConfig, request?: AbsoluteAssociationRequest) => Promise<{
|
|
45
|
+
results: {
|
|
46
|
+
platform: string;
|
|
47
|
+
url: string;
|
|
48
|
+
}[];
|
|
49
|
+
}>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AbsoluteMobilePageFramework } from './pageProtocol';
|
|
2
|
+
export declare const ABSOLUTE_MOBILE_ROUTE_DETAIL: "x-absolute-mobile";
|
|
3
|
+
export type AbsoluteMobileBuildPageMetadata = {
|
|
4
|
+
bundleKey: string;
|
|
5
|
+
contract: string;
|
|
6
|
+
framework: AbsoluteMobilePageFramework;
|
|
7
|
+
pageId: string;
|
|
8
|
+
propsSchemaHash: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const parseAbsoluteMobileBuildPageMetadata: (value: unknown) => AbsoluteMobileBuildPageMetadata | undefined;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { MobileConfig } from '../../types/build';
|
|
2
|
+
export type FinalizeAbsoluteMobileBuildOptions = {
|
|
3
|
+
buildDirectory: string;
|
|
4
|
+
mobile: MobileConfig;
|
|
5
|
+
producerPath: string;
|
|
6
|
+
projectRoot: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const finalizeAbsoluteMobileCompatibilityBuild: (options: FinalizeAbsoluteMobileBuildOptions) => Promise<import("./releaseArtifact").AbsoluteMobileCompatibilityArtifact>;
|