ugly-app 0.1.900 → 0.1.901
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 +59 -58
- package/dist/cli/buildWorkers.d.ts.map +1 -1
- package/dist/cli/buildWorkers.js +7 -1
- package/dist/cli/buildWorkers.js.map +1 -1
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/package.json +1 -1
- package/src/cli/buildWorkers.pwa.test.ts +19 -0
- package/src/cli/buildWorkers.ts +7 -1
- package/src/cli/version.ts +1 -1
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# ugly-app
|
|
2
2
|
|
|
3
|
-
A full-stack TypeScript framework for shipping production web apps
|
|
3
|
+
A full-stack TypeScript framework for shipping production web apps. Scaffold with `npx ugly-app init my-app` and get an opinionated Express + React + PostgreSQL stack with type-safe RPC over WebSocket and HTTP, real-time document tracking, built-in auth, AI generation, storage, workers, and a CLI for every workflow.
|
|
4
4
|
|
|
5
|
-
ugly-app is designed to be deployed and operated through [ugly.bot](https://ugly.bot) — the platform provides auth, infra (PostgreSQL, Qdrant, NATS, S3-compatible object storage), AI provider keys, and deployment. Your app talks to all of this through the project's dev tunnel and
|
|
5
|
+
ugly-app is designed to be deployed and operated through [ugly.bot](https://ugly.bot) — the platform provides auth, infra (PostgreSQL, Qdrant, NATS, S3-compatible object storage), AI provider keys, and deployment. Your app talks to all of this through the project's dev tunnel and its `UGLY_BOT_TOKEN`.
|
|
6
6
|
|
|
7
7
|
## What's included
|
|
8
8
|
|
|
@@ -14,8 +14,6 @@ ugly-app is designed to be deployed and operated through [ugly.bot](https://ugly
|
|
|
14
14
|
- **Realtime** — NATS pub/sub and document change subscriptions (`trackDoc` / `trackDocs`).
|
|
15
15
|
- **Storage** — S3-compatible buckets with presigned uploads.
|
|
16
16
|
- **Workers & cron** — `setWorkers()` registers named async tasks with optional Zod input schemas and cron schedules.
|
|
17
|
-
- **Localization** — Strings tables with critical-string SSR injection.
|
|
18
|
-
- **Experiments** — Deterministic A/B bucketing tied to event logging.
|
|
19
17
|
- **Two-adapter deploy** — Same source runs on Node (Express) or Cloudflare Workers (Hono + Durable Objects).
|
|
20
18
|
- **CLI** — `ugly-app` commands for dev, build, deploy, migrations, logs, AI, and auth.
|
|
21
19
|
|
|
@@ -51,7 +49,7 @@ import { pages } from '../shared/pages';
|
|
|
51
49
|
const cronHandlers: WorkerHandlers<typeof cronTasks> = { /* … */ };
|
|
52
50
|
|
|
53
51
|
const app = createApp(
|
|
54
|
-
{ requests, messages },
|
|
52
|
+
{ requests, messages }, // AppRegistryBase (add `pages` here for typed pushSend)
|
|
55
53
|
{ /* handlers… */ } satisfies RequestHandlers<typeof requests>,
|
|
56
54
|
collections,
|
|
57
55
|
(configurator: AppConfigurator) => {
|
|
@@ -88,9 +86,9 @@ Passing `pages` in the registry (`{ requests, messages, pages }`) upgrades `app.
|
|
|
88
86
|
| `db` | The `TypedDB<Map>` (map inferred from your collections + framework built-ins). |
|
|
89
87
|
| `httpServer` | The underlying Node `http.Server`. |
|
|
90
88
|
| `wss` | The main `WebSocketServer` (path set by `setWsPath`, default `/rpc`). |
|
|
91
|
-
| `dispatch(name, input, userId)` | Invoke an RPC handler programmatically (from
|
|
89
|
+
| `dispatch(name, input, userId)` | Invoke an RPC handler programmatically (inherited from `AppRouter`). |
|
|
92
90
|
| `registerRoutes(fn)` | Mount additional Express routes after creation. |
|
|
93
|
-
| `pushSend({ page, query,
|
|
91
|
+
| `pushSend({ targetUserId, title, body, page, query, imageUrl?, requireAuth? })` | Send a push whose click-through target is a route from this app's `pages` table. `page` and `query` are type-checked when the registry carries `pages`; the framework mints a `https://ugly.bot/l/<code>` short link so the click-through is always absolute + dock-app-routable. |
|
|
94
92
|
|
|
95
93
|
Framework services start automatically inside `app.start()`: schema drift check, NATS connection + KV buckets, data-proxy connection, event-counter flush, TTL cleanup for log tables, console/error capture, and ugly.bot log forwarding. Postgres, NATS, storage, and AI clients are loaded **lazily** — a host without `DATABASE_URL` / `NATS_URL` / `R2_BUCKET` doesn't pay their startup cost.
|
|
96
94
|
|
|
@@ -222,11 +220,17 @@ export const collections = defineCollections({
|
|
|
222
220
|
- `search?: { fields, language? }` — full-text index over the named JSONB paths (Neon: Postgres FTS; D1: SQLite FTS5, ranked by bm25).
|
|
223
221
|
- `vector?: { dimensions, metric?, filterable? }` — ANN index. The vector is supplied out-of-band at write time (`setDoc(c, doc, { vec })`) — never stored in the doc JSON. Query with `getDocs(c, filter, { near })`.
|
|
224
222
|
|
|
225
|
-
All documents extend `DBObject`: `{ _id, version, created, updated }`. Use `dbDefaults()` to stamp `version
|
|
223
|
+
All documents extend `DBObject`: `{ _id, version, created, updated }`. Use `dbDefaults()` to stamp `version` / `created` / `updated` on inserts. **Always generate `_id` with `nanoid()`** — never `crypto.randomUUID()`, `Date.now()`, or `Math.random()` (see `CLAUDE.md`).
|
|
226
224
|
|
|
227
225
|
After schema changes, run `npm run db:schema-gen` then `npm run db:migrate`. The app refuses to start when drift is detected (set `SCHEMA_CHECK_SKIP=true` only as a last resort).
|
|
228
226
|
|
|
229
|
-
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Routing
|
|
230
|
+
|
|
231
|
+
Route definitions live in `shared/pages.ts`; the client-side router is created by `createRouter({ pages, allPages? })`.
|
|
232
|
+
|
|
233
|
+
### `definePage` / `definePages` (`shared/pages.ts`)
|
|
230
234
|
|
|
231
235
|
```typescript
|
|
232
236
|
import { definePage, definePages } from 'ugly-app/shared';
|
|
@@ -251,54 +255,9 @@ Path syntax: `:param` matches a single path segment; `*param` is greedy (capture
|
|
|
251
255
|
|
|
252
256
|
`definePages<T>(p)` is a pass-through identity — use it to give the registry a name.
|
|
253
257
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
## Client — `bootstrapApp()`
|
|
257
|
-
|
|
258
|
-
The recommended entry point. Handles auth detection, socket creation, background account-sync with ugly.bot, and provider wiring.
|
|
259
|
-
|
|
260
|
-
```tsx
|
|
261
|
-
// client/main.tsx
|
|
262
|
-
import { bootstrapApp } from 'ugly-app/client';
|
|
263
|
-
import { requests } from '../shared/api';
|
|
264
|
-
import { RouterProvider, RouterView } from './router';
|
|
265
|
-
import './styles.css';
|
|
266
|
-
|
|
267
|
-
bootstrapApp({
|
|
268
|
-
requests,
|
|
269
|
-
RouterProvider,
|
|
270
|
-
render: () => <RouterView />,
|
|
271
|
-
});
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
`BootstrapAppOptions`:
|
|
275
|
-
|
|
276
|
-
| Field | Description |
|
|
277
|
-
|-------|-------------|
|
|
278
|
-
| `requests` | Your `RequestRegistry` (merged with framework requests internally). |
|
|
279
|
-
| `messages?` | Your `MessageRegistry` (merged with framework messages). |
|
|
280
|
-
| `RouterProvider` | The `RouterProvider` component returned from `createRouter()`. |
|
|
281
|
-
| `render` | Callback returning the app's UI tree (typically `<RouterView />`). |
|
|
282
|
-
| `root?` | Root element / selector (default `'#root'`). |
|
|
283
|
-
| `fallback?` | UI for unmatched routes (default: tiny "404"). |
|
|
284
|
-
| `socketUrl?` | Override the WebSocket path (default `/rpc`). |
|
|
285
|
-
| `strings?` | Localization config — when present, wraps the tree with `<StringsProvider>`. |
|
|
286
|
-
| `keyboard?: false` | Disable the framework `<KeyboardProvider>` wrapper. |
|
|
287
|
-
| `silentSso?` | Apex-domain apps that use ugly.bot as their auth authority but don't share its cookie. When `true`, a logged-out boot attempts a top-level SSO redirect (once per tab) to adopt an existing ugly.bot session. Leave unset for `*.ugly.bot` subdomains and Mode B apps. |
|
|
288
|
-
| `testMode?` | Skip ugly.bot silent SSO and trust the auth cookie the fixture set. Only honored when `UGLY_APP_TEST_MODE=1`. |
|
|
289
|
-
|
|
290
|
-
`bootstrapApp` reads `window.__AUTH_TOKEN__` (injected by the server after cookie verification). If absent, it renders unauthenticated immediately — the router's per-route auth guard surfaces `<AuthRoot>` only when the user opens a protected route. If the token is present, it connects the socket, mounts `<AppProvider>`, and renders.
|
|
291
|
-
|
|
292
|
-
After render, a hidden iframe silently calls `${UGLY_BOT_URL}/oauth/silent`: if it returns a fresh code, the cookie is refreshed via `POST /auth/verify`; if the returned account differs from the current session, the page reloads onto the live account (guarded once per from→to pair to prevent loops). Any `?ugly_oauth_code=…` in the URL (redirect-fallback OAuth code from ugly.bot) is redeemed at the top of bootstrap before anything renders.
|
|
293
|
-
|
|
294
|
-
If `bootstrapApp` is loaded at `/auth/magic-link/verify` (Mode B), it renders `<MagicLinkCallback>` instead of the regular app shell.
|
|
295
|
-
|
|
296
|
-
---
|
|
297
|
-
|
|
298
|
-
## Routing — `createRouter()`
|
|
258
|
+
### `createRouter()` (`client/router.ts`)
|
|
299
259
|
|
|
300
260
|
```typescript
|
|
301
|
-
// client/router.ts
|
|
302
261
|
import { createRouter } from 'ugly-app/client';
|
|
303
262
|
import { pages } from '../shared/pages';
|
|
304
263
|
import { allPages } from './allPages';
|
|
@@ -358,7 +317,7 @@ export default async function PageLoader({ id }: { id: string }) {
|
|
|
358
317
|
}
|
|
359
318
|
```
|
|
360
319
|
|
|
361
|
-
###
|
|
320
|
+
### `useRouter()`
|
|
362
321
|
|
|
363
322
|
```typescript
|
|
364
323
|
const {
|
|
@@ -381,7 +340,7 @@ Route names and params are fully typed against `pages`. `push` / `replace` no-op
|
|
|
381
340
|
|
|
382
341
|
### Popups — `openPopup()`
|
|
383
342
|
|
|
384
|
-
|
|
343
|
+
`useRouter().openPopup()` is the canonical modal / sheet / menu API. The router owns the popup layer, drives a spring animation, and stacks popups z-index-correctly above every page.
|
|
385
344
|
|
|
386
345
|
```tsx
|
|
387
346
|
const { openPopup } = useRouter();
|
|
@@ -405,7 +364,49 @@ handle.hide(); // dismiss programmatically
|
|
|
405
364
|
- **`transient`** — 20% opacity backdrop, **dismisses** on backdrop click.
|
|
406
365
|
- **`contextMenu`** — same as transient, intended for menus and pickers.
|
|
407
366
|
|
|
408
|
-
`renderLayer` receives `{ content, spring, hide }`: `spring` is a `createAnimatedValue()` result driving 0 → 1; `hide` closes the popup. The default layer animates open with `easeOut` (
|
|
367
|
+
`renderLayer` receives `{ content, spring, hide }`: `spring` is a `createAnimatedValue()` result driving 0 → 1; `hide` closes the popup. The default layer animates open with `easeOut` (250 ms) and closed with `easeIn` (200 ms). Popups render as siblings of the router's children (managed inside `RouterProvider`), so they stack above every page.
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
## Client — `bootstrapApp()`
|
|
372
|
+
|
|
373
|
+
The recommended entry point. Handles auth detection, socket creation, background account-sync with ugly.bot, and provider wiring.
|
|
374
|
+
|
|
375
|
+
```tsx
|
|
376
|
+
// client/main.tsx
|
|
377
|
+
import { bootstrapApp } from 'ugly-app/client';
|
|
378
|
+
import { requests } from '../shared/api';
|
|
379
|
+
import { RouterProvider, RouterView } from './router';
|
|
380
|
+
import './styles.css';
|
|
381
|
+
|
|
382
|
+
bootstrapApp({
|
|
383
|
+
requests,
|
|
384
|
+
RouterProvider,
|
|
385
|
+
render: () => <RouterView />,
|
|
386
|
+
});
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
`BootstrapAppOptions`:
|
|
390
|
+
|
|
391
|
+
| Field | Description |
|
|
392
|
+
|-------|-------------|
|
|
393
|
+
| `requests` | Your `RequestRegistry` (merged with framework requests internally). |
|
|
394
|
+
| `messages?` | Your `MessageRegistry` (merged with framework messages). |
|
|
395
|
+
| `RouterProvider` | The `RouterProvider` component returned from `createRouter()`. |
|
|
396
|
+
| `render` | Callback returning the app's UI tree (typically `<RouterView />`). |
|
|
397
|
+
| `root?` | Root element / selector (default `'#root'`). |
|
|
398
|
+
| `fallback?` | UI for unmatched routes (default: tiny "404"). |
|
|
399
|
+
| `socketUrl?` | Override the WebSocket path (default `/rpc`). |
|
|
400
|
+
| `strings?` | Localization config — when present, wraps the tree with `<StringsProvider>`. |
|
|
401
|
+
| `keyboard?: false` | Disable the framework `<KeyboardProvider>` wrapper. |
|
|
402
|
+
| `silentSso?` | Apex-domain apps that use ugly.bot as their auth authority but don't share its cookie. When `true`, a logged-out boot attempts a top-level SSO redirect (once per tab) to adopt an existing ugly.bot session. Leave unset for `*.ugly.bot` subdomains and Mode B apps. |
|
|
403
|
+
| `testMode?` | Skip ugly.bot silent SSO and trust the auth cookie the fixture set. Only honored when `UGLY_APP_TEST_MODE=1`. |
|
|
404
|
+
|
|
405
|
+
`bootstrapApp` reads `window.__AUTH_TOKEN__` (injected by the server after cookie verification). If absent, it renders unauthenticated immediately — the router's per-route auth guard surfaces `<AuthRoot>` only when the user opens a protected route. If the token is present, it connects the socket, mounts `<AppProvider>`, and renders.
|
|
406
|
+
|
|
407
|
+
After render, a hidden iframe silently calls `${UGLY_BOT_URL}/oauth/silent`: if it returns a fresh code, the cookie is refreshed via `POST /auth/verify`; if the returned account differs from the current session, the page reloads onto the live account (guarded once per from→to pair to prevent loops). Any `?ugly_oauth_code=…` in the URL (redirect-fallback OAuth code from ugly.bot) is redeemed at the top of bootstrap before anything renders.
|
|
408
|
+
|
|
409
|
+
If `bootstrapApp` is loaded at `/auth/magic-link/verify` (Mode B), it renders `<MagicLinkCallback>` instead of the regular app shell.
|
|
409
410
|
|
|
410
411
|
### `AppProvider` & `useApp()`
|
|
411
412
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildWorkers.d.ts","sourceRoot":"","sources":["../../src/cli/buildWorkers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AA0CH,UAAU,mBAAmB;IAC3B,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,eAAe,CACnC,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAoK7B;AAkDD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,IAAI,GACP,MAAM,CA2DR;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,IAAI,GACP,MAAM,
|
|
1
|
+
{"version":3,"file":"buildWorkers.d.ts","sourceRoot":"","sources":["../../src/cli/buildWorkers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AA0CH,UAAU,mBAAmB;IAC3B,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,eAAe,CACnC,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAoK7B;AAkDD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,IAAI,GACP,MAAM,CA2DR;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,IAAI,GACP,MAAM,CAgCR;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAgC3E"}
|
package/dist/cli/buildWorkers.js
CHANGED
|
@@ -295,7 +295,13 @@ export function buildWebManifest(cfg) {
|
|
|
295
295
|
const displayName = cfg?.title ?? cfg?.name ?? 'App';
|
|
296
296
|
const shortName = cfg?.title ?? cfg?.name ?? 'App';
|
|
297
297
|
const description = cfg?.shortDescription ?? cfg?.description ?? '';
|
|
298
|
-
|
|
298
|
+
// `.uglyapp` icon may be an absolute URL (e.g. https://app/icon.png) or a
|
|
299
|
+
// root-relative filename (icon.png). Normalize to a manifest-safe src: keep
|
|
300
|
+
// absolute/protocol-relative URLs as-is; root-anchor a bare filename.
|
|
301
|
+
const rawIcon = cfg?.icon ?? 'icon.png';
|
|
302
|
+
const iconSrc = /^(https?:)?\/\//i.test(rawIcon)
|
|
303
|
+
? rawIcon
|
|
304
|
+
: `/${rawIcon.replace(/^\/+/, '')}`;
|
|
299
305
|
const manifest = {
|
|
300
306
|
name: displayName,
|
|
301
307
|
short_name: shortName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildWorkers.js","sourceRoot":"","sources":["../../src/cli/buildWorkers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buildWorkers.js","sourceRoot":"","sources":["../../src/cli/buildWorkers.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.1.
|
|
1
|
+
export declare const CLI_VERSION = "0.1.901";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ugly-app",
|
|
3
3
|
"packageManager": "pnpm@10.34.5",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.901",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"comment:files": "Allowlist what ships to npm. dist = runtime; src = sourcemap targets (dist/*.js.map reference ../../src/); templates = CLI scaffold. Everything else at repo root (.pgdata local Postgres, coverage, assets/icons sources, test/, test-results/) is excluded by omission. The !negations strip the scaffold's installed deps + cruft (templates/node_modules is 200MB+ and must never ship). package.json/README/LICENSE ship automatically.",
|
|
7
7
|
"files": [
|
|
@@ -34,6 +34,25 @@ describe('buildWebManifest', () => {
|
|
|
34
34
|
).toBe(true);
|
|
35
35
|
});
|
|
36
36
|
|
|
37
|
+
it('keeps an absolute icon URL as-is (does not root-anchor it)', () => {
|
|
38
|
+
const m = JSON.parse(
|
|
39
|
+
buildWebManifest({
|
|
40
|
+
title: 'Ugly File',
|
|
41
|
+
icon: 'https://file.ugly.bot/icon.png',
|
|
42
|
+
}),
|
|
43
|
+
);
|
|
44
|
+
expect(
|
|
45
|
+
m.icons.every(
|
|
46
|
+
(i: { src: string }) => i.src === 'https://file.ugly.bot/icon.png',
|
|
47
|
+
),
|
|
48
|
+
).toBe(true);
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it('root-anchors a bare icon filename', () => {
|
|
52
|
+
const m = JSON.parse(buildWebManifest({ title: 'X', icon: 'logo.png' }));
|
|
53
|
+
expect(m.icons[0].src).toBe('/logo.png');
|
|
54
|
+
});
|
|
55
|
+
|
|
37
56
|
it('falls back to safe defaults with no config', () => {
|
|
38
57
|
const m = JSON.parse(buildWebManifest(null));
|
|
39
58
|
expect(m.name).toBe('App');
|
package/src/cli/buildWorkers.ts
CHANGED
|
@@ -405,7 +405,13 @@ export function buildWebManifest(
|
|
|
405
405
|
const displayName = cfg?.title ?? cfg?.name ?? 'App';
|
|
406
406
|
const shortName = cfg?.title ?? cfg?.name ?? 'App';
|
|
407
407
|
const description = cfg?.shortDescription ?? cfg?.description ?? '';
|
|
408
|
-
|
|
408
|
+
// `.uglyapp` icon may be an absolute URL (e.g. https://app/icon.png) or a
|
|
409
|
+
// root-relative filename (icon.png). Normalize to a manifest-safe src: keep
|
|
410
|
+
// absolute/protocol-relative URLs as-is; root-anchor a bare filename.
|
|
411
|
+
const rawIcon = cfg?.icon ?? 'icon.png';
|
|
412
|
+
const iconSrc = /^(https?:)?\/\//i.test(rawIcon)
|
|
413
|
+
? rawIcon
|
|
414
|
+
: `/${rawIcon.replace(/^\/+/, '')}`;
|
|
409
415
|
const manifest: Record<string, unknown> = {
|
|
410
416
|
name: displayName,
|
|
411
417
|
short_name: shortName,
|
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.901";
|