@absolutejs/absolute 0.20.0-beta.0 → 0.20.0-beta.2

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.
Files changed (91) hide show
  1. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  2. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  3. package/dist/angular/index.js +14 -1
  4. package/dist/angular/index.js.map +3 -3
  5. package/dist/angular/server.js +14 -1
  6. package/dist/angular/server.js.map +3 -3
  7. package/dist/build.js +206 -47
  8. package/dist/build.js.map +20 -19
  9. package/dist/cli/config/server.js +2 -2
  10. package/dist/cli/index.js +16506 -11326
  11. package/dist/dev/client/cssUtils.ts +98 -41
  12. package/dist/dev/client/handlers/html.ts +75 -15
  13. package/dist/dev/client/handlers/htmx.ts +43 -8
  14. package/dist/dev/client/handlers/react.ts +114 -32
  15. package/dist/dev/client/handlers/rebuild.ts +28 -8
  16. package/dist/dev/client/handlers/svelte.ts +33 -50
  17. package/dist/dev/client/handlers/vue.ts +36 -45
  18. package/dist/dev/client/hmrClient.ts +38 -6
  19. package/dist/dev/client/hmrTiming.ts +141 -0
  20. package/dist/dev/serverBootstrap.js +20 -11
  21. package/dist/index.js +953 -423
  22. package/dist/index.js.map +27 -23
  23. package/dist/mobile/browser.js.map +1 -1
  24. package/dist/mobile/index.js +2667 -260
  25. package/dist/mobile/index.js.map +27 -7
  26. package/dist/react/index.js +16 -3
  27. package/dist/react/index.js.map +4 -4
  28. package/dist/react/jsxDevRuntimeCompat.js +22 -2
  29. package/dist/react/jsxDevRuntimeCompat.js.map +5 -4
  30. package/dist/react/jsxRuntimeCompat.js +90 -0
  31. package/dist/react/jsxRuntimeCompat.js.map +10 -0
  32. package/dist/react/server.js +16 -3
  33. package/dist/react/server.js.map +4 -4
  34. package/dist/src/build/compileVue.d.ts +1 -1
  35. package/dist/src/build/resolveBuildMode.d.ts +7 -0
  36. package/dist/src/cli/scripts/dev.d.ts +4 -1
  37. package/dist/src/cli/scripts/mobile.d.ts +1 -0
  38. package/dist/src/cli/utils.d.ts +2 -2
  39. package/dist/src/core/build.d.ts +1 -1
  40. package/dist/src/dev/clientManager.d.ts +7 -0
  41. package/dist/src/dev/configResolver.d.ts +2 -0
  42. package/dist/src/dev/moduleMapper.d.ts +1 -1
  43. package/dist/src/dev/moduleServer.d.ts +2 -1
  44. package/dist/src/dev/pathUtils.d.ts +1 -1
  45. package/dist/src/dev/reactComponentClassifier.d.ts +1 -1
  46. package/dist/src/mobile/androidConformance.d.ts +42 -0
  47. package/dist/src/mobile/androidEmulatorController.d.ts +100 -0
  48. package/dist/src/mobile/androidNativeWatcher.d.ts +19 -0
  49. package/dist/src/mobile/androidRelease.d.ts +51 -0
  50. package/dist/src/mobile/androidWebView.d.ts +46 -0
  51. package/dist/src/mobile/associationFiles.d.ts +49 -0
  52. package/dist/src/mobile/buildMetadata.d.ts +10 -0
  53. package/dist/src/mobile/buildPipeline.d.ts +8 -0
  54. package/dist/src/mobile/buildRelease.d.ts +24 -0
  55. package/dist/src/mobile/capacitorBundle.d.ts +28 -0
  56. package/dist/src/mobile/capacitorProject.d.ts +9 -0
  57. package/dist/src/mobile/client.d.ts +1 -1
  58. package/dist/src/mobile/config.d.ts +17 -0
  59. package/dist/src/mobile/emulatorDoctor.d.ts +25 -0
  60. package/dist/src/mobile/emulatorInstaller.d.ts +41 -0
  61. package/dist/src/mobile/index.d.ts +14 -0
  62. package/dist/src/mobile/iosRelease.d.ts +61 -0
  63. package/dist/src/mobile/materializedBundle.d.ts +14 -0
  64. package/dist/src/mobile/nativeDeepLinks.d.ts +5 -0
  65. package/dist/src/mobile/releaseArtifact.d.ts +1 -0
  66. package/dist/src/mobile/releaseDoctor.d.ts +13 -0
  67. package/dist/src/mobile/releasePublisher.d.ts +130 -0
  68. package/dist/src/mobile/routeMatcher.d.ts +3 -0
  69. package/dist/src/mobile/routeMetadataTransform.d.ts +13 -0
  70. package/dist/src/mobile/shellBootstrap.d.ts +1 -0
  71. package/dist/src/mobile/transport.d.ts +31 -0
  72. package/dist/src/react/hooks/useMediaQuery.d.ts +1 -1
  73. package/dist/src/react/jsxDevRuntimeCompat.d.ts +1 -1
  74. package/dist/src/react/jsxRuntimeCompat.d.ts +7 -0
  75. package/dist/src/react/pageHandler.d.ts +3 -0
  76. package/dist/src/utils/loadConfig.d.ts +1 -0
  77. package/dist/src/utils/logger.d.ts +2 -0
  78. package/dist/src/utils/userAgentFunctions.d.ts +1 -1
  79. package/dist/svelte/index.js +14 -1
  80. package/dist/svelte/index.js.map +3 -3
  81. package/dist/svelte/server.js +14 -1
  82. package/dist/svelte/server.js.map +3 -3
  83. package/dist/types/build.d.ts +45 -0
  84. package/dist/types/cli.d.ts +2 -0
  85. package/dist/types/globals.d.ts +14 -0
  86. package/dist/types/messages.d.ts +12 -0
  87. package/dist/vue/index.js +14 -1
  88. package/dist/vue/index.js.map +3 -3
  89. package/dist/vue/server.js +14 -1
  90. package/dist/vue/server.js.map +3 -3
  91. package/package.json +35 -7
