@absolutejs/absolute 0.19.0-beta.1108 → 0.19.0-beta.1109
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 +27 -1
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/cli/index.js +370 -142
- package/dist/index.js +3 -3
- package/dist/index.js.map +14 -14
- package/dist/src/cli/typeGraphCoherence.d.ts +32 -0
- package/dist/src/core/prepare.d.ts +3 -3
- package/dist/src/plugins/hmr.d.ts +3 -3
- package/package.json +7 -5
package/README.md
CHANGED
|
@@ -59,7 +59,7 @@ const manifest = await build({
|
|
|
59
59
|
htmlDirectory: 'example/html',
|
|
60
60
|
htmxDirectory: 'example/htmx',
|
|
61
61
|
reactDirectory: 'example/react',
|
|
62
|
-
svelteDirectory: 'example/svelte'
|
|
62
|
+
svelteDirectory: 'example/svelte'
|
|
63
63
|
});
|
|
64
64
|
|
|
65
65
|
if (!manifest) throw new Error('Manifest generation failed');
|
|
@@ -116,6 +116,32 @@ Absolute JS piggybacks on the [Elysia plugin API](https://elysiajs.com/plugins).
|
|
|
116
116
|
| **`absolute-auth`** | Full OAuth2 flow configured with 66 providers and allows full customizability with event handlers |
|
|
117
117
|
| **`networkingPlugin`** | Starts your Elysia server with HOST/PORT defaults from environment variables |
|
|
118
118
|
|
|
119
|
+
### Elysia composition contract
|
|
120
|
+
|
|
121
|
+
This contract is written for application authors and coding agents. It avoids
|
|
122
|
+
the runaway TypeScript instantiation cost that can occur when one inferred
|
|
123
|
+
Elysia application is repeatedly extended and re-aliased.
|
|
124
|
+
|
|
125
|
+
- Start every independently owned route surface from a named `new Elysia(...)`.
|
|
126
|
+
- Give each surface its shared context and plugins explicitly. Do not create
|
|
127
|
+
`adminApp` by extending `publicApp`, for example.
|
|
128
|
+
- Prefer one shallow `.use([auth, metrics])` over a long sequence of `.use()`
|
|
129
|
+
calls. `absolute/elysia-composition-boundaries` enforces this and safely
|
|
130
|
+
auto-fixes comment-free chains.
|
|
131
|
+
- Mount independent route surfaces at the platform root. Export each real
|
|
132
|
+
sub-application type for Eden consumers instead of exporting an accumulated
|
|
133
|
+
server alias.
|
|
134
|
+
- Keep `elysia` and `@sinclair/typebox` on one physical installed identity
|
|
135
|
+
across the workspace. Run `absolute doctor`; `absolute doctor --fix` aligns
|
|
136
|
+
root overrides and rebuilds Bun's dependency graph when peer contexts drift.
|
|
137
|
+
|
|
138
|
+
After a dependency change, measure a cold typecheck once. Warm incremental
|
|
139
|
+
checks can hide an unhealthy graph:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
/usr/bin/time -v bun run tsc --noEmit --incremental false
|
|
143
|
+
```
|
|
144
|
+
|
|
119
145
|
---
|
|
120
146
|
|
|
121
147
|
## Configuration Philosophy
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
var __require = import.meta.require;
|
|
3
3
|
|
|
4
|
-
// .angular-partial-tmp-
|
|
4
|
+
// .angular-partial-tmp-Ndl7R9/src/core/streamingSlotRegistrar.ts
|
|
5
5
|
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
6
6
|
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
7
7
|
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
var __require = import.meta.require;
|
|
3
3
|
|
|
4
|
-
// .angular-partial-tmp-
|
|
4
|
+
// .angular-partial-tmp-Ndl7R9/src/core/streamingSlotRegistrar.ts
|
|
5
5
|
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
6
6
|
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
7
7
|
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
@@ -48,7 +48,7 @@ var warnMissingStreamingSlotCollector = (primitiveName) => {
|
|
|
48
48
|
getWarningController()?.maybeWarn(primitiveName);
|
|
49
49
|
};
|
|
50
50
|
|
|
51
|
-
// .angular-partial-tmp-
|
|
51
|
+
// .angular-partial-tmp-Ndl7R9/src/core/streamingSlotRegistry.ts
|
|
52
52
|
var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
|
|
53
53
|
var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
|
|
54
54
|
var isAsyncLocalStorage = (value) => isObjectRecord2(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
|