@absolutejs/absolute 0.20.0-beta.141 → 0.20.0-beta.144

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 (54) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/changelog.json +40 -0
  3. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  4. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  5. package/dist/angular/index.js +2 -2
  6. package/dist/angular/index.js.map +3 -3
  7. package/dist/angular/server.js +2 -2
  8. package/dist/angular/server.js.map +3 -3
  9. package/dist/build.js +277 -196
  10. package/dist/build.js.map +23 -20
  11. package/dist/cli/{buildDepVendor-bpac1bhq.js → buildDepVendor-e2zz9x78.js} +5 -4
  12. package/dist/cli/{compile-grhs9tj4.js → compile-351tb63a.js} +2 -2
  13. package/dist/cli/config/server.js +1 -1
  14. package/dist/cli/{dev-4ps2yg1z.js → dev-d7nyd387.js} +22 -9
  15. package/dist/cli/{expoProject-kabqa80q.js → expoProject-f3eb0040.js} +1 -1
  16. package/dist/cli/index-6vpdsqa1.js +50 -0
  17. package/dist/cli/{index-h078vn9f.js → index-8s6w45zc.js} +1 -1
  18. package/dist/cli/{index-fezxjrgd.js → index-ezz88cdw.js} +1 -1
  19. package/dist/cli/{index-nrtt3x67.js → index-snz4z0tq.js} +21 -21
  20. package/dist/cli/index.js +5 -5
  21. package/dist/cli/{mobile-p657bkqa.js → mobile-dvahvjeh.js} +3 -3
  22. package/dist/cli/{start-3m7bd02e.js → start-09prwq60.js} +3 -3
  23. package/dist/client/chunks/{islands-eexr591d.js → islands-rc28k5sx.js} +7 -7
  24. package/dist/client/chunks/{islands-eexr591d.js.map → islands-rc28k5sx.js.map} +3 -3
  25. package/dist/client/index.js +2 -2
  26. package/dist/dev/serverBootstrap.js +64 -31
  27. package/dist/index.js +274 -193
  28. package/dist/index.js.map +24 -21
  29. package/dist/mobile/browser.js +1 -1
  30. package/dist/mobile/browser.js.map +3 -3
  31. package/dist/mobile/index.js +25 -25
  32. package/dist/mobile/index.js.map +6 -6
  33. package/dist/mobile/remoteMacAgentEntry.js +2 -2
  34. package/dist/react/index.js +2 -2
  35. package/dist/react/index.js.map +3 -3
  36. package/dist/react/server.js +2 -2
  37. package/dist/react/server.js.map +3 -3
  38. package/dist/src/build/importFromProject.d.ts +1 -0
  39. package/dist/src/build/workspacePackages.d.ts +2 -0
  40. package/dist/src/core/prepare.d.ts +256 -1063
  41. package/dist/src/dev/hot/plugin.d.ts +5 -0
  42. package/dist/src/dev/srcPath.d.ts +4 -0
  43. package/dist/src/mobile/nativePackages.d.ts +1 -1
  44. package/dist/src/plugins/hmr.d.ts +4 -1
  45. package/dist/svelte/index.js +2 -2
  46. package/dist/svelte/index.js.map +3 -3
  47. package/dist/svelte/server.js +2 -2
  48. package/dist/svelte/server.js.map +3 -3
  49. package/dist/vue/index.js +2 -2
  50. package/dist/vue/index.js.map +3 -3
  51. package/dist/vue/server.js +2 -2
  52. package/dist/vue/server.js.map +3 -3
  53. package/package.json +13 -13
  54. package/dist/cli/index-65kqn88a.js +0 -8
package/CHANGELOG.md CHANGED
@@ -6,6 +6,25 @@ This file is generated by `absolute-changelog` from the entries in
6
6
  `changelog/`. Edit an entry, not this file — and add new ones under
7
7
  `changelog/unreleased/`.
8
8
 
