uniweb 0.9.7 → 0.10.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uniweb",
3
- "version": "0.9.7",
3
+ "version": "0.10.0",
4
4
  "description": "Create structured Vite + React sites with content/code separation",
5
5
  "type": "module",
6
6
  "bin": {
@@ -41,14 +41,14 @@
41
41
  "js-yaml": "^4.1.0",
42
42
  "prompts": "^2.4.2",
43
43
  "tar": "^7.0.0",
44
- "@uniweb/core": "0.6.2",
45
- "@uniweb/runtime": "0.7.5",
46
- "@uniweb/kit": "0.8.3"
44
+ "@uniweb/core": "0.7.0",
45
+ "@uniweb/kit": "0.9.0",
46
+ "@uniweb/runtime": "0.8.0"
47
47
  },
48
48
  "peerDependencies": {
49
- "@uniweb/build": "0.9.5",
50
49
  "@uniweb/content-reader": "1.1.4",
51
- "@uniweb/semantic-parser": "1.1.9"
50
+ "@uniweb/semantic-parser": "1.1.9",
51
+ "@uniweb/build": "0.10.0"
52
52
  },
53
53
  "peerDependenciesMeta": {
54
54
  "@uniweb/build": {
@@ -878,7 +878,24 @@ function Article({ content, block }) {
878
878
  }
879
879
  ```
880
880
 
881
- Components can ignore keys in `content.data` they don't need — the same way unused `params` are ignored. For declarative shape hints consumed by the editor and `prepare-props`, add `data: { entity: 'articles' }` to `meta.js`. For an explicit opt-out (rare), set `data: false`. See [Data Fetching](https://github.com/uniweb/docs/blob/main/reference/data-fetching.md) for the full model.
881
+ Components can ignore keys in `content.data` they don't need — the same way unused `params` are ignored. For declarative shape hints consumed by the editor and `prepare-props`, add `data: { entity: 'articles' }` to `meta.js`. For an explicit opt-out (rare), set `data: false`.
882
+
883
+ **Authoring queries.** Fetch declarations (`fetch:` or the `data:` shorthand) accept query operators that describe which records you want, in what order, how many: `where:` (a where-object predicate), `sort:` (e.g. `date desc`), `limit:` (first N records). Whether the source evaluates them or the framework applies them as a runtime fallback is a transport detail controlled by the site's `fetcher.supports:` declaration.
884
+
885
+ ```yaml
886
+ # pages/blog/page.yml
887
+ fetch:
888
+ collection: articles
889
+ where: { published: true, tags: featured }
890
+ sort: date desc
891
+ limit: 3
892
+ ```
893
+
894
+ **Lean lists with `deferred:`.** Collections with heavy fields (article bodies, large nested arrays) can declare `deferred: [body]` in `site.yml`. The cascade payload omits those fields; per-record full files are emitted at `/data/<name>/<slug>.json`. On dynamic-route pages the focused entity's full record is delivered automatically; elsewhere components fetch on demand via the `useEntityDetail` kit hook.
895
+
896
+ **Component-side fetching.** When a component genuinely needs to fetch something on its own (a search box, a "load more" button, a popover that lazy-loads), use the kit hooks (`useFetched`, `useCacheEntry`, `useEntityDetail`). They share the framework's cache and dispatcher with declarative fetches; same-key requests dedupe automatically.
897
+
898
+ See [Data Fetching](https://github.com/uniweb/docs/blob/main/reference/data-fetching.md) for the full model and [Predicates](https://github.com/uniweb/docs/blob/main/authoring/predicates.md) for the where-object format with examples.
882
899
 
883
900
  ### block properties
884
901
 
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "generatedAt": "2026-04-18T18:19:51.002Z",
3
+ "generatedAt": "2026-04-19T01:29:37.432Z",
4
4
  "packages": {
5
5
  "@uniweb/build": {
6
- "version": "0.9.5",
6
+ "version": "0.10.0",
7
7
  "path": "framework/build",
8
8
  "deps": [
9
9
  "@uniweb/content-reader",
@@ -24,18 +24,13 @@
24
24
  "deps": []
25
25
  },
26
26
  "@uniweb/core": {
27
- "version": "0.6.2",
27
+ "version": "0.7.0",
28
28
  "path": "framework/core",
29
29
  "deps": [
30
30
  "@uniweb/semantic-parser",
31
31
  "@uniweb/theming"
32
32
  ]
33
33
  },
34
- "@uniweb/fetchers": {
35
- "version": "0.1.0",
36
- "path": "framework/fetchers",
37
- "deps": []
38
- },
39
34
  "@uniweb/frame-bridge": {
40
35
  "version": "0.2.3",
41
36
  "path": "framework/frame-bridge",
@@ -47,7 +42,7 @@
47
42
  "deps": []
48
43
  },
49
44
  "@uniweb/kit": {
50
- "version": "0.8.3",
45
+ "version": "0.9.0",
51
46
  "path": "framework/kit",
52
47
  "deps": [
53
48
  "@uniweb/core"
@@ -63,13 +58,8 @@
63
58
  "path": "framework/press",
64
59
  "deps": []
65
60
  },
66
- "@uniweb/query": {
67
- "version": "0.1.0",
68
- "path": "framework/query",
69
- "deps": []
70
- },
71
61
  "@uniweb/runtime": {
72
- "version": "0.7.5",
62
+ "version": "0.8.0",
73
63
  "path": "framework/runtime",
74
64
  "deps": [
75
65
  "@uniweb/core",
@@ -92,7 +82,7 @@
92
82
  "deps": []
93
83
  },
94
84
  "@uniweb/templates": {
95
- "version": "0.7.30",
85
+ "version": "0.7.31",
96
86
  "path": "framework/templates",
97
87
  "deps": []
98
88
  },