@absolutejs/absolute 0.19.0-beta.1107 → 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/angular/index.js +32 -1
- package/dist/angular/index.js.map +3 -3
- package/dist/angular/server.js +32 -1
- package/dist/angular/server.js.map +3 -3
- package/dist/build.js +86 -1
- package/dist/build.js.map +4 -4
- package/dist/cli/index.js +401 -142
- package/dist/index.js +88 -3
- package/dist/index.js.map +16 -16
- package/dist/islands/index.js +32 -1
- package/dist/islands/index.js.map +3 -3
- package/dist/react/index.js +32 -1
- package/dist/react/index.js.map +3 -3
- 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/dist/svelte/index.js +32 -1
- package/dist/svelte/index.js.map +3 -3
- package/dist/vue/index.js +32 -1
- package/dist/vue/index.js.map +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";
|
package/dist/angular/index.js
CHANGED
|
@@ -1188,6 +1188,9 @@ var SENTINEL, RISKY_STRING_CONTENT, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c)
|
|
|
1188
1188
|
const endOfInterp = (start) => {
|
|
1189
1189
|
let j = start;
|
|
1190
1190
|
let depth = 1;
|
|
1191
|
+
let ipChar = "";
|
|
1192
|
+
let ipWord = "";
|
|
1193
|
+
let ipSpace = false;
|
|
1191
1194
|
while (j < n && depth > 0) {
|
|
1192
1195
|
const c = src[j];
|
|
1193
1196
|
if (c === "\\") {
|
|
@@ -1196,10 +1199,16 @@ var SENTINEL, RISKY_STRING_CONTENT, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c)
|
|
|
1196
1199
|
}
|
|
1197
1200
|
if (c === "`") {
|
|
1198
1201
|
j = endOfTemplate(j);
|
|
1202
|
+
ipChar = ")";
|
|
1203
|
+
ipWord = "";
|
|
1204
|
+
ipSpace = false;
|
|
1199
1205
|
continue;
|
|
1200
1206
|
}
|
|
1201
1207
|
if (c === '"' || c === "'") {
|
|
1202
1208
|
j = endOfString(j);
|
|
1209
|
+
ipChar = '"';
|
|
1210
|
+
ipWord = "";
|
|
1211
|
+
ipSpace = false;
|
|
1203
1212
|
continue;
|
|
1204
1213
|
}
|
|
1205
1214
|
if (c === "/" && src[j + 1] === "/") {
|
|
@@ -1213,11 +1222,33 @@ var SENTINEL, RISKY_STRING_CONTENT, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c)
|
|
|
1213
1222
|
j = e < 0 ? n : e + 2;
|
|
1214
1223
|
continue;
|
|
1215
1224
|
}
|
|
1225
|
+
if (c === "/" && (ipChar === "" || REGEX_OK_AFTER_CHAR.has(ipChar) || REGEX_OK_AFTER_WORD.has(ipWord))) {
|
|
1226
|
+
const e = endOfRegex(j);
|
|
1227
|
+
if (e > 0) {
|
|
1228
|
+
j = e;
|
|
1229
|
+
ipChar = ")";
|
|
1230
|
+
ipWord = "";
|
|
1231
|
+
ipSpace = false;
|
|
1232
|
+
continue;
|
|
1233
|
+
}
|
|
1234
|
+
}
|
|
1216
1235
|
if (c === "{")
|
|
1217
1236
|
depth++;
|
|
1218
1237
|
else if (c === "}")
|
|
1219
1238
|
depth--;
|
|
1220
1239
|
j++;
|
|
1240
|
+
if (c === " " || c === "\t" || c === "\r" || c === `
|
|
1241
|
+
`) {
|
|
1242
|
+
ipSpace = true;
|
|
1243
|
+
continue;
|
|
1244
|
+
}
|
|
1245
|
+
if (isIdentChar(c)) {
|
|
1246
|
+
ipWord = isIdentChar(ipChar) && !ipSpace ? ipWord + c : c;
|
|
1247
|
+
} else {
|
|
1248
|
+
ipWord = "";
|
|
1249
|
+
}
|
|
1250
|
+
ipChar = c;
|
|
1251
|
+
ipSpace = false;
|
|
1221
1252
|
}
|
|
1222
1253
|
return j;
|
|
1223
1254
|
};
|
|
@@ -16184,5 +16215,5 @@ export {
|
|
|
16184
16215
|
ABSOLUTE_HTTP_TRANSFER_CACHE_SKIP_HEADER
|
|
16185
16216
|
};
|
|
16186
16217
|
|
|
16187
|
-
//# debugId=
|
|
16218
|
+
//# debugId=3DF09E6C6E9799AD64756E2164756E21
|
|
16188
16219
|
//# sourceMappingURL=index.js.map
|