@@ -21,6 +21,49 @@ export type BuildOptions = {
21
21
  /** Base manifest to merge into for incremental builds */
22
22
  baseManifest?: Record<string, string>;
23
23
  };
24
+ export type MobilePlatform = 'android' | 'ios';
25
+ export type MobileConfig = {
26
+ /** Capacitor is the universal v1 engine. Expo remains a future React-only engine. */
27
+ engine?: 'capacitor';
28
+ /** Native application identifier, for example `com.example.app`. */
29
+ appId: string;
30
+ /** Human-facing native application name. */
31
+ appName: string;
32
+ /** Initial canonical application route. Defaults to `/`. */
33
+ entry?: string;
34
+ /** Native projects generated and synchronized by AbsoluteJS. */
35
+ platforms?: readonly MobilePlatform[];
36
+ server: {
37
+ /** Deployed AbsoluteJS origin used for page envelopes and API calls. */
38
+ productionOrigin: string;
39
+ };
40
+ /** Capacitor webDir output. Defaults to `.absolutejs/mobile/web`. */
41
+ bundleDirectory?: string;
42
+ nativeProject?: {
43
+ /** v1 keeps native projects as committed, editable source. */
44
+ mode?: 'source';
45
+ /** Parent directory for generated iOS and Android projects. */
46
+ directory?: string;
47
+ };
48
+ ios?: {
49
+ /** App Store marketing version written to CFBundleShortVersionString. */
50
+ version: string;
51
+ };
52
+ deepLinks?: {
53
+ /** Optional custom URL scheme in addition to HTTPS app/universal links. */
54
+ scheme?: string;
55
+ /** HTTPS hosts that may enter the local AbsoluteJS router. */
56
+ hosts?: readonly string[];
57
+ apple?: {
58
+ /** Apple Application Identifier Prefix, commonly the ten-character Team ID. */
59
+ appIdPrefix: string;
60
+ };
61
+ android?: {
62
+ /** SHA-256 fingerprints for every certificate that signs an installed build. */
63
+ sha256CertificateFingerprints: readonly string[];
64
+ };
65
+ };
66
+ };
24
67
  export type BuildPassError = {
25
68
  /** Internal pass id, e.g. `global-css`, `non-react-client`. */
26
69
  pass: string;
@@ -201,6 +244,8 @@ export type BaseBuildConfig = {
201
244
  emberDirectory?: string;
202
245
  htmlDirectory?: string;
203
246
  htmxDirectory?: string;
247
+ /** Build metadata and retained server producers for installed applications. */
248
+ mobile?: MobileConfig;
204
249
  stylesConfig?: string | StylesConfig;
205
250
  stylePreprocessors?: StylePreprocessorConfig;
206
251
  postcss?: PostCSSConfig;
@@ -1,11 +1,13 @@
1
1
  export type Action = () => void | Promise<void>;
2
2
  export type Actions = {
3
3
  clear: Action;
4
+ device?: Action;
4
5
  heapSnapshot: Action;
5
6
  help: Action;
6
7
  open: Action;
7
8
  pause: Action;
8
9
  quit: Action;
10
+ relaunchDevice?: Action;
9
11
  restart: Action;
10
12
  shell: (command: string) => Promise<void>;
11
13
  };
@@ -9,6 +9,8 @@ declare global {
9
9
  * watchers and can observe entry/configuration edits. */
10
10
  var __absoluteEntryWatcherReady: boolean | undefined;
11
11
  var __absoluteEntryCopies: Set<string> | undefined;
12
+ var __absoluteEntryBootstrapSequence: number | undefined;
13
+ var __absoluteEntryCleanupRegistered: boolean | undefined;
12
14
  var __absoluteEntryWatcherStarted: boolean | undefined;
13
15
  /** Pinned React module from initial devBuild — used to detect and bridge
14
16
  * duplicate React instances after bun install invalidates the module cache. */
@@ -71,9 +73,21 @@ declare global {
71
73
  __HMR_SERVER_VERSIONS__?: Record<string, number>;
72
74
  __HMR_UPDATE_COUNT__?: number;
73
75
  __HMR_WS__?: WebSocket;
76
+ __ABS_HMR_TARGET__?: import('./messages').HMRClientTarget;
77
+ __ABS_HMR_LAST_APPLY__?: {
78
+ clientMs: number;
79
+ duration: number;
80
+ kind?: import('./messages').HMRApplyKind;
81
+ outcome: import('./messages').HMRApplyOutcome;
82
+ serverMs: number;
83
+ target: import('./messages').HMRClientTarget;
84
+ updateId?: number;
85
+ };
86
+ __ABS_HMR_APPLIES__?: NonNullable<Window['__ABS_HMR_LAST_APPLY__']>[];
74
87
  __ERROR_BOUNDARY__?: { reset: () => void };
75
88
  __INITIAL_PROPS__?: Record<string, unknown>;
76
89
  __ABSOLUTE_PAGE_RENDER_MODE__?: 'client' | 'hydrate';
90
+ __ABS_REACT_REMOUNT__?: (module: Record<string, unknown>) => void;
77
91
  __REACT_COMPONENT_KEY__?: string;
78
92
  __REACT_ROOT__?: { render: (element: unknown) => void };
79
93
  __SVELTE_COMPONENT__?: Record<string, unknown>;
@@ -1,9 +1,13 @@
1
+ export type HMRClientTarget = 'capacitor-android' | 'capacitor-ios' | 'capacitor-native' | 'web';
2
+ export type HMRApplyKind = 'component' | 'css' | 'full-reload' | 'html' | 'htmx' | 'script';
3
+ export type HMRApplyOutcome = 'applied' | 'failed' | 'reloaded';
1
4
  export type PingMessage = {
2
5
  type: 'ping';
3
6
  };
4
7
  export type ReadyMessage = {
5
8
  type: 'ready';
6
9
  framework?: string | null;
10
+ target?: HMRClientTarget;
7
11
  };
8
12
  export type RequestRebuildMessage = {
9
13
  type: 'request-rebuild';
@@ -18,7 +22,13 @@ export type HydrationErrorMessage = {
18
22
  };
19
23
  export type HMRTimingMessage = {
20
24
  type: 'hmr-timing';
25
+ clientMs?: number;
21
26
  duration: number;
27
+ kind?: HMRApplyKind;
28
+ outcome?: HMRApplyOutcome;
29
+ serverMs?: number;
30
+ target?: HMRClientTarget;
31
+ updateId?: number;
22
32
  };
23
33
  export type AngularHmrAckMessage = {
24
34
  type: 'angular:hmr-ack';
@@ -27,6 +37,8 @@ export type AngularHmrAckMessage = {
27
37
  tier: 'tier-0' | 'tier-1a';
28
38
  applyMs: number;
29
39
  error?: string;
40
+ target?: HMRClientTarget;
41
+ updateId?: number;
30
42
  };
31
43
  export type HMRClientMessage = PingMessage | ReadyMessage | RequestRebuildMessage | HydrationErrorMessage | HMRTimingMessage | AngularHmrAckMessage;
32
44
  export type ManifestMessage = {
package/dist/vue/index.js CHANGED
@@ -1472,6 +1472,19 @@ var colors2, frameworkColors, formatPath = (filePath) => {
1472
1472
  const errorMsg = error instanceof Error ? error.message : error;
1473
1473
  const fullMessage = `${colors2.red}error${colors2.reset} ${message}${errorMsg ? `: ${errorMsg}` : ""}`;
1474
1474
  console.error(`${timestamp} ${tag} ${fullMessage}`);
1475
+ }, logHmrClientUpdate = (path, framework, duration, target, serverMs, clientMs, outcome = "applied", kind) => {
1476
+ const timestamp = `${colors2.dim}${formatTimestamp()}${colors2.reset}`;
1477
+ const targetLabel = target.startsWith("capacitor-") ? target.slice("capacitor-".length) : target;
1478
+ const tag = `${colors2.cyan}[hmr:${targetLabel}]${colors2.reset}`;
1479
+ const pathColor = framework ? getFrameworkColor(framework) : colors2.white;
1480
+ const breakdown = serverMs === undefined || clientMs === undefined ? "" : `; server ${serverMs}ms, client ${clientMs}ms`;
1481
+ let action = "failed after";
1482
+ if (outcome === "applied")
1483
+ action = "applied in";
1484
+ else if (outcome === "reloaded")
1485
+ action = "falling back to reload after";
1486
+ const kindLabel = kind ? `${kind} ` : "";
1487
+ console.log(`${timestamp} ${tag} ${framework ?? "update"} ${kindLabel}${pathColor}${formatPath(path)}${colors2.reset} ${colors2.dim}${action} ${duration}ms${breakdown}${colors2.reset}`);
1475
1488
  }, logHmrUpdate = (path, framework, duration) => {
1476
1489
  log("hmr update", { duration, framework, path });
1477
1490
  }, logInfo = (message) => {
@@ -5734,5 +5747,5 @@ export {
5734
5747
  ABSOLUTE_TELEPORT_TARGET
5735
5748
  };
5736
5749
 
5737
- //# debugId=D8D81E80B0032F8A64756E2164756E21
5750
+ //# debugId=80A3F4966DF7C3ED64756E2164756E21
5738
5751
  //# sourceMappingURL=index.js.map