@ultimat3/admin 28.0.0 → 29.0.0
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 +2 -1
- package/package.json +18 -18
- package/src/dev/server.ts +3 -3
package/README.md
CHANGED
|
@@ -95,7 +95,8 @@ Every route is `ssr`, `hydrate: 'never'` (unless an app file claimed it — Cust
|
|
|
95
95
|
is `<Pagination hrefFor>`, a sort header is a link, scope tabs are links, the filter bar is one
|
|
96
96
|
GET form, a form posts at the URL that rendered it and a refused one comes back 422 with what was
|
|
97
97
|
typed. A write that worked is a 303. Every admin document is `noindex, nofollow`, and carries no
|
|
98
|
-
`og:*` or `twitter:*` tag (`@ultimat3/seo` withdraws them from
|
|
98
|
+
`og:*` or `twitter:*` tag (`@ultimat3/seo` withdraws them from a `noindex` document unless the
|
|
99
|
+
route declares `socialCard: true`; no admin route declares it).
|
|
99
100
|
|
|
100
101
|
### The list an operator works in
|
|
101
102
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ultimat3/admin",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "29.0.0",
|
|
4
4
|
"description": "Two dashboards: the /_x framework dev panels and the generated, AI-first app admin",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -27,28 +27,28 @@
|
|
|
27
27
|
"LICENSE"
|
|
28
28
|
],
|
|
29
29
|
"engines": {
|
|
30
|
-
"bun": ">=1.4.
|
|
30
|
+
"bun": ">=1.4.4"
|
|
31
31
|
},
|
|
32
32
|
"scripts": {
|
|
33
33
|
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
34
34
|
"test": "bun test"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@ultimat3/action": "
|
|
38
|
-
"@ultimat3/ai": "
|
|
39
|
-
"@ultimat3/cache": "
|
|
40
|
-
"@ultimat3/core": "
|
|
41
|
-
"@ultimat3/db": "
|
|
42
|
-
"@ultimat3/entity": "
|
|
43
|
-
"@ultimat3/http": "
|
|
44
|
-
"@ultimat3/i18n": "
|
|
45
|
-
"@ultimat3/jobs": "
|
|
46
|
-
"@ultimat3/mcp": "
|
|
47
|
-
"@ultimat3/money": "
|
|
48
|
-
"@ultimat3/policy": "
|
|
49
|
-
"@ultimat3/query": "
|
|
50
|
-
"@ultimat3/render": "
|
|
51
|
-
"@ultimat3/schema": "
|
|
52
|
-
"@ultimat3/ui": "
|
|
37
|
+
"@ultimat3/action": "29.0.0",
|
|
38
|
+
"@ultimat3/ai": "29.0.0",
|
|
39
|
+
"@ultimat3/cache": "29.0.0",
|
|
40
|
+
"@ultimat3/core": "29.0.0",
|
|
41
|
+
"@ultimat3/db": "29.0.0",
|
|
42
|
+
"@ultimat3/entity": "29.0.0",
|
|
43
|
+
"@ultimat3/http": "29.0.0",
|
|
44
|
+
"@ultimat3/i18n": "29.0.0",
|
|
45
|
+
"@ultimat3/jobs": "29.0.0",
|
|
46
|
+
"@ultimat3/mcp": "29.0.0",
|
|
47
|
+
"@ultimat3/money": "29.0.0",
|
|
48
|
+
"@ultimat3/policy": "29.0.0",
|
|
49
|
+
"@ultimat3/query": "29.0.0",
|
|
50
|
+
"@ultimat3/render": "29.0.0",
|
|
51
|
+
"@ultimat3/schema": "29.0.0",
|
|
52
|
+
"@ultimat3/ui": "29.0.0"
|
|
53
53
|
}
|
|
54
54
|
}
|
package/src/dev/server.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// SQL, policy traces, and caught mail. The refusal is a throw at construction, not a 404 at
|
|
3
3
|
// request time: an app that boots with /_x mounted in prod has already lost.
|
|
4
4
|
|
|
5
|
-
// Type-only, so it is erased and the
|
|
5
|
+
// Type-only, so it is erased and the `@ultimat3/ui` barrel stays out of the mount graph — the
|
|
6
6
|
// values arrive through the dynamic `import()` in `devShellStyle()`, same reason as `data.ts`.
|
|
7
7
|
import { DEFAULT_ENVIRONMENT, escapeHtml, tryResolveEnvironment } from '@ultimat3/core';
|
|
8
8
|
import type { ColorRole } from '@ultimat3/ui';
|
|
@@ -135,7 +135,7 @@ let stylePromise: Promise<string> | undefined;
|
|
|
135
135
|
* VALUES are read from `@ultimat3/ui` rather than copied, because the copy that used to live
|
|
136
136
|
* here went stale through a WCAG retune and shipped `line` on `surface-raised` at 1.16:1.
|
|
137
137
|
* Reached by dynamic `import()` for the same reason `data.ts` is: /_x stays out of the
|
|
138
|
-
* production graph, and the
|
|
138
|
+
* production graph, and the `@ultimat3/ui` barrel loads only once a panel is actually drawn.
|
|
139
139
|
*
|
|
140
140
|
* Exported because the host that mounts /_x is the one that configures the CSP the panels are
|
|
141
141
|
* served under, and the `style-src` hash it needs is of THIS text — a host that hashed its own
|
|
@@ -160,7 +160,7 @@ export function devShellStyle(): Promise<string> {
|
|
|
160
160
|
return stylePromise;
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
-
/** The read itself. Dynamic, so the
|
|
163
|
+
/** The read itself. Dynamic, so the `@ultimat3/ui` barrel stays out of the production graph. */
|
|
164
164
|
async function loadShellStyle(): Promise<string> {
|
|
165
165
|
const { colorTokens } = await import('@ultimat3/ui');
|
|
166
166
|
const block = (theme: 'light' | 'dark'): string =>
|