@absolutejs/absolute 0.14.0 → 0.15.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.
Files changed (96) hide show
  1. package/.claude/settings.local.json +11 -0
  2. package/CLAUDE.md +11 -2
  3. package/LICENSE +74 -18
  4. package/README.md +4 -4
  5. package/THIRD_PARTY_NOTICES.md +61 -0
  6. package/dist/cli/index.js +24 -8
  7. package/dist/dev/client/cssUtils.ts +288 -0
  8. package/dist/dev/client/domDiff.ts +261 -0
  9. package/dist/dev/client/domState.ts +271 -0
  10. package/dist/dev/client/errorOverlay.ts +145 -0
  11. package/dist/dev/client/frameworkDetect.ts +63 -0
  12. package/dist/dev/client/handlers/html.ts +415 -0
  13. package/dist/dev/client/handlers/htmx.ts +248 -0
  14. package/dist/dev/client/handlers/react.ts +80 -0
  15. package/dist/dev/client/handlers/rebuild.ts +147 -0
  16. package/dist/dev/client/handlers/svelte.ts +129 -0
  17. package/dist/dev/client/handlers/vue.ts +254 -0
  18. package/dist/dev/client/headPatch.ts +213 -0
  19. package/dist/dev/client/hmrClient.ts +204 -0
  20. package/dist/dev/client/moduleVersions.ts +57 -0
  21. package/dist/dev/client/reactRefreshSetup.ts +21 -0
  22. package/dist/index.js +3028 -478
  23. package/dist/index.js.map +49 -19
  24. package/dist/{build → src/build}/compileSvelte.d.ts +2 -1
  25. package/dist/src/build/compileVue.d.ts +33 -0
  26. package/dist/src/build/generateReactIndexes.d.ts +1 -0
  27. package/dist/src/build/htmlScriptHMRPlugin.d.ts +13 -0
  28. package/dist/src/build/wrapHTMLScript.d.ts +24 -0
  29. package/dist/{core → src/core}/build.d.ts +2 -2
  30. package/dist/src/core/devBuild.d.ts +6 -0
  31. package/dist/{core → src/core}/index.d.ts +2 -1
  32. package/dist/src/core/lookup.d.ts +3 -0
  33. package/dist/{core → src/core}/pageHandlers.d.ts +4 -4
  34. package/dist/src/dev/assetStore.d.ts +12 -0
  35. package/dist/src/dev/buildHMRClient.d.ts +1 -0
  36. package/dist/src/dev/clientManager.d.ts +26 -0
  37. package/dist/src/dev/configResolver.d.ts +13 -0
  38. package/dist/src/dev/dependencyGraph.d.ts +13 -0
  39. package/dist/src/dev/fileHashTracker.d.ts +2 -0
  40. package/dist/src/dev/fileWatcher.d.ts +3 -0
  41. package/dist/src/dev/moduleMapper.d.ts +21 -0
  42. package/dist/src/dev/moduleVersionTracker.d.ts +7 -0
  43. package/dist/src/dev/pathUtils.d.ts +5 -0
  44. package/dist/src/dev/reactComponentClassifier.d.ts +2 -0
  45. package/dist/src/dev/rebuildTrigger.d.ts +10 -0
  46. package/dist/src/dev/simpleHTMLHMR.d.ts +4 -0
  47. package/dist/src/dev/simpleHTMXHMR.d.ts +4 -0
  48. package/dist/src/dev/simpleSvelteHMR.d.ts +1 -0
  49. package/dist/src/dev/simpleVueHMR.d.ts +1 -0
  50. package/dist/src/dev/webSocket.d.ts +9 -0
  51. package/dist/{index.d.ts → src/index.d.ts} +1 -0
  52. package/dist/src/plugins/hmr.d.ts +62 -0
  53. package/dist/{plugins → src/plugins}/index.d.ts +2 -1
  54. package/dist/{svelte → src/svelte}/renderToReadableStream.d.ts +3 -1
  55. package/dist/src/utils/getRegisterClientScript.d.ts +10 -0
  56. package/dist/{utils → src/utils}/index.d.ts +2 -0
  57. package/dist/src/utils/logger.d.ts +45 -0
  58. package/dist/src/utils/networking.d.ts +2 -0
  59. package/dist/src/utils/normalizePath.d.ts +9 -0
  60. package/dist/src/utils/registerClientScript.d.ts +51 -0
  61. package/dist/{types.d.ts → types/build.d.ts} +6 -0
  62. package/dist/types/client.d.ts +104 -0
  63. package/dist/types/index.d.ts +4 -0
  64. package/dist/types/messages.d.ts +138 -0
  65. package/dist/types/websocket.d.ts +6 -0
  66. package/eslint.config.mjs +5 -1
  67. package/package.json +19 -14
  68. package/tsconfig.build.json +1 -1
  69. package/types/build.ts +46 -0
  70. package/types/client.ts +109 -0
  71. package/types/index.ts +4 -0
  72. package/types/messages.ts +205 -0
  73. package/types/websocket.ts +12 -0
  74. package/types/window-globals.ts +53 -0
  75. package/dist/build/compileVue.d.ts +0 -5
  76. package/dist/build/generateReactIndexes.d.ts +0 -1
  77. package/dist/core/lookup.d.ts +0 -1
  78. package/dist/utils/networking.d.ts +0 -1
  79. /package/dist/{build → src/build}/generateManifest.d.ts +0 -0
  80. /package/dist/{build → src/build}/outputLogs.d.ts +0 -0
  81. /package/dist/{build → src/build}/scanEntryPoints.d.ts +0 -0
  82. /package/dist/{build → src/build}/updateAssetPaths.d.ts +0 -0
  83. /package/dist/{cli → src/cli}/index.d.ts +0 -0
  84. /package/dist/{constants.d.ts → src/constants.d.ts} +0 -0
  85. /package/dist/{plugins → src/plugins}/networking.d.ts +0 -0
  86. /package/dist/{plugins → src/plugins}/pageRouter.d.ts +0 -0
  87. /package/dist/{svelte → src/svelte}/renderToPipeableStream.d.ts +0 -0
  88. /package/dist/{svelte → src/svelte}/renderToString.d.ts +0 -0
  89. /package/dist/{utils → src/utils}/cleanup.d.ts +0 -0
  90. /package/dist/{utils → src/utils}/commonAncestor.d.ts +0 -0
  91. /package/dist/{utils → src/utils}/escapeScriptContent.d.ts +0 -0
  92. /package/dist/{utils → src/utils}/generateHeadElement.d.ts +0 -0
  93. /package/dist/{utils → src/utils}/getDurationString.d.ts +0 -0
  94. /package/dist/{utils → src/utils}/getEnv.d.ts +0 -0
  95. /package/dist/{utils → src/utils}/stringModifiers.d.ts +0 -0
  96. /package/dist/{utils → src/utils}/validateSafePath.d.ts +0 -0
