@appweaver/create-weaver-app 1.0.23 → 1.0.24
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/create-weaver-app.js +6 -6
- package/package.json +1 -1
- package/skill/SKILL.md +2 -1
- package/skill/references/cli.md +7 -6
- package/skill/references/client.md +25 -7
package/create-weaver-app.js
CHANGED
|
@@ -285,11 +285,11 @@ function getDatabaseDockerConfig(command, name) {
|
|
|
285
285
|
},
|
|
286
286
|
mysql: {
|
|
287
287
|
service: ` mysql:
|
|
288
|
-
image:
|
|
288
|
+
image: mariadb:11.4
|
|
289
289
|
container_name: ${name}-mysql
|
|
290
290
|
restart: unless-stopped
|
|
291
291
|
healthcheck:
|
|
292
|
-
test: [ "CMD", "
|
|
292
|
+
test: [ "CMD", "healthcheck.sh", "--connect", "--innodb_initialized" ]
|
|
293
293
|
interval: 30s
|
|
294
294
|
timeout: 10s
|
|
295
295
|
retries: 10
|
|
@@ -298,10 +298,10 @@ function getDatabaseDockerConfig(command, name) {
|
|
|
298
298
|
ports:
|
|
299
299
|
- "127.0.0.1:3307:3306"
|
|
300
300
|
environment:
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
301
|
+
MARIADB_DATABASE: "\${DB_NAME}"
|
|
302
|
+
MARIADB_USER: "\${DB_USER}"
|
|
303
|
+
MARIADB_PASSWORD: "\${DB_PASSWORD}"
|
|
304
|
+
MARIADB_ROOT_PASSWORD: "\${DB_PASSWORD}"
|
|
305
305
|
volumes:
|
|
306
306
|
- mysql-data:/var/lib/mysql
|
|
307
307
|
networks:
|
package/package.json
CHANGED
package/skill/SKILL.md
CHANGED
|
@@ -553,7 +553,8 @@ weaver openapi --format yaml # generate schema in yaml
|
|
|
553
553
|
weaver update # update all @appweaver/* packages to latest
|
|
554
554
|
weaver update @appweaver/core @appweaver/cli # update specific packages
|
|
555
555
|
weaver update --targetVersion 1.2.3 # update to a specific version
|
|
556
|
-
weaver update --noSkill # skip updating AI agent skill files
|
|
556
|
+
weaver update --noSkill # skip updating AI agent skill files (.claude, .agents, …)
|
|
557
|
+
weaver update --noGuidelines # skip updating AI agent guideline files (AGENTS.md, CLAUDE.md)
|
|
557
558
|
weaver update --force # force update despite peerDependency mismatches
|
|
558
559
|
```
|
|
559
560
|
|
package/skill/references/cli.md
CHANGED
|
@@ -205,9 +205,10 @@ Update the Appweaver packages.
|
|
|
205
205
|
|
|
206
206
|
**Options:**
|
|
207
207
|
|
|
208
|
-
| Option | Description
|
|
209
|
-
|
|
210
|
-
| `--targetVersion [targetVersion]` | The version to update the packages to
|
|
211
|
-
| `--noSkill` | Skip updating AI agents skill files in
|
|
212
|
-
|
|
|
213
|
-
|
|
|
208
|
+
| Option | Description | Default |
|
|
209
|
+
|-----------------------------------|-------------------------------------------------------------------------|------------|
|
|
210
|
+
| `--targetVersion [targetVersion]` | The version to update the packages to | `"latest"` |
|
|
211
|
+
| `--noSkill` | Skip updating AI agents skill files in agent dirs (`.claude`, `.agents`, …) | `false` |
|
|
212
|
+
| `--noGuidelines` | Skip updating AI agents guideline files (`AGENTS.md`, `CLAUDE.md`) | `false` |
|
|
213
|
+
| `-f, --force` | Force update despite peerDependency version mismatches | `false` |
|
|
214
|
+
| `--verbose` | Print verbose output | `false` |
|
|
@@ -8,6 +8,23 @@ distinct parts:
|
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
+
## Module formats (ESM & CommonJS)
|
|
12
|
+
|
|
13
|
+
The package ships **both** an ESM and a CommonJS build, selected automatically via the `exports` map — no configuration
|
|
14
|
+
needed. Both import styles work for the main entry and the `/angular` subpath:
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
// ESM (tree-shakable — preferred for bundlers like Angular/Vite/webpack prod builds)
|
|
18
|
+
import { FetchClient, ClientError } from '@appweaver/client';
|
|
19
|
+
import { AngularClient } from '@appweaver/client/angular';
|
|
20
|
+
|
|
21
|
+
// CommonJS (e.g. plain Node scripts without a build step)
|
|
22
|
+
const { FetchClient, ClientError } = require('@appweaver/client');
|
|
23
|
+
const { AngularClient } = require('@appweaver/client/angular');
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
11
28
|
## `weaver-client` CLI
|
|
12
29
|
|
|
13
30
|
```
|
|
@@ -52,8 +69,8 @@ Reads an OpenAPI v3 schema and generates TypeScript types and a typed client cla
|
|
|
52
69
|
**Generation process:**
|
|
53
70
|
|
|
54
71
|
1. Reads and parses the schema (JSON or YAML, local or remote).
|
|
55
|
-
2. Generates TypeScript interfaces via `openapi-typescript`, enriching them with JSDoc validation tags
|
|
56
|
-
|
|
72
|
+
2. Generates TypeScript interfaces via `openapi-typescript`, enriching them with JSDoc validation tags (`@minLength`,
|
|
73
|
+
`@maxLength`, `@minimum`, `@maximum`, `@pattern`, `@format`).
|
|
57
74
|
3. Deduplicates union types and extracts inline schemas to named exported types.
|
|
58
75
|
4. Classifies all API paths into route groups: resources, auth, account, health, files, and custom.
|
|
59
76
|
5. Emits a typed client class extending `FetchClient<Paths>` with a getter for each route group. Resources with
|
|
@@ -161,8 +178,8 @@ operations not exposed by the API.
|
|
|
161
178
|
|
|
162
179
|
### Angular client (`--framework angular`)
|
|
163
180
|
|
|
164
|
-
Passing `--framework angular` generates a client class extending `AngularClient` instead of `FetchClient`. The
|
|
165
|
-
|
|
181
|
+
Passing `--framework angular` generates a client class extending `AngularClient` instead of `FetchClient`. The generated
|
|
182
|
+
class is constructed with Angular's `HttpClient` and all its methods return RxJS `Observable`s instead of
|
|
166
183
|
`Promise`s:
|
|
167
184
|
|
|
168
185
|
```ts
|
|
@@ -172,7 +189,8 @@ import { HttpClient } from '@angular/common/http';
|
|
|
172
189
|
|
|
173
190
|
// In an Angular service or provider:
|
|
174
191
|
const client = new CMSAPIClient(httpClient, { baseUrl: 'http://localhost:3000' });
|
|
175
|
-
client.user.query({ filter: { enabled: true } }).subscribe((users) => {
|
|
192
|
+
client.user.query({ filter: { enabled: true } }).subscribe((users) => {
|
|
193
|
+
});
|
|
176
194
|
```
|
|
177
195
|
|
|
178
196
|
**Important:** `AngularClient` is only available from the `@appweaver/client/angular` subpath — it is not exported from
|
|
@@ -460,8 +478,8 @@ const data = await client.sendRequest('get', '/api/custom-endpoint');
|
|
|
460
478
|
|
|
461
479
|
### `sendRequestRaw`
|
|
462
480
|
|
|
463
|
-
Returns the raw `{ data, error, response }` tuple from `openapi-fetch` without throwing. Useful when the caller
|
|
464
|
-
|
|
481
|
+
Returns the raw `{ data, error, response }` tuple from `openapi-fetch` without throwing. Useful when the caller needs to
|
|
482
|
+
inspect error details or branch on status codes.
|
|
465
483
|
|
|
466
484
|
```ts
|
|
467
485
|
const { data, error, response } = await client.sendRequestRaw('post', '/api/custom-endpoint', {
|