@absolutejs/absolute 0.20.0-beta.7 → 0.20.0-beta.70
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/README.md +205 -0
- package/dist/angular/browser.js +392 -405
- package/dist/angular/browser.js.map +3 -3
- package/dist/angular/components/core/streamingSlotRegistrar.js +7 -7
- package/dist/angular/components/core/streamingSlotRegistry.js +4 -4
- package/dist/angular/index.js +379 -321
- package/dist/angular/index.js.map +8 -7
- package/dist/angular/server.js +133 -61
- package/dist/angular/server.js.map +8 -7
- package/dist/build.js +2629 -1416
- package/dist/build.js.map +26 -19
- package/dist/cli/config/client.js +12 -12
- package/dist/cli/config/server.js +1140 -1091
- package/dist/cli/index.js +41579 -15184
- package/dist/client/chunks/angularPatch-arh4sr68.js +157 -0
- package/dist/client/chunks/angularPatch-arh4sr68.js.map +10 -0
- package/dist/client/chunks/index-5py90ctf.js +87 -0
- package/dist/client/chunks/index-5py90ctf.js.map +10 -0
- package/dist/client/chunks/index-m35nbkdp.js +374 -0
- package/dist/client/chunks/index-m35nbkdp.js.map +12 -0
- package/dist/client/chunks/index-qxjc7kc5.js +12 -0
- package/dist/client/chunks/index-qxjc7kc5.js.map +9 -0
- package/dist/client/chunks/islands-xj2n8nwf.js +281 -0
- package/dist/client/chunks/islands-xj2n8nwf.js.map +14 -0
- package/dist/client/chunks/react-pdg4325x.js +65 -0
- package/dist/client/chunks/react-pdg4325x.js.map +10 -0
- package/dist/client/chunks/svelte-s0c964kb.js +19 -0
- package/dist/client/chunks/svelte-s0c964kb.js.map +10 -0
- package/dist/client/chunks/vue-rdskrnyg.js +24 -0
- package/dist/client/chunks/vue-rdskrnyg.js.map +10 -0
- package/dist/client/index.js +73 -841
- package/dist/client/index.js.map +7 -20
- package/dist/core/streamingSlotRegistrar.js +15 -13
- package/dist/core/streamingSlotRegistrar.js.map +2 -2
- package/dist/core/streamingSlotRegistry.js +11 -9
- package/dist/core/streamingSlotRegistry.js.map +2 -2
- package/dist/dev/client/hmrClient.ts +35 -3
- package/dist/dev/client/hmrTiming.ts +6 -0
- package/dist/dev/client/syncDevtools.ts +237 -0
- package/dist/dev/serverBootstrap.js +572 -6
- package/dist/image-client/imageClient.js +7 -7
- package/dist/index.js +4157 -2440
- package/dist/index.js.map +43 -32
- package/dist/islands/browser.js +11 -25
- package/dist/islands/browser.js.map +2 -2
- package/dist/islands/index.js +55 -52
- package/dist/islands/index.js.map +5 -4
- package/dist/mobile/browser.js +429 -20
- package/dist/mobile/browser.js.map +8 -5
- package/dist/mobile/index.js +37077 -4967
- package/dist/mobile/index.js.map +100 -18
- package/dist/mobile/mobilePreviewClient.ts +246 -0
- package/dist/mobile/remoteMacAgentEntry.js +1899 -14
- package/dist/mobile/shellAuth.js +20 -9
- package/dist/mobile/shellBootstrap.js +6801 -120
- package/dist/mobile/shellExpoAuth.js +179 -0
- package/dist/mobile/shellExpoDevices.js +93 -0
- package/dist/mobile/shellExpoSync.js +120 -0
- package/dist/mobile/shellSync.js +152 -3
- package/dist/mobile/shellUpdate.js +559 -0
- package/dist/mobile/uiPrimitives.js +280 -0
- package/dist/react/browser.js +17 -59
- package/dist/react/browser.js.map +2 -2
- package/dist/react/components/browser/index.js +107 -107
- package/dist/react/components/index.js +118 -116
- package/dist/react/components/index.js.map +2 -2
- package/dist/react/hooks/index.js +11 -25
- package/dist/react/hooks/index.js.map +2 -2
- package/dist/react/index.js +110 -67
- package/dist/react/index.js.map +8 -7
- package/dist/react/jsxDevRuntimeCompat.js +11 -9
- package/dist/react/jsxDevRuntimeCompat.js.map +2 -2
- package/dist/react/jsxRuntimeCompat.js +11 -9
- package/dist/react/jsxRuntimeCompat.js.map +2 -2
- package/dist/react/router/browser.js +9 -7
- package/dist/react/router/browser.js.map +2 -2
- package/dist/react/router/index.js +9 -7
- package/dist/react/router/index.js.map +2 -2
- package/dist/react/server.js +67 -11
- package/dist/react/server.js.map +7 -6
- package/dist/src/build/chainInlineSourcemaps.d.ts +2 -0
- package/dist/src/build/pwa.d.ts +16 -0
- package/dist/src/build/vueCompileCache.d.ts +43 -0
- package/dist/src/cli/config/server.d.ts +1 -1
- package/dist/src/cli/instanceStatus.d.ts +1 -0
- package/dist/src/cli/scripts/dev.d.ts +2 -0
- package/dist/src/client/browserTranslation.d.ts +19 -0
- package/dist/src/client/index.d.ts +1 -0
- package/dist/src/core/browserTranslation.d.ts +6 -0
- package/dist/src/core/devBuild.d.ts +1 -0
- package/dist/src/core/prepare.d.ts +376 -0
- package/dist/src/dev/bootLifecycle.d.ts +11 -0
- package/dist/src/dev/clientManager.d.ts +1 -0
- package/dist/src/dev/devCert.d.ts +6 -4
- package/dist/src/dev/earlyListener.d.ts +41 -0
- package/dist/src/dev/serverEntryCopies.d.ts +3 -0
- package/dist/src/ember/browser.d.ts +0 -16
- package/dist/src/mobile/adaptiveShell.d.ts +27 -0
- package/dist/src/mobile/androidEmulatorController.d.ts +8 -1
- package/dist/src/mobile/androidRelease.d.ts +9 -2
- package/dist/src/mobile/androidTestReport.d.ts +14 -0
- package/dist/src/mobile/androidUpgradeConformance.d.ts +47 -0
- package/dist/src/mobile/androidWebView.d.ts +1 -0
- package/dist/src/mobile/browser.d.ts +2 -0
- package/dist/src/mobile/capacitorBundle.d.ts +33 -1
- package/dist/src/mobile/ciWorkflow.d.ts +26 -0
- package/dist/src/mobile/config.d.ts +22 -1
- package/dist/src/mobile/devDeviceAdapter.d.ts +3 -0
- package/dist/src/mobile/deviceCapabilities.d.ts +49 -0
- package/dist/src/mobile/expoBridge.d.ts +91 -0
- package/dist/src/mobile/expoCodeSigning.d.ts +14 -0
- package/dist/src/mobile/expoDevController.d.ts +64 -0
- package/dist/src/mobile/expoNativeObservability.d.ts +3 -0
- package/dist/src/mobile/expoProject.d.ts +16 -0
- package/dist/src/mobile/expoUpdate.d.ts +27 -0
- package/dist/src/mobile/index.d.ts +29 -0
- package/dist/src/mobile/iosDeviceAcceptance.d.ts +32 -0
- package/dist/src/mobile/iosPhysicalDeviceTransport.d.ts +16 -0
- package/dist/src/mobile/iosRelease.d.ts +63 -3
- package/dist/src/mobile/iosSimulatorController.d.ts +20 -2
- package/dist/src/mobile/iosTestReport.d.ts +24 -0
- package/dist/src/mobile/mobileBundleInspection.d.ts +63 -0
- package/dist/src/mobile/mobileInspect.d.ts +156 -0
- package/dist/src/mobile/mobilePreview.d.ts +174 -0
- package/dist/src/mobile/mobilePreviewClient.d.ts +1 -0
- package/dist/src/mobile/nativeAuth.d.ts +6 -0
- package/dist/src/mobile/nativeBackgroundSync.d.ts +4 -0
- package/dist/src/mobile/nativeDeviceCapabilities.d.ts +6 -0
- package/dist/src/mobile/nativeObservability.d.ts +4 -0
- package/dist/src/mobile/nativeRoute.d.ts +13 -0
- package/dist/src/mobile/nativeTestReport.d.ts +91 -0
- package/dist/src/mobile/nativeUpdates.d.ts +4 -0
- package/dist/src/mobile/navigationLifecycle.d.ts +36 -0
- package/dist/src/mobile/navigationState.d.ts +53 -0
- package/dist/src/mobile/pageProtocol.d.ts +2 -0
- package/dist/src/mobile/releaseDoctor.d.ts +23 -1
- package/dist/src/mobile/remoteMacProtocol.d.ts +134 -1
- package/dist/src/mobile/remoteMacWire.d.ts +1 -1
- package/dist/src/mobile/shellAuth.d.ts +5 -1
- package/dist/src/mobile/shellBootstrap.d.ts +12 -2
- package/dist/src/mobile/shellExpoAuth.d.ts +12 -0
- package/dist/src/mobile/shellExpoDevices.d.ts +3 -0
- package/dist/src/mobile/shellExpoSync.d.ts +18 -0
- package/dist/src/mobile/shellHttp.d.ts +2 -0
- package/dist/src/mobile/shellNativeObservability.d.ts +21 -0
- package/dist/src/mobile/shellObservability.d.ts +11 -0
- package/dist/src/mobile/shellPush.d.ts +11 -0
- package/dist/src/mobile/shellSync.d.ts +37 -4
- package/dist/src/mobile/shellUpdate.d.ts +2 -0
- package/dist/src/mobile/syncRemediation.d.ts +10 -0
- package/dist/src/mobile/syncSchema.d.ts +9 -0
- package/dist/src/mobile/transport.d.ts +21 -0
- package/dist/src/mobile/uiPrimitives.d.ts +37 -0
- package/dist/src/mobile/updateClient.d.ts +44 -0
- package/dist/src/mobile/updateProtocol.d.ts +51 -0
- package/dist/src/mobile/updatePublisher.d.ts +66 -0
- package/dist/src/mobile/updateRollout.d.ts +16 -0
- package/dist/src/mobile/updateRuntime.d.ts +37 -0
- package/dist/src/mobile/updateSigning.d.ts +20 -0
- package/dist/src/plugins/hmr.d.ts +3 -0
- package/dist/src/plugins/imageOptimizer.d.ts +1 -1
- package/dist/src/react/hooks/useMediaQuery.d.ts +1 -1
- package/dist/src/utils/imageProcessing.d.ts +3 -0
- package/dist/src/utils/loadConfig.d.ts +1 -0
- package/dist/src/utils/logger.d.ts +1 -0
- package/dist/src/utils/startupBanner.d.ts +1 -0
- package/dist/src/utils/startupTimings.d.ts +4 -0
- package/dist/src/utils/userAgentFunctions.d.ts +1 -1
- package/dist/src/vue/browser.d.ts +1 -0
- package/dist/src/vue/browserTranslation.d.ts +5 -0
- package/dist/src/vue/index.d.ts +1 -0
- package/dist/svelte/browser.js +12 -26
- package/dist/svelte/browser.js.map +2 -2
- package/dist/svelte/index.js +104 -61
- package/dist/svelte/index.js.map +8 -7
- package/dist/svelte/server.js +84 -28
- package/dist/svelte/server.js.map +7 -6
- package/dist/types/build.d.ts +83 -3
- package/dist/types/cli.d.ts +1 -0
- package/dist/types/globals.d.ts +15 -0
- package/dist/types/messages.d.ts +1 -1
- package/dist/vue/browser.js +116 -56
- package/dist/vue/browser.js.map +5 -3
- package/dist/vue/components/Image.js +9 -7
- package/dist/vue/components/Image.js.map +2 -2
- package/dist/vue/components/index.js +11 -9
- package/dist/vue/components/index.js.map +2 -2
- package/dist/vue/index.js +211 -94
- package/dist/vue/index.js.map +10 -7
- package/dist/vue/server.js +69 -13
- package/dist/vue/server.js.map +7 -6
- package/package.json +46 -15
|
@@ -10,5 +10,7 @@ export declare const inlineLineMapComment: (sourcePath: string, sourceContent: s
|
|
|
10
10
|
export declare const remapGeneratedLines: (mappings: string, lineRemap: number[]) => string;
|
|
11
11
|
export declare const chainSourcemap: (outer: SourceMap, fetchInner: (sourcePath: string) => SourceMap | null) => SourceMap;
|
|
12
12
|
export declare const chainBundleInlineSourcemap: (bundleFilePath: string) => void;
|
|
13
|
+
/** Chain every server bundle of a dev build (each bundle is independent). */
|
|
14
|
+
export declare const chainBundleInlineSourcemaps: (bundlePaths: string[]) => Promise<void>;
|
|
13
15
|
export declare const chainExternalSourcemap: (mapFilePath: string) => void;
|
|
14
16
|
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PwaConfig } from '../../types/build';
|
|
2
|
+
export declare const injectPwaBootstrapHtml: (html: string) => string;
|
|
3
|
+
export type AbsolutePwaBuildArtifacts = {
|
|
4
|
+
bootstrapBanner: string;
|
|
5
|
+
bootstrapPublicPath: string;
|
|
6
|
+
manifestPath?: string;
|
|
7
|
+
serviceWorkerPath: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const materializeAbsolutePwa: ({ buildPath, config, generatedRoot, projectRoot, write }: {
|
|
10
|
+
buildPath: string;
|
|
11
|
+
config: PwaConfig;
|
|
12
|
+
generatedRoot: string;
|
|
13
|
+
projectRoot: string;
|
|
14
|
+
/** Incremental HMR builds reuse the stable artifacts from the full build. */
|
|
15
|
+
write?: boolean;
|
|
16
|
+
}) => Promise<AbsolutePwaBuildArtifacts>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ParsedVueSpaRoute } from './parseVueSpaRoutes';
|
|
2
|
+
export type VueCompileCacheResult = {
|
|
3
|
+
clientPath: string;
|
|
4
|
+
serverPath: string;
|
|
5
|
+
cssPaths: string[];
|
|
6
|
+
cssCodes: string[];
|
|
7
|
+
tsHelperPaths: string[];
|
|
8
|
+
hmrId: string;
|
|
9
|
+
spaRoutes?: ParsedVueSpaRoute[];
|
|
10
|
+
};
|
|
11
|
+
export type VueCompileCacheEntry = {
|
|
12
|
+
key: string;
|
|
13
|
+
clientCode: string;
|
|
14
|
+
serverCode: string;
|
|
15
|
+
result: VueCompileCacheResult;
|
|
16
|
+
/** Absolute path → content hash of every file `compileScript` read
|
|
17
|
+
* while resolving imported types. Re-verified on read. */
|
|
18
|
+
typeDeps: Record<string, string>;
|
|
19
|
+
};
|
|
20
|
+
export declare const vueCompileCacheEnabled: () => boolean;
|
|
21
|
+
export declare const hashContent: (content: string) => string;
|
|
22
|
+
export declare const hashParts: (parts: readonly string[]) => string;
|
|
23
|
+
export declare const frameworkVersionForCache: () => string | null;
|
|
24
|
+
export declare const vueCompileCacheDir: (projectRoot?: string) => string;
|
|
25
|
+
/** Build the environment part of every key: anything that changes the
|
|
26
|
+
* compiler's output without changing the component's own source. */
|
|
27
|
+
export declare const vueCompileCacheFingerprint: (parts: {
|
|
28
|
+
compilerVersion: string | undefined;
|
|
29
|
+
stylePreprocessors: unknown;
|
|
30
|
+
vueRootDir: string;
|
|
31
|
+
outputDirs: {
|
|
32
|
+
client: string;
|
|
33
|
+
server: string;
|
|
34
|
+
css: string;
|
|
35
|
+
};
|
|
36
|
+
}) => string | null;
|
|
37
|
+
/** Read a cached compile for `sourceFilePath` if its key matches and every
|
|
38
|
+
* recorded type dependency is unchanged. Any I/O or shape problem is a
|
|
39
|
+
* miss — the cache can only ever make a build faster, never wrong. */
|
|
40
|
+
export declare const readVueCompileCacheEntry: (sourceFilePath: string, key: string, projectRoot?: string) => VueCompileCacheEntry | null;
|
|
41
|
+
/** Persist a compile. Written via a temp file + rename so a crash mid-write
|
|
42
|
+
* can never leave a torn entry for the next process to trust. */
|
|
43
|
+
export declare const writeVueCompileCacheEntry: (sourceFilePath: string, entry: VueCompileCacheEntry, projectRoot?: string) => void;
|
|
@@ -391,7 +391,7 @@ export declare const launchConfig: (args: string[], cwd?: string) => Promise<imp
|
|
|
391
391
|
status?: number | keyof import("elysia").StatusMap;
|
|
392
392
|
cookie?: Record<string, import("elysia").BaseCookie>;
|
|
393
393
|
};
|
|
394
|
-
status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 500 | 100 | 200 | 400 | 404 | 300 | 304 |
|
|
394
|
+
status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 500 | 100 | 200 | 400 | 404 | 300 | 304 | 503 | 426 | 204 | 101 | 102 | 103 | 201 | 202 | 203 | 205 | 206 | 207 | 208 | 301 | 302 | 303 | 307 | 308 | 401 | 402 | 403 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 420 | 421 | 422 | 423 | 424 | 425 | 428 | 429 | 431 | 451 | 501 | 502 | 504 | 505 | 506 | 507 | 508 | 510 | 511 ? {
|
|
395
395
|
readonly 100: "Continue";
|
|
396
396
|
readonly 101: "Switching Protocols";
|
|
397
397
|
readonly 102: "Processing";
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export declare const formatServerBootDiagnostic: (output: string, serverEntry: string) => string | null;
|
|
2
2
|
export type AbsoluteDevOptions = {
|
|
3
|
+
androidDevice?: string;
|
|
4
|
+
iosDevice?: string;
|
|
3
5
|
mobile?: boolean;
|
|
4
6
|
};
|
|
5
7
|
export declare const dev: (serverEntry: string, configPath?: string, options?: AbsoluteDevOptions) => Promise<void>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type TextBaseline = ReadonlyMap<number, string>;
|
|
2
|
+
type SsrTextBaselines = WeakMap<Element, TextBaseline>;
|
|
3
|
+
declare global {
|
|
4
|
+
interface Window {
|
|
5
|
+
__ABSOLUTE_SSR_TEXT_BASELINES__?: SsrTextBaselines;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/** Capture server-authored text before client modules load. Absolute page
|
|
9
|
+
* handlers install the same snapshot inline; this export supports custom
|
|
10
|
+
* documents and non-standard bootstraps. */
|
|
11
|
+
export declare const captureSsrTextBaselines: (root: Element | null) => void;
|
|
12
|
+
/** Temporarily restore server text while a framework attaches to SSR DOM,
|
|
13
|
+
* then reapply translated text. Paths preserve translations even when a
|
|
14
|
+
* framework replaces nodes while mounting. Genuine server/client mismatches
|
|
15
|
+
* are left unchanged. */
|
|
16
|
+
export declare const prepareBrowserTranslationHydration: (root: Element | null) => (() => void) & {
|
|
17
|
+
hasTranslation: boolean;
|
|
18
|
+
};
|
|
19
|
+
export {};
|
|
@@ -2,3 +2,4 @@ export { createIslandManifestResolver } from './islandResolver';
|
|
|
2
2
|
export { getStreamSwapRuntimeScript } from './streamSwap';
|
|
3
3
|
export { createIslandStore, getIslandStoreServerSnapshot, initializeIslandStores, readIslandStore, subscribeIslandStore } from './islandStore';
|
|
4
4
|
export { startIslands } from './islandRuntime';
|
|
5
|
+
export { captureSsrTextBaselines, prepareBrowserTranslationHydration } from './browserTranslation';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Inline this after SSR markup and before any client entry executes. The
|
|
2
|
+
* snapshot records server-authored text while keeping it out of the DOM, so
|
|
3
|
+
* browser translation remains free to edit the rendered text. */
|
|
4
|
+
export declare const BROWSER_TRANSLATION_BASELINE_SCRIPT: string;
|
|
5
|
+
export declare const browserTranslationBaselineTag: () => string;
|
|
6
|
+
export declare const injectBrowserTranslationBaseline: (html: string) => string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { BuildConfig } from '../../types/build';
|
|
2
2
|
declare const FRAMEWORK_DIR_KEYS: readonly ["reactDirectory", "svelteDirectory", "vueDirectory", "htmlDirectory", "htmxDirectory", "angularDirectory"];
|
|
3
|
+
export declare const collectDepVendorSourceDirs: (config: BuildConfig) => string[];
|
|
3
4
|
/** Result of `detectConfigChanges`: which framework dir keys were
|
|
4
5
|
* added and which were removed in the new config. The additive case
|
|
5
6
|
* is handled in-place by this function (vendor paths set, watchers
|
|
@@ -37,6 +37,337 @@ export declare const prepare: (configOrPath?: string) => Promise<{
|
|
|
37
37
|
error: never;
|
|
38
38
|
};
|
|
39
39
|
};
|
|
40
|
+
"native-device-adapter.js": {
|
|
41
|
+
get: {
|
|
42
|
+
body: unknown;
|
|
43
|
+
params: {};
|
|
44
|
+
query: unknown;
|
|
45
|
+
headers: unknown;
|
|
46
|
+
response: {
|
|
47
|
+
200: Response;
|
|
48
|
+
};
|
|
49
|
+
error: never;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
".well-known": {
|
|
54
|
+
appspecific: {
|
|
55
|
+
"com.chrome.devtools.json": {
|
|
56
|
+
get: {
|
|
57
|
+
body: unknown;
|
|
58
|
+
params: {};
|
|
59
|
+
query: unknown;
|
|
60
|
+
headers: unknown;
|
|
61
|
+
response: {
|
|
62
|
+
200: {
|
|
63
|
+
workspace: {
|
|
64
|
+
root: string;
|
|
65
|
+
uuid: string;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
error: never;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
"@src": {
|
|
75
|
+
"*": {
|
|
76
|
+
get: {
|
|
77
|
+
body: unknown;
|
|
78
|
+
params: {
|
|
79
|
+
"*": string;
|
|
80
|
+
} & {};
|
|
81
|
+
query: unknown;
|
|
82
|
+
headers: unknown;
|
|
83
|
+
response: {};
|
|
84
|
+
error: never;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
"@stub": {
|
|
89
|
+
"*": {
|
|
90
|
+
get: {
|
|
91
|
+
body: unknown;
|
|
92
|
+
params: {
|
|
93
|
+
"*": string;
|
|
94
|
+
} & {};
|
|
95
|
+
query: unknown;
|
|
96
|
+
headers: unknown;
|
|
97
|
+
response: {};
|
|
98
|
+
error: never;
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
"@hmr": {
|
|
103
|
+
"*": {
|
|
104
|
+
get: {
|
|
105
|
+
body: unknown;
|
|
106
|
+
params: {
|
|
107
|
+
"*": string;
|
|
108
|
+
} & {};
|
|
109
|
+
query: unknown;
|
|
110
|
+
headers: unknown;
|
|
111
|
+
response: {};
|
|
112
|
+
error: never;
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
"@ng": {
|
|
117
|
+
"*": {
|
|
118
|
+
get: {
|
|
119
|
+
body: unknown;
|
|
120
|
+
params: {
|
|
121
|
+
"*": string;
|
|
122
|
+
} & {};
|
|
123
|
+
query: unknown;
|
|
124
|
+
headers: unknown;
|
|
125
|
+
response: {
|
|
126
|
+
200: Response;
|
|
127
|
+
};
|
|
128
|
+
error: never;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
hmr: {
|
|
133
|
+
subscribe: {
|
|
134
|
+
body: unknown;
|
|
135
|
+
headers: unknown;
|
|
136
|
+
query: unknown;
|
|
137
|
+
params: {};
|
|
138
|
+
response: {};
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
"hmr-status": {
|
|
142
|
+
get: {
|
|
143
|
+
body: unknown;
|
|
144
|
+
params: {};
|
|
145
|
+
query: unknown;
|
|
146
|
+
headers: unknown;
|
|
147
|
+
response: {
|
|
148
|
+
200: {
|
|
149
|
+
connectedClients: number;
|
|
150
|
+
connectedTargets: {
|
|
151
|
+
[k: string]: number;
|
|
152
|
+
};
|
|
153
|
+
entryWatcherReady: boolean;
|
|
154
|
+
isRebuilding: boolean;
|
|
155
|
+
manifestKeys: string[];
|
|
156
|
+
pendingBundleRebuilds: ("svelte" | "vue" | "angular")[];
|
|
157
|
+
pendingFileChanges: number;
|
|
158
|
+
rebuildCount: number;
|
|
159
|
+
rebuildQueue: string[];
|
|
160
|
+
rebuildScheduled: boolean;
|
|
161
|
+
timestamp: number;
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
error: never;
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
} | {
|
|
168
|
+
[x: string]: {
|
|
169
|
+
get: {
|
|
170
|
+
body: unknown;
|
|
171
|
+
params: {};
|
|
172
|
+
query: unknown;
|
|
173
|
+
headers: unknown;
|
|
174
|
+
response: {};
|
|
175
|
+
error: never;
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
__absolute: {
|
|
179
|
+
requests: {
|
|
180
|
+
get: {
|
|
181
|
+
body: unknown;
|
|
182
|
+
params: {};
|
|
183
|
+
query: unknown;
|
|
184
|
+
headers: unknown;
|
|
185
|
+
response: {
|
|
186
|
+
200: import("..").RequestRecord[];
|
|
187
|
+
};
|
|
188
|
+
error: never;
|
|
189
|
+
};
|
|
190
|
+
};
|
|
191
|
+
"native-device-adapter.js": {
|
|
192
|
+
get: {
|
|
193
|
+
body: unknown;
|
|
194
|
+
params: {};
|
|
195
|
+
query: unknown;
|
|
196
|
+
headers: unknown;
|
|
197
|
+
response: {
|
|
198
|
+
200: Response;
|
|
199
|
+
};
|
|
200
|
+
error: never;
|
|
201
|
+
};
|
|
202
|
+
};
|
|
203
|
+
};
|
|
204
|
+
".well-known": {
|
|
205
|
+
appspecific: {
|
|
206
|
+
"com.chrome.devtools.json": {
|
|
207
|
+
get: {
|
|
208
|
+
body: unknown;
|
|
209
|
+
params: {};
|
|
210
|
+
query: unknown;
|
|
211
|
+
headers: unknown;
|
|
212
|
+
response: {
|
|
213
|
+
200: {
|
|
214
|
+
workspace: {
|
|
215
|
+
root: string;
|
|
216
|
+
uuid: string;
|
|
217
|
+
};
|
|
218
|
+
};
|
|
219
|
+
};
|
|
220
|
+
error: never;
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
"@src": {
|
|
226
|
+
"*": {
|
|
227
|
+
get: {
|
|
228
|
+
body: unknown;
|
|
229
|
+
params: {
|
|
230
|
+
"*": string;
|
|
231
|
+
} & {};
|
|
232
|
+
query: unknown;
|
|
233
|
+
headers: unknown;
|
|
234
|
+
response: {};
|
|
235
|
+
error: never;
|
|
236
|
+
};
|
|
237
|
+
};
|
|
238
|
+
};
|
|
239
|
+
"@stub": {
|
|
240
|
+
"*": {
|
|
241
|
+
get: {
|
|
242
|
+
body: unknown;
|
|
243
|
+
params: {
|
|
244
|
+
"*": string;
|
|
245
|
+
} & {};
|
|
246
|
+
query: unknown;
|
|
247
|
+
headers: unknown;
|
|
248
|
+
response: {};
|
|
249
|
+
error: never;
|
|
250
|
+
};
|
|
251
|
+
};
|
|
252
|
+
};
|
|
253
|
+
"@hmr": {
|
|
254
|
+
"*": {
|
|
255
|
+
get: {
|
|
256
|
+
body: unknown;
|
|
257
|
+
params: {
|
|
258
|
+
"*": string;
|
|
259
|
+
} & {};
|
|
260
|
+
query: unknown;
|
|
261
|
+
headers: unknown;
|
|
262
|
+
response: {};
|
|
263
|
+
error: never;
|
|
264
|
+
};
|
|
265
|
+
};
|
|
266
|
+
};
|
|
267
|
+
"@ng": {
|
|
268
|
+
"*": {
|
|
269
|
+
get: {
|
|
270
|
+
body: unknown;
|
|
271
|
+
params: {
|
|
272
|
+
"*": string;
|
|
273
|
+
} & {};
|
|
274
|
+
query: unknown;
|
|
275
|
+
headers: unknown;
|
|
276
|
+
response: {
|
|
277
|
+
200: Response;
|
|
278
|
+
};
|
|
279
|
+
error: never;
|
|
280
|
+
};
|
|
281
|
+
};
|
|
282
|
+
};
|
|
283
|
+
hmr: {
|
|
284
|
+
subscribe: {
|
|
285
|
+
body: unknown;
|
|
286
|
+
headers: unknown;
|
|
287
|
+
query: unknown;
|
|
288
|
+
params: {};
|
|
289
|
+
response: {};
|
|
290
|
+
};
|
|
291
|
+
};
|
|
292
|
+
"hmr-status": {
|
|
293
|
+
get: {
|
|
294
|
+
body: unknown;
|
|
295
|
+
params: {};
|
|
296
|
+
query: unknown;
|
|
297
|
+
headers: unknown;
|
|
298
|
+
response: {
|
|
299
|
+
200: {
|
|
300
|
+
connectedClients: number;
|
|
301
|
+
connectedTargets: {
|
|
302
|
+
[k: string]: number;
|
|
303
|
+
};
|
|
304
|
+
entryWatcherReady: boolean;
|
|
305
|
+
isRebuilding: boolean;
|
|
306
|
+
manifestKeys: string[];
|
|
307
|
+
pendingBundleRebuilds: ("svelte" | "vue" | "angular")[];
|
|
308
|
+
pendingFileChanges: number;
|
|
309
|
+
rebuildCount: number;
|
|
310
|
+
rebuildQueue: string[];
|
|
311
|
+
rebuildScheduled: boolean;
|
|
312
|
+
timestamp: number;
|
|
313
|
+
};
|
|
314
|
+
};
|
|
315
|
+
error: never;
|
|
316
|
+
};
|
|
317
|
+
};
|
|
318
|
+
} | {
|
|
319
|
+
__absolute: {
|
|
320
|
+
requests: {
|
|
321
|
+
get: {
|
|
322
|
+
body: unknown;
|
|
323
|
+
params: {};
|
|
324
|
+
query: unknown;
|
|
325
|
+
headers: unknown;
|
|
326
|
+
response: {
|
|
327
|
+
200: import("..").RequestRecord[];
|
|
328
|
+
};
|
|
329
|
+
error: never;
|
|
330
|
+
};
|
|
331
|
+
};
|
|
332
|
+
"mobile-preview": {
|
|
333
|
+
get: {
|
|
334
|
+
body: unknown;
|
|
335
|
+
params: {};
|
|
336
|
+
query: unknown;
|
|
337
|
+
headers: unknown;
|
|
338
|
+
response: {
|
|
339
|
+
200: Response;
|
|
340
|
+
};
|
|
341
|
+
error: never;
|
|
342
|
+
};
|
|
343
|
+
};
|
|
344
|
+
"mobile-preview-telemetry": {
|
|
345
|
+
post: {
|
|
346
|
+
body: unknown;
|
|
347
|
+
params: {};
|
|
348
|
+
query: unknown;
|
|
349
|
+
headers: unknown;
|
|
350
|
+
response: {
|
|
351
|
+
400: {
|
|
352
|
+
readonly error: "invalid-preview-telemetry";
|
|
353
|
+
};
|
|
354
|
+
204: "No Content";
|
|
355
|
+
};
|
|
356
|
+
error: never;
|
|
357
|
+
};
|
|
358
|
+
};
|
|
359
|
+
"native-device-adapter.js": {
|
|
360
|
+
get: {
|
|
361
|
+
body: unknown;
|
|
362
|
+
params: {};
|
|
363
|
+
query: unknown;
|
|
364
|
+
headers: unknown;
|
|
365
|
+
response: {
|
|
366
|
+
200: Response;
|
|
367
|
+
};
|
|
368
|
+
error: never;
|
|
369
|
+
};
|
|
370
|
+
};
|
|
40
371
|
};
|
|
41
372
|
".well-known": {
|
|
42
373
|
appspecific: {
|
|
@@ -141,8 +472,11 @@ export declare const prepare: (configOrPath?: string) => Promise<{
|
|
|
141
472
|
entryWatcherReady: boolean;
|
|
142
473
|
isRebuilding: boolean;
|
|
143
474
|
manifestKeys: string[];
|
|
475
|
+
pendingBundleRebuilds: ("svelte" | "vue" | "angular")[];
|
|
476
|
+
pendingFileChanges: number;
|
|
144
477
|
rebuildCount: number;
|
|
145
478
|
rebuildQueue: string[];
|
|
479
|
+
rebuildScheduled: boolean;
|
|
146
480
|
timestamp: number;
|
|
147
481
|
};
|
|
148
482
|
};
|
|
@@ -173,6 +507,45 @@ export declare const prepare: (configOrPath?: string) => Promise<{
|
|
|
173
507
|
error: never;
|
|
174
508
|
};
|
|
175
509
|
};
|
|
510
|
+
"mobile-preview": {
|
|
511
|
+
get: {
|
|
512
|
+
body: unknown;
|
|
513
|
+
params: {};
|
|
514
|
+
query: unknown;
|
|
515
|
+
headers: unknown;
|
|
516
|
+
response: {
|
|
517
|
+
200: Response;
|
|
518
|
+
};
|
|
519
|
+
error: never;
|
|
520
|
+
};
|
|
521
|
+
};
|
|
522
|
+
"mobile-preview-telemetry": {
|
|
523
|
+
post: {
|
|
524
|
+
body: unknown;
|
|
525
|
+
params: {};
|
|
526
|
+
query: unknown;
|
|
527
|
+
headers: unknown;
|
|
528
|
+
response: {
|
|
529
|
+
400: {
|
|
530
|
+
readonly error: "invalid-preview-telemetry";
|
|
531
|
+
};
|
|
532
|
+
204: "No Content";
|
|
533
|
+
};
|
|
534
|
+
error: never;
|
|
535
|
+
};
|
|
536
|
+
};
|
|
537
|
+
"native-device-adapter.js": {
|
|
538
|
+
get: {
|
|
539
|
+
body: unknown;
|
|
540
|
+
params: {};
|
|
541
|
+
query: unknown;
|
|
542
|
+
headers: unknown;
|
|
543
|
+
response: {
|
|
544
|
+
200: Response;
|
|
545
|
+
};
|
|
546
|
+
error: never;
|
|
547
|
+
};
|
|
548
|
+
};
|
|
176
549
|
};
|
|
177
550
|
".well-known": {
|
|
178
551
|
appspecific: {
|
|
@@ -277,8 +650,11 @@ export declare const prepare: (configOrPath?: string) => Promise<{
|
|
|
277
650
|
entryWatcherReady: boolean;
|
|
278
651
|
isRebuilding: boolean;
|
|
279
652
|
manifestKeys: string[];
|
|
653
|
+
pendingBundleRebuilds: ("svelte" | "vue" | "angular")[];
|
|
654
|
+
pendingFileChanges: number;
|
|
280
655
|
rebuildCount: number;
|
|
281
656
|
rebuildQueue: string[];
|
|
657
|
+
rebuildScheduled: boolean;
|
|
282
658
|
timestamp: number;
|
|
283
659
|
};
|
|
284
660
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Record which boot step is currently running so the early listener's
|
|
2
|
+
* "Building…" page can show it. Cheap enough to call from every step. */
|
|
3
|
+
export declare const getBootPhase: () => string | undefined;
|
|
4
|
+
export declare const setBootPhase: (phase: string) => void;
|
|
5
|
+
type DeferredBootTask = () => void | Promise<void>;
|
|
6
|
+
/** Run every task queued by `deferUntilServing`. Called by the
|
|
7
|
+
* `networking` plugin once the real server is bound, so the work runs
|
|
8
|
+
* after the port is serving real traffic instead of delaying it. */
|
|
9
|
+
export declare const deferUntilServing: (task: DeferredBootTask) => void;
|
|
10
|
+
export declare const runDeferredBootTasks: () => void;
|
|
11
|
+
export {};
|
|
@@ -17,6 +17,7 @@ export type HMRState = {
|
|
|
17
17
|
isRebuilding: boolean;
|
|
18
18
|
rebuildQueue: Set<string>;
|
|
19
19
|
rebuildTimeout: NodeJS.Timeout | null;
|
|
20
|
+
pendingBundleRebuilds: Set<'angular' | 'svelte' | 'vue'>;
|
|
20
21
|
fileChangeQueue: Map<string, string[]>;
|
|
21
22
|
debounceTimeout: NodeJS.Timeout | null;
|
|
22
23
|
fileHashes: Map<string, number>;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
export declare const normalizeDevCertificateHosts: (hosts?: readonly string[]) => string[];
|
|
1
2
|
export declare const hasMkcert: () => boolean;
|
|
2
|
-
export declare const ensureDevCert: () => {
|
|
3
|
+
export declare const ensureDevCert: (hosts?: readonly string[]) => {
|
|
3
4
|
cert: string;
|
|
4
5
|
key: string;
|
|
5
6
|
} | null;
|
|
6
|
-
export declare const hasCert: () => boolean;
|
|
7
|
-
export declare const loadDevCert: () => {
|
|
7
|
+
export declare const hasCert: (hosts?: readonly string[]) => boolean;
|
|
8
|
+
export declare const loadDevCert: (hosts?: readonly string[]) => {
|
|
8
9
|
cert: string;
|
|
9
10
|
key: string;
|
|
10
11
|
} | null;
|
|
11
|
-
export declare const
|
|
12
|
+
export declare const getDevCertificateAuthorityPath: () => string | null;
|
|
13
|
+
export declare const setupMkcert: (hosts?: readonly string[]) => boolean;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Server } from 'bun';
|
|
2
|
+
export declare const BOOT_STATUS_HEADER = "X-Absolute-Boot";
|
|
3
|
+
export type EarlyListenerOptions = {
|
|
4
|
+
host: string;
|
|
5
|
+
port: number;
|
|
6
|
+
tls?: {
|
|
7
|
+
cert: string;
|
|
8
|
+
key: string;
|
|
9
|
+
} | null;
|
|
10
|
+
};
|
|
11
|
+
export type EarlyListener = {
|
|
12
|
+
/** The placeholder server, or null while a bind retry is pending or
|
|
13
|
+
* after release. */
|
|
14
|
+
readonly server: Server<undefined> | null;
|
|
15
|
+
readonly startedAt: number;
|
|
16
|
+
readonly released: boolean;
|
|
17
|
+
release: () => void;
|
|
18
|
+
};
|
|
19
|
+
export declare const bootStatusSnapshot: (startedAt: number) => {
|
|
20
|
+
elapsedMs: number;
|
|
21
|
+
elapsedSeconds: number;
|
|
22
|
+
phase: string;
|
|
23
|
+
status: "building";
|
|
24
|
+
};
|
|
25
|
+
/** 503 response for one request while the boot build is still running.
|
|
26
|
+
* HTML for browsers (`Accept: text/html`), JSON for JSON clients, plain
|
|
27
|
+
* text otherwise; WebSocket upgrade attempts (the HMR client) get a plain
|
|
28
|
+
* 503 instead of an upgrade so they fail the handshake cleanly and fall
|
|
29
|
+
* back to their `/hmr-status` polling loop. */
|
|
30
|
+
export declare const buildingResponse: (request: Request, startedAt: number) => Response;
|
|
31
|
+
/** Defensive hand-off for entries that call `.listen()` without the
|
|
32
|
+
* `networking` plugin: any `Bun.serve` that targets the placeholder's
|
|
33
|
+
* port first releases it. Installed once per process by the bootstrap. */
|
|
34
|
+
export declare const installEarlyListenerServeGuard: (port: number) => void;
|
|
35
|
+
export declare const releaseEarlyListener: () => boolean;
|
|
36
|
+
/** Bind the placeholder. A failed bind (the previous child's socket is
|
|
37
|
+
* still draining, or the port genuinely conflicts) is retried in the
|
|
38
|
+
* background for a few seconds and then given up on silently — the real
|
|
39
|
+
* `.listen()` still reports the conflict the way it always did. Never
|
|
40
|
+
* throws: the placeholder is a nicety and must not break boot. */
|
|
41
|
+
export declare const startEarlyListener: (options: EarlyListenerOptions) => EarlyListener;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const absoluteServerEntryCopyOwnerPid: (name: string) => number | null;
|
|
2
|
+
export declare const isProcessAlive: (pid: number) => boolean;
|
|
3
|
+
export declare const isStaleAbsoluteServerEntryCopy: (name: string, currentPid?: number, ownerIsAlive?: (pid: number) => boolean) => boolean;
|
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Phase 1 Ember client entry.
|
|
3
|
-
*
|
|
4
|
-
* The page index file (emitted by the build) imports this module and
|
|
5
|
-
* the user's compiled page module. We mount the page component into
|
|
6
|
-
* `#ember-root` using the same `renderComponent` API SSR used — Ember
|
|
7
|
-
* Router's hydration story is post-Phase-1 work; for v1 we re-render
|
|
8
|
-
* client-side over the SSR'd HTML.
|
|
9
|
-
*
|
|
10
|
-
* `@ember/renderer` is loaded dynamically rather than via static import
|
|
11
|
-
* because (a) the AbsoluteJS framework typecheck shouldn't require
|
|
12
|
-
* ember-source as a dep, and (b) the resolved URL at runtime is
|
|
13
|
-
* `/ember/vendor/ember_renderer.js` (the vendor build's output) rather
|
|
14
|
-
* than the bare specifier — only the user's bundle pass knows which
|
|
15
|
-
* mapping to apply.
|
|
16
|
-
*/
|
|
17
1
|
declare global {
|
|
18
2
|
interface Window {
|
|
19
3
|
__INITIAL_PROPS__?: Record<string, unknown>;
|