9
+ ## 0.20.0-beta.144 — 2026-10-22
10
+
11
+ ### Breaking
12
+
13
+ - **Requires Elysia 2.0.0-rc.0, @absolutejs/auth 0.101 and @absolutejs/sync 3** (`prepare`, `startDevPrebuild`)
14
+ Elysia 2.0.0-rc.0 renamed every lifecycle hook to its `on` form (request → onRequest, beforeHandle → onBeforeHandle, afterHandle → onAfterHandle, afterResponse → onAfterResponse, error → onError, parse → onParse, transform → onTransform) and removed setup/cleanup in favour of onStart/onStop. The framework now builds, tests and ships against Elysia 2.0.0-rc.0 and the matching @elysia plugins, and requires `elysia ^2.0.0-rc.0`, so it also accepts later release candidates and 2.0.0. It moves with the packages that made the same change: @absolutejs/auth 0.101 and @absolutejs/sync 3, plus pwa, sync-capacitor and sync-expo releases that accept sync 3.
15
+ _Migration:_ Upgrade `elysia` and every `@elysia/*` package to 2.0.0-rc.0 or later, `@absolutejs/auth` to 0.101 or later and `@absolutejs/sync` to 3. Then rename lifecycle hooks in your server: request → onRequest, beforeHandle → onBeforeHandle, afterHandle → onAfterHandle, afterResponse → onAfterResponse, error → onError, parse → onParse, transform → onTransform; replace setup/cleanup with onStart/onStop. The codemod at absolutejs/scripts codemods/elysia-rc-hooks.ts does the renames (run it before upgrading Elysia).
16
+
17
+ ## 0.20.0-beta.143 — 2026-10-22
18
+
19
+ ### Fixed
20
+
21
+ - **Browser test recordings and reports no longer restart absolute dev**
22
+ Running a visible Playwright test with screenshots, video or tracing caused absolute dev to repeatedly restart the application: test-results, playwright-report, blob-report and .playwright-mcp were treated as source changes. These generated directories, including their creation and removal, are now ignored by the shared watcher. Atomic-write recovery also honors ignored paths, so temporary trace writes cannot reintroduce generated files into the rebuild queue. Real test source and application assets remain watched.
23
+ - **`absolute dev` runs apps that import their own workspace packages, under Bun's isolated or hoisted linker, with hot reload**
24
+ An app that imports one of its own workspace packages (`"@acme/core": "workspace:*"`) did not run under `absolute dev`. With Bun's isolated linker, the default for a workspace, the dev build imported the package from the framework's own folder, could not find it, and the server crash-looped. With the hoisted linker the page rendered but never hydrated: modules outside the app's folder were addressed as `/@src/../…`, which a browser collapses before asking, so they 404ed. Now a package that resolves to source outside node_modules is the app's own code: served and transpiled like the app's files rather than vendored, its folder watched, and an edit to it hot-reloads in place (server and browser) instead of restarting the server or reloading the page. Packages are read from the app's folder, so any dependency only the app declares also works under the isolated linker, and the dev server serves files outside the app folder (a workspace package, a node_modules hoisted to the workspace root) through `/@src/@up/…`. A `dev.watchDirs` entry or a symlink written to work around this is no longer needed.
25
+ - **Fresh installs declare the Elysia API version this release supports**
26
+ The broad prerelease peer range allowed Elysia 2.0.0-rc.0 and beta.32, which removed the request lifecycle method used by this framework release. The Elysia peer now requires 2.0.0-beta.21, matching the version used and verified by the framework. Fresh-package acceptance reads that peer contract instead of maintaining a separate stale Elysia range.
27
+
9
28
  ## 0.20.0-beta.141 — 2026-10-19
10
29
 
11
30
  ### Added
package/changelog.json CHANGED
@@ -2,6 +2,46 @@
2
2
  "contract": 1,
3
3
  "name": "@absolutejs/absolute",