@@ -0,0 +1,57 @@
1
+ /* Module version validation and sync */
2
+
3
+ export const checkModuleVersions = (
4
+ serverVersions: Record<string, number> | undefined,
5
+ clientVersions: Record<string, number> | undefined
6
+ ) => {
7
+ if (!serverVersions || !clientVersions) {
8
+ return { needsSync: false, stale: [] };
9
+ }
10
+
11
+ const stale: string[] = [];
12
+ let needsSync = false;
13
+
14
+ for (const [modulePath, serverVersion] of Object.entries(serverVersions)) {
15
+ const clientVersion = clientVersions[modulePath];
16
+
17
+ if (clientVersion === undefined || clientVersion < serverVersion) {
18
+ stale.push(modulePath);
19
+ needsSync = true;
20
+ }
21
+ }
22
+
23
+ return { needsSync, stale };
24
+ };
25
+
26
+ export const prefetchModules = (
27
+ modulePaths: string[],
28
+ manifest: Record<string, string> | undefined
29
+ ) => {
30
+ const prefetchPromises: Promise<unknown>[] = [];
31
+
32
+ for (const modulePath of modulePaths) {
33
+ let manifestPath = modulePath;
34
+ for (const key in manifest || {}) {
35
+ if (Object.prototype.hasOwnProperty.call(manifest, key)) {
36
+ const path = manifest![key]!;
37
+ if (path === modulePath || path.includes(modulePath)) {
38
+ manifestPath = path;
39
+ break;
40
+ }
41
+ }
42
+ }
43
+
44
+ const cacheBuster = '?t=' + Date.now();
45
+ const fullPath = manifestPath.startsWith('/')
46
+ ? manifestPath + cacheBuster
47
+ : '/' + manifestPath + cacheBuster;
48
+
49
+ prefetchPromises.push(
50
+ import(/* @vite-ignore */ fullPath).catch(function () {
51
+ /* ignore */
52
+ })
53
+ );
54
+ }
55
+
56
+ return Promise.all(prefetchPromises);
57
+ };
@@ -0,0 +1,21 @@
1
+ /* React Refresh runtime setup — must be imported before any component modules.
2
+ Bun's reactFastRefresh flag injects $RefreshSig$/$RefreshReg$ calls into
3
+ component code. This module ensures those globals exist before components
4
+ initialize.
5
+
6
+ IMPORTANT: This module is idempotent. On HMR re-import the existing runtime
7
+ is preserved so new component registrations feed into the SAME RefreshRuntime
8
+ instance that owns the current React tree. */
9
+
10
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11
+ // @ts-ignore — react-refresh has no type declarations
12
+ import RefreshRuntime from 'react-refresh/runtime';
13
+
14
+ if (!window.$RefreshRuntime$) {
15
+ RefreshRuntime.injectIntoGlobalHook(window);
16
+ window.$RefreshRuntime$ = RefreshRuntime;
17
+ window.$RefreshReg$ = (type: unknown, id: string) =>
18
+ RefreshRuntime.register(type, id);
19
+ window.$RefreshSig$ = () =>
20
+ RefreshRuntime.createSignatureFunctionForTransform();
21
+ }