ugly-app 0.1.47 → 0.1.49
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 +50 -13
- package/dist/cli/upgrade.d.ts.map +1 -1
- package/dist/cli/upgrade.js +8 -2
- package/dist/cli/upgrade.js.map +1 -1
- package/package.json +1 -1
- package/templates/playwright.config.ts +10 -3
package/README.md
CHANGED
|
@@ -445,7 +445,22 @@ const anim = useAnimatedValue(0);
|
|
|
445
445
|
<SlideFromRight>{children}</SlideFromRight>
|
|
446
446
|
```
|
|
447
447
|
|
|
448
|
-
|
|
448
|
+
**`AnimatedValueRef` API:**
|
|
449
|
+
|
|
450
|
+
| Member | Description |
|
|
451
|
+
|--------|-------------|
|
|
452
|
+
| `current` | Current numeric value |
|
|
453
|
+
| `target` | Target value |
|
|
454
|
+
| `isAnimating` | Whether an animation is in progress |
|
|
455
|
+
| `start(target, config?)` | Animate to target. Returns `Promise<void>` |
|
|
456
|
+
| `set(value)` | Jump to value immediately (no animation) |
|
|
457
|
+
| `stop()` | Cancel the current animation |
|
|
458
|
+
| `subscribe(cb)` | Subscribe to value changes. Returns unsubscribe fn |
|
|
459
|
+
| `to(transform)` | Create a transformed value for use in `Animated` styles |
|
|
460
|
+
|
|
461
|
+
**`AnimConfig`:** `{ duration?, easing?, onRest?, onUpdate?, immediate? }`
|
|
462
|
+
|
|
463
|
+
Available easings: `easingFunctions.linear`, `easeIn`, `easeOut`, `easeInOut`, `springGentle`, `springSnappy`, `springBouncy`, `slow`.
|
|
449
464
|
|
|
450
465
|
#### Screenshot capture
|
|
451
466
|
|
|
@@ -455,6 +470,12 @@ import { captureScreenshot } from 'ugly-app/client';
|
|
|
455
470
|
const dataUrl = await captureScreenshot(); // captures the current viewport
|
|
456
471
|
```
|
|
457
472
|
|
|
473
|
+
#### UI components
|
|
474
|
+
|
|
475
|
+
`ugly-app/client` exports a set of built-in UI components:
|
|
476
|
+
|
|
477
|
+
`Button`, `Card`, `EnumInput`, `Header`, `Image`, `Input`, `Modal`, `PageLayout`, `Panel`, `PopupPanel`, `Pressable`, `ScrollView`, `SettingGroup`, `Text`, `Toast`, `View`
|
|
478
|
+
|
|
458
479
|
---
|
|
459
480
|
|
|
460
481
|
## Auth
|
|
@@ -604,8 +625,8 @@ Run `npm run db:init` to create/update indexes.
|
|
|
604
625
|
### Text generation
|
|
605
626
|
|
|
606
627
|
```typescript
|
|
607
|
-
import {
|
|
608
|
-
const textGen =
|
|
628
|
+
import { createTextGenClient } from 'ugly-app';
|
|
629
|
+
const textGen = createTextGenClient();
|
|
609
630
|
|
|
610
631
|
const text = await textGen.generate(messages);
|
|
611
632
|
const json = await textGen.generateJson(schema, messages); // Zod schema, retries on parse failure
|
|
@@ -626,8 +647,8 @@ Use `provider: 'auto'` (default) to let the system pick based on requirements.
|
|
|
626
647
|
### Image generation
|
|
627
648
|
|
|
628
649
|
```typescript
|
|
629
|
-
import {
|
|
630
|
-
const imageGen =
|
|
650
|
+
import { createImageGenClient } from 'ugly-app';
|
|
651
|
+
const imageGen = createImageGenClient();
|
|
631
652
|
|
|
632
653
|
const url = await imageGen.generate(prompt, { width: 1024, height: 1024 });
|
|
633
654
|
```
|
|
@@ -841,13 +862,17 @@ Run with `npm run db:migrate`. Use `npm run db:migrate -- --status` to preview p
|
|
|
841
862
|
|---------|-------------|
|
|
842
863
|
| `ugly-app init <name>` | Scaffold a new project |
|
|
843
864
|
| `ugly-app upgrade` | Upgrade framework config files to the latest version |
|
|
844
|
-
| `ugly-app
|
|
865
|
+
| `ugly-app configure` | Generate `.uglyapp` config |
|
|
866
|
+
| `ugly-app dev` | Start all dev services (Docker, server, Vite, tsc, eslint) |
|
|
845
867
|
| `ugly-app build` | Production build |
|
|
868
|
+
| `ugly-app login` | Login to ugly.bot |
|
|
846
869
|
| `ugly-app db:init` | Create/update MongoDB indexes |
|
|
847
870
|
| `ugly-app db:migrate` | Run pending migrations (`--status` to preview) |
|
|
848
871
|
| `ugly-app deploy:single` | Deploy to a single server |
|
|
849
872
|
| `ugly-app deploy:multi` | Deploy to multiple servers |
|
|
850
|
-
| `ugly-app publish:assets` | Push static assets to CDN |
|
|
873
|
+
| `ugly-app publish:assets` | Push static assets to CDN (`--dry-run` to preview) |
|
|
874
|
+
| `ugly-app purge:assets` | Clean old builds (`--keep <n>`, `--dry-run`) |
|
|
875
|
+
| `ugly-app test:e2e` | Run Playwright end-to-end tests (`--headed` for browser) |
|
|
851
876
|
| `ugly-app logs:local` | Query local dev logs |
|
|
852
877
|
| `ugly-app logs:server` | Query server logs from MongoDB |
|
|
853
878
|
| `ugly-app error:local` / `error:server` | Query error logs |
|
|
@@ -858,6 +883,18 @@ Run with `npm run db:migrate`. Use `npm run db:migrate -- --status` to preview p
|
|
|
858
883
|
|
|
859
884
|
---
|
|
860
885
|
|
|
886
|
+
## Package entry points
|
|
887
|
+
|
|
888
|
+
| Import path | Description |
|
|
889
|
+
|-------------|-------------|
|
|
890
|
+
| `ugly-app` | Server APIs (createApp, DB, auth, AI, email, storage, etc.) |
|
|
891
|
+
| `ugly-app/shared` | Shared types and utilities (defineRequests, defineCollections, definePage, Zod, etc.) |
|
|
892
|
+
| `ugly-app/client` | Client APIs (createSocket, createRouter, AppProvider, components, animations, etc.) |
|
|
893
|
+
| `ugly-app/playwright` | Playwright test utilities |
|
|
894
|
+
| `ugly-app/webrtc` | WebRTC utilities |
|
|
895
|
+
|
|
896
|
+
---
|
|
897
|
+
|
|
861
898
|
## Environment variables
|
|
862
899
|
|
|
863
900
|
| Variable | Description |
|
|
@@ -888,12 +925,6 @@ Client-side variables must be prefixed with `VITE_`.
|
|
|
888
925
|
|
|
889
926
|
---
|
|
890
927
|
|
|
891
|
-
## Tech stack
|
|
892
|
-
|
|
893
|
-
Node.js · TypeScript · Express · React 19 · Vite · Tailwind CSS · MongoDB · NATS · Redis · Cloudflare R2 · Zod · JWT (jose) · ugly.bot OAuth
|
|
894
|
-
|
|
895
|
-
---
|
|
896
|
-
|
|
897
928
|
## Shared utilities
|
|
898
929
|
|
|
899
930
|
`ugly-app/shared` exports common helpers used by both server and client:
|
|
@@ -925,3 +956,9 @@ oneHour; // 3_600_000
|
|
|
925
956
|
oneDay; // 86_400_000
|
|
926
957
|
oneWeek; // 604_800_000
|
|
927
958
|
```
|
|
959
|
+
|
|
960
|
+
---
|
|
961
|
+
|
|
962
|
+
## Tech stack
|
|
963
|
+
|
|
964
|
+
Node.js · TypeScript · Express · React 19 · Vite · Tailwind CSS · MongoDB · NATS · Redis · Cloudflare R2 · Zod · JWT (jose) · ugly.bot OAuth
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/cli/upgrade.ts"],"names":[],"mappings":"AA0BA,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/cli/upgrade.ts"],"names":[],"mappings":"AA0BA,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAsKhD"}
|
package/dist/cli/upgrade.js
CHANGED
|
@@ -26,11 +26,17 @@ export async function runUpgrade() {
|
|
|
26
26
|
throw new Error('Not an ugly-app project (no .uglyapp file found)');
|
|
27
27
|
}
|
|
28
28
|
// Print version info
|
|
29
|
-
const cliPkg = JSON.parse(await fs.readFile(path.join(__dirname, '../../package.json'), 'utf-8'));
|
|
30
29
|
const installedPkg = (await fs
|
|
31
30
|
.readJson(path.join(cwd, 'node_modules/ugly-app/package.json'))
|
|
32
31
|
.catch(() => ({ version: 'unknown' })));
|
|
33
|
-
|
|
32
|
+
let latestVersion = 'latest';
|
|
33
|
+
try {
|
|
34
|
+
latestVersion = execSync('npm show ugly-app version', { encoding: 'utf-8' }).trim();
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// ignore
|
|
38
|
+
}
|
|
39
|
+
console.log(`[ugly-app] Upgrading from ${installedPkg.version} → ${latestVersion}`);
|
|
34
40
|
console.log('[ugly-app] Updating package...');
|
|
35
41
|
execSync('npm install ugly-app@latest', { cwd, stdio: 'inherit' });
|
|
36
42
|
const updated = [];
|
package/dist/cli/upgrade.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/cli/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE9D,MAAM,YAAY,GAAG;IACnB,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,eAAe;IACf,mBAAmB;IACnB,WAAW;IACX,sBAAsB;IACtB,mBAAmB;IACnB,uBAAuB;CACxB,CAAC;AAEF,uFAAuF;AACvF,MAAM,aAAa,GAAyC,EAAE,CAAC;AAC/D,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,qBAAqB;IACrB,MAAM,
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/cli/upgrade.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,13 +2,20 @@ import { defineConfig, devices } from '@playwright/test';
|
|
|
2
2
|
|
|
3
3
|
export default defineConfig({
|
|
4
4
|
testDir: './tests/e2e',
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
fullyParallel: true,
|
|
6
|
+
forbidOnly: !!process.env['CI'],
|
|
7
|
+
retries: process.env['CI'] ? 2 : 0,
|
|
8
|
+
workers: process.env['CI'] ? 1 : undefined,
|
|
8
9
|
reporter: 'list',
|
|
10
|
+
outputDir: 'test-results',
|
|
11
|
+
timeout: 30_000,
|
|
12
|
+
expect: {
|
|
13
|
+
timeout: 10_000,
|
|
14
|
+
},
|
|
9
15
|
use: {
|
|
10
16
|
baseURL: 'http://localhost:3000',
|
|
11
17
|
screenshot: 'only-on-failure',
|
|
18
|
+
video: 'on-first-retry',
|
|
12
19
|
trace: 'on-first-retry',
|
|
13
20
|
actionTimeout: 10_000,
|
|
14
21
|
navigationTimeout: 30_000,
|