4
4
  "releases": [
5
+ {
6
+ "changes": [
7
+ {
8
+ "detail": "Elysia 2.0.0-rc.0 renamed every lifecycle hook to its `on` form (request → onRequest, beforeHandle → onBeforeHandle, afterHandle → onAfterHandle, afterResponse → onAfterResponse, error → onError, parse → onParse, transform → onTransform) and removed setup/cleanup in favour of onStart/onStop. The framework now builds, tests and ships against Elysia 2.0.0-rc.0 and the matching @elysia plugins, and requires `elysia ^2.0.0-rc.0`, so it also accepts later release candidates and 2.0.0. It moves with the packages that made the same change: @absolutejs/auth 0.101 and @absolutejs/sync 3, plus pwa, sync-capacitor and sync-expo releases that accept sync 3.",
9
+ "kind": "breaking",
10
+ "migration": {
11
+ "instruction": "Upgrade `elysia` and every `@elysia/*` package to 2.0.0-rc.0 or later, `@absolutejs/auth` to 0.101 or later and `@absolutejs/sync` to 3. Then rename lifecycle hooks in your server: request → onRequest, beforeHandle → onBeforeHandle, afterHandle → onAfterHandle, afterResponse → onAfterResponse, error → onError, parse → onParse, transform → onTransform; replace setup/cleanup with onStart/onStop. The codemod at absolutejs/scripts codemods/elysia-rc-hooks.ts does the renames (run it before upgrading Elysia).",
12
+ "manual": true
13
+ },
14
+ "summary": "Requires Elysia 2.0.0-rc.0, @absolutejs/auth 0.101 and @absolutejs/sync 3",
15
+ "symbols": [
16
+ "prepare",
17
+ "startDevPrebuild"
18
+ ]
19
+ }
20
+ ],
21
+ "date": "2026-10-22",
22
+ "version": "0.20.0-beta.144"
23
+ },
24
+ {
25
+ "changes": [
26
+ {
27
+ "detail": "Running a visible Playwright test with screenshots, video or tracing caused absolute dev to repeatedly restart the application: test-results, playwright-report, blob-report and .playwright-mcp were treated as source changes. These generated directories, including their creation and removal, are now ignored by the shared watcher. Atomic-write recovery also honors ignored paths, so temporary trace writes cannot reintroduce generated files into the rebuild queue. Real test source and application assets remain watched.",
28
+ "kind": "fixed",
29
+ "summary": "Browser test recordings and reports no longer restart absolute dev"
30
+ },
31
+ {
32
+ "detail": "An app that imports one of its own workspace packages (`\"@acme/core\": \"workspace:*\"`) did not run under `absolute dev`. With Bun's isolated linker, the default for a workspace, the dev build imported the package from the framework's own folder, could not find it, and the server crash-looped. With the hoisted linker the page rendered but never hydrated: modules outside the app's folder were addressed as `/@src/../…`, which a browser collapses before asking, so they 404ed. Now a package that resolves to source outside node_modules is the app's own code: served and transpiled like the app's files rather than vendored, its folder watched, and an edit to it hot-reloads in place (server and browser) instead of restarting the server or reloading the page. Packages are read from the app's folder, so any dependency only the app declares also works under the isolated linker, and the dev server serves files outside the app folder (a workspace package, a node_modules hoisted to the workspace root) through `/@src/@up/…`. A `dev.watchDirs` entry or a symlink written to work around this is no longer needed.",
33
+ "kind": "fixed",
34
+ "summary": "`absolute dev` runs apps that import their own workspace packages, under Bun's isolated or hoisted linker, with hot reload"
35
+ },
36
+ {
37
+ "detail": "The broad prerelease peer range allowed Elysia 2.0.0-rc.0 and beta.32, which removed the request lifecycle method used by this framework release. The Elysia peer now requires 2.0.0-beta.21, matching the version used and verified by the framework. Fresh-package acceptance reads that peer contract instead of maintaining a separate stale Elysia range.",
38
+ "kind": "fixed",
39
+ "summary": "Fresh installs declare the Elysia API version this release supports"
40
+ }
41
+ ],
42
+ "date": "2026-10-22",
43
+ "version": "0.20.0-beta.143"
44
+ },
5
45
  {
6
46
  "changes": [
7
47
  {
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- // .angular-partial-tmp-SRuGx7/src/core/streamingSlotRegistrar.ts
2
+ // .angular-partial-tmp-3ekvQH/src/core/streamingSlotRegistrar.ts
3
3
  var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
4
4
  var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
5
5
  var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- // .angular-partial-tmp-SRuGx7/src/core/streamingSlotRegistrar.ts
2
+ // .angular-partial-tmp-3ekvQH/src/core/streamingSlotRegistrar.ts
3
3
  var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
4
4
  var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
5
5
  var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
@@ -46,7 +46,7 @@ var warnMissingStreamingSlotCollector = (primitiveName) => {
46
46
  getWarningController()?.maybeWarn(primitiveName);
47
47
  };
48
48
 
49
- // .angular-partial-tmp-SRuGx7/src/core/streamingSlotRegistry.ts
49
+ // .angular-partial-tmp-3ekvQH/src/core/streamingSlotRegistry.ts
50
50
  var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
51
51
  var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
52
52
  var isAsyncLocalStorage = (value) => isObjectRecord2(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
@@ -3294,7 +3294,7 @@ var init_requestContext = __esm(() => {
3294
3294
  PAGE_WARMER_KEY = Symbol.for("absolutejs.devPageWarmer");
3295
3295
  absoluteRequestContext = new Elysia2({
3296
3296
  name: "absolutejs-request-context"
3297
- }).request(({ request }) => {
3297
+ }).onRequest(({ request }) => {
3298
3298
  ensureRequestStorage().enterWith({ request });
3299
3299
  }).as("global");
3300
3300
  CSS_KEY_RE = /(?:CSS|Css)$/;
@@ -16673,5 +16673,5 @@ export {
16673
16673
  withPendingTask
16674
16674
  };
16675
16675
 
16676
- //# debugId=E95ABCE7A65667FE64756E2164756E21
16676
+ //# debugId=762CFF957158A84564756E2164756E21
16677
16677
  //# sourceMappingURL=index.js.map