@hozu/cli 0.26.5 → 0.28.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.
Files changed (46) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/commands/add.d.ts.map +1 -1
  3. package/dist/commands/add.js +11 -0
  4. package/dist/commands/add.js.map +1 -1
  5. package/dist/commands/browse.d.ts.map +1 -1
  6. package/dist/commands/browse.js +18 -3
  7. package/dist/commands/browse.js.map +1 -1
  8. package/dist/commands/check.d.ts.map +1 -1
  9. package/dist/commands/check.js +2 -1
  10. package/dist/commands/check.js.map +1 -1
  11. package/dist/commands/kits.d.ts +9 -0
  12. package/dist/commands/kits.d.ts.map +1 -1
  13. package/dist/commands/kits.js +89 -0
  14. package/dist/commands/kits.js.map +1 -1
  15. package/dist/commands/scaffold.js +1 -1
  16. package/dist/commands/target.d.ts.map +1 -1
  17. package/dist/commands/target.js +42 -6
  18. package/dist/commands/target.js.map +1 -1
  19. package/dist/commands/validate.d.ts.map +1 -1
  20. package/dist/commands/validate.js +1 -0
  21. package/dist/commands/validate.js.map +1 -1
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/main.d.ts.map +1 -1
  27. package/dist/main.js +5 -3
  28. package/dist/main.js.map +1 -1
  29. package/dist/migrate/steps.d.ts.map +1 -1
  30. package/dist/migrate/steps.js +33 -0
  31. package/dist/migrate/steps.js.map +1 -1
  32. package/dist/styles.d.ts +1 -0
  33. package/dist/styles.d.ts.map +1 -1
  34. package/dist/styles.js +15 -4
  35. package/dist/styles.js.map +1 -1
  36. package/package.json +8 -8
  37. package/schema/check.schema.json +2 -1
  38. package/schema/migrate.schema.json +2 -1
  39. package/schema/render.schema.json +2 -1
  40. package/skill/topics/data.md +2 -2
  41. package/skill/topics/diagnostics.md +2 -1
  42. package/skill/topics/env.md +3 -0
  43. package/skill/topics/pages.md +2 -2
  44. package/skill/topics/recipes.md +21 -0
  45. package/skill/topics/testing.md +6 -2
  46. package/skill/topics/views.md +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../src/migrate/steps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAA+B,MAAM,eAAe,CAAA;AACtE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAMpC,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,6DAA6D;IAC7D,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACrF,sGAAsG;IACtG,SAAS,CAAC,EAAE,EAAE,IAAI,GAAG,IAAI,CAAA;IACzB,yFAAyF;IACzF,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACtE,uGAAuG;IACvG,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,sGAAsG;AACtG,eAAO,MAAM,KAAK,EAAE,IAAI,EA6NvB,CAAA;AA6BD,eAAO,MAAM,MAAM,QAAiB,CAAA;AAEpC,eAAO,MAAM,OAAO,YAAa,MAAM,KAAG,MAAkD,CAAA;AAI5F,eAAO,MAAM,YAAY,MAAO,MAAM,KAAK,MAAM,KAAG,MAInD,CAAA;AAED,gFAAgF;AAChF,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,IAAI,CAU7D"}
1
+ {"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../src/migrate/steps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAA+B,MAAM,eAAe,CAAA;AACtE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAMpC,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,6DAA6D;IAC7D,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACrF,sGAAsG;IACtG,SAAS,CAAC,EAAE,EAAE,IAAI,GAAG,IAAI,CAAA;IACzB,yFAAyF;IACzF,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACtE,uGAAuG;IACvG,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,sGAAsG;AACtG,eAAO,MAAM,KAAK,EAAE,IAAI,EAsPvB,CAAA;AAsCD,eAAO,MAAM,MAAM,QAAiB,CAAA;AAEpC,eAAO,MAAM,OAAO,YAAa,MAAM,KAAG,MAAkD,CAAA;AAI5F,eAAO,MAAM,YAAY,MAAO,MAAM,KAAK,MAAM,KAAG,MAInD,CAAA;AAED,gFAAgF;AAChF,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,IAAI,CAU7D"}
@@ -226,7 +226,40 @@ export const steps = [
226
226
  }),
227
227
  normalize: (ir) => ir,
228
228
  },
229
+ {
230
+ from: '0.26',
231
+ to: '0.27',
232
+ changes: [
233
+ 'no source change',
234
+ 'head.render may compute noindex (e.g. noindex: search.notice !== null); a computed type is HZ014 (ADR 0079)',
235
+ 'HZ072 compares shorthands with longhands (p-8 against px-3 py-2); HZ076 accepts m-auto on a dialog or popover root',
236
+ 'HZ094 warns when two stylesheets define one @theme variable with different values',
237
+ 'HZ026 lists the project’s colours for a colour utility it does not know; hozu add kit syncs every kit’s tv.ts',
238
+ ],
239
+ rewrite: (_file, source) => ({ code: source, notes: [], count: 0 }),
240
+ normalize: noindexAsValue,
241
+ unpredictable: /^\/pages\/[^/]+\/head\/noindex(\/|$)/,
242
+ },
243
+ {
244
+ from: '0.27',
245
+ to: '0.28',
246
+ changes: [
247
+ 'no source change',
248
+ "hozu add feature --with auth accepts names in any language; an app scaffolded before keeps its ASCII-only rule in features/account/model.ts (change it to /^\\s*\\p{L}[\\p{L}\\p{M} '’.·・‧-]{0,19}\\s*$/u by hand if you want it)",
249
+ 'hozu build --target node keeps .gitignore entries out of the image and prints a volume for data folders',
250
+ ],
251
+ rewrite: (_file, source) => ({ code: source, notes: [], count: 0 }),
252
+ normalize: (ir) => ir,
253
+ },
229
254
  ];
255
+ /** 0.27 stores a page's noindex as a value, so a literal true becomes { literal: true } (ADR 0079 A3a). */
256
+ function noindexAsValue(ir) {
257
+ const p = ir;
258
+ for (const page of Object.values(p.pages ?? {}))
259
+ if (page.head && typeof page.head.noindex === 'boolean')
260
+ page.head.noindex = { literal: page.head.noindex };
261
+ return ir;
262
+ }
230
263
  /** 0.22 marks a shared view only when each page lists it once (ADR 0067, 0.22 review). */
231
264
  function remarkSharedViews(ir) {
232
265
  const p = ir;
@@ -1 +1 @@
1
- {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/migrate/steps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/migrate/steps.ts"],"names":[],"mappings":"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"}
package/dist/styles.d.ts CHANGED
@@ -7,6 +7,7 @@ export interface DesignTokens {
7
7
  }
8
8
  export interface ProjectStyles {
9
9
  unknown: Map<string, string | null>;
10
+ palette: Map<string, string[]>;
10
11
  classes: Map<string, ClassStyle>;
11
12
  tokens: DesignTokens | null;
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAyB,MAAM,eAAe,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAcjD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAUD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;IACnC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAChC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;CAC5B;AAWD,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA4BzG"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAyB,MAAM,eAAe,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAejD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAWD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;IACnC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAChC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;CAC5B;AAWD,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAyCzG"}
package/dist/styles.js CHANGED
@@ -24,8 +24,16 @@ export async function projectStyles(configPath, build) {
24
24
  cached = existsSync(cacheFile) ? JSON.parse(readFileSync(cacheFile, 'utf8')) : null;
25
25
  }
26
26
  catch { }
27
- if (cached?.classes && cached.tokens !== undefined && cached.key === keyOf(build, cached.files))
28
- return { unknown: new Map(cached.unknown), classes: new Map(cached.classes), tokens: cached.tokens };
27
+ if (cached?.classes &&
28
+ cached.palette &&
29
+ cached.tokens !== undefined &&
30
+ cached.key === keyOf(build, cached.files))
31
+ return {
32
+ unknown: new Map(cached.unknown),
33
+ palette: new Map(cached.palette),
34
+ classes: new Map(cached.classes),
35
+ tokens: cached.tokens,
36
+ };
29
37
  let css;
30
38
  try {
31
39
  css = (await import(__rewriteRelativeImportExtension(pathToFileURL(createRequire(configPath).resolve('@hozu/css')).href)));
@@ -33,19 +41,22 @@ export async function projectStyles(configPath, build) {
33
41
  catch {
34
42
  return null;
35
43
  }
36
- const { unknown, classes, tokens, files } = await css.compileStyles(build, { minify: false, base });
44
+ const compiled = await css.compileStyles(build, { minify: false, base });
45
+ const { unknown, classes, tokens, files } = compiled;
46
+ const palette = compiled.palette ?? new Map();
37
47
  try {
38
48
  mkdirSync(dirname(cacheFile), { recursive: true });
39
49
  const entry = {
40
50
  key: keyOf(build, files),
41
51
  files,
42
52
  unknown: [...unknown],
53
+ palette: [...palette],
43
54
  classes: [...classes],
44
55
  tokens,
45
56
  };
46
57
  writeFileSync(cacheFile, JSON.stringify(entry));
47
58
  }
48
59
  catch { }
49
- return { unknown, classes, tokens };
60
+ return { unknown, palette, classes, tokens };
50
61
  }
51
62
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAoB,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAsCvE,MAAM,KAAK,GAAG,CAAC,KAAkB,EAAE,KAAe,EAAE,EAAE,CACpD,MAAM,CACJ,IAAI,CAAC,SAAS,CAAC;IACb,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE;IAC9D,KAAK,CAAC,QAAQ,CAAC,MAAM;IACrB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC,CACH,CAAA;AAEH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAkB,EAAE,KAAkB;IACxE,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,sCAAsC,CAAC,CAAA;IACpE,IAAI,MAAM,GAAiB,IAAI,CAAA;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAW,CAAC,CAAC,CAAC,IAAI,CAAA;IAChG,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,IACE,MAAM,EAAE,OAAO;QACf,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,MAAM,KAAK,SAAS;QAC3B,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;QAEzC,OAAO;YACL,OAAO,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;YAChC,OAAO,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;YAChC,OAAO,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;YAChC,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAA;IACH,IAAI,GAAc,CAAA;IAClB,IAAI,CAAC;QACH,GAAG,GAAG,CAAC,MAAM,MAAM,kCAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAC,CAAc,CAAA;IACvG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACxE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAA;IACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,IAAI,GAAG,EAAoB,CAAA;IAC/D,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAClD,MAAM,KAAK,GAAU;YACnB,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC;YACxB,KAAK;YACL,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;YACrB,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;YACrB,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;YACrB,MAAM;SACP,CAAA;QACD,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;IACjD,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AAC9C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hozu/cli",
3
- "version": "0.26.5",
3
+ "version": "0.28.0",
4
4
  "description": "The hozu command: check, map, why, show, get, browse, call, plan, add, build, export, gen, dev, serve, docs, migrate and skill (all with --json)",
5
5
  "keywords": [
6
6
  "hozu",
@@ -49,14 +49,14 @@
49
49
  "access": "public"
50
50
  },
51
51
  "dependencies": {
52
- "@hozu/machine": "0.26.5",
53
- "@hozu/validator": "0.26.5",
54
- "@hozu/devtools": "0.26.5",
55
- "@hozu/compiler": "0.26.5",
56
- "@hozu/core": "0.26.5",
57
- "@hozu/transform": "0.26.5"
52
+ "@hozu/core": "0.28.0",
53
+ "@hozu/devtools": "0.28.0",
54
+ "@hozu/validator": "0.28.0",
55
+ "@hozu/machine": "0.28.0",
56
+ "@hozu/compiler": "0.28.0",
57
+ "@hozu/transform": "0.28.0"
58
58
  },
59
59
  "devDependencies": {
60
- "create-hozu": "0.26.5"
60
+ "create-hozu": "0.28.0"
61
61
  }
62
62
  }
@@ -378,7 +378,8 @@
378
378
  "HZ090",
379
379
  "HZ091",
380
380
  "HZ092",
381
- "HZ093"
381
+ "HZ093",
382
+ "HZ094"
382
383
  ]
383
384
  },
384
385
  "Severity": {
@@ -592,7 +592,8 @@
592
592
  "HZ090",
593
593
  "HZ091",
594
594
  "HZ092",
595
- "HZ093"
595
+ "HZ093",
596
+ "HZ094"
596
597
  ]
597
598
  },
598
599
  "Severity": {
@@ -176,7 +176,8 @@
176
176
  "HZ090",
177
177
  "HZ091",
178
178
  "HZ092",
179
- "HZ093"
179
+ "HZ093",
180
+ "HZ094"
180
181
  ]
181
182
  },
182
183
  "Severity": {
@@ -9,8 +9,8 @@
9
9
  | everyone's (posts, a shared board) | `'server'` / `'public'`; `access` on its mutations | the app's database |
10
10
  | a public third-party API (quotes, weather) | `'either'` / `'public'` | nowhere: read it |
11
11
 
12
- The arrays in Hozu's examples and scaffolds are stand-ins that keep them short: one list for every visitor, gone on
13
- restart. Never ship one; replace it with the store above.
12
+ The arrays in Hozu's examples and scaffolds are stand-ins: one list for every visitor, gone on restart. Never ship
13
+ one: use the store above (a demo: the JSON-file recipe).
14
14
 
15
15
  ```ts
16
16
  export const itemsTag = tag({ param: null }) // tag({ param: z.string() }) → itemTag(id)
@@ -3,7 +3,7 @@
3
3
  Every diagnostic carries `file:line`, a cause and a fix, and often a snippet or patch. Apply the fix; do not work
4
4
  around the rule. `npx hozu docs HZ083` prints one code: its cause, its fix and the topic to read.
5
5
 
6
- - Errors fail `hozu check`. Warnings (HZ010, HZ019, HZ025, HZ036, HZ056, HZ058, HZ061, HZ062, HZ063, HZ075, HZ076, HZ077, HZ080, HZ083, HZ084, HZ086, HZ087, HZ089, HZ090) do not, but each one names something to decide.
6
+ - Errors fail `hozu check`. Warnings (HZ010, HZ019, HZ025, HZ036, HZ056, HZ058, HZ061, HZ062, HZ063, HZ075, HZ076, HZ077, HZ080, HZ083, HZ084, HZ086, HZ087, HZ089, HZ090, HZ094) do not, but each one names something to decide.
7
7
  - A warning you keep on purpose goes in `project({ accept: [{ code, at, reason }] })`; errors cannot be accepted.
8
8
 
9
9
  <!-- more -->
@@ -98,3 +98,4 @@ around the rule. `npx hozu docs HZ083` prints one code: its cause, its fix and t
98
98
  | HZ091 | a query with `owner` access returned rows the visitor does not own (reported at run time) | read only the visitor's rows in the resolver (filter by the session); production drops the extra rows and logs this |
99
99
  | HZ092 | a preview in `project({ previews })` no longer fits the app: data off its query output schema, an error the query does not declare, a route without a page, or a component use that does not build | update the preview to the current schema, error, page or component (previews are for people: they never ship) |
100
100
  | HZ093 | a `remote()` resolver that cannot answer: its generated contract is missing or stale, its secret is missing, undeclared in `env.server` or under 16 characters, or it lists an effect the browser runs or a non-JSON endpoint | run `hozu gen` and rebuild the service; set a 16+ character secret from `env.server`; implement browser-run effects in fetch.ts and non-JSON endpoints in TypeScript |
101
+ | HZ094 (warning) | two stylesheets (the project, a kit, a feature) define one `@theme` variable with different values; the one imported last silently wins | rename the variable in one stylesheet or remove the copy that should not apply; keep an intended override with `project({ accept })` |
@@ -42,3 +42,6 @@ project({
42
42
  - `SESSION_SECRET` (required in production with sessions);
43
43
  - `NODE_ENV`;
44
44
  - `HOZU_TRANSFORM_CACHE=0`.
45
+ - **Typed env in a feature's `server.ts`:** declare what the feature reads and let `app.ts` pass the project's
46
+ env: `export function booksResolvers<Env extends { DATA_FILE: string }>(implement: Implement<Session, Env>)`;
47
+ `ctx.env.DATA_FILE` is then a string in every resolver of the feature.
@@ -13,8 +13,8 @@ export const docs = route({ path: '/docs/:path+', params: z.object({ path: z.arr
13
13
  - **Head from a query:** `head: { query: getItem, input: (params, locale) => ({ id: params.id }), render: (item) => ({ title:
14
14
  item.title }), failed: { NotFound: 404 } }`. Both also get `search`. `failed` maps every declared error of the query (HZ051) to a route
15
15
  without params (303) or to `403`, `404` or `410`.
16
- - `head.render` fields: `title`, `description`, `type` (`'website' | 'article'`), `image`, `published`, `noindex`;
17
- any other is HZ014 (Open Graph, `twitter:card` and the JSON-LD are derived from these).
16
+ - `head.render` fields: `title`, `description`, `type` (`'website'`/`'article'`), `image`,
17
+ `published`, `noindex` (computable); any other is HZ014 (Open Graph and JSON-LD are derived).
18
18
  - A route no page renders is HZ052.
19
19
 
20
20
  <!-- more -->
@@ -114,3 +114,24 @@ the member on the view that has both `machine` and `route` (HZ048):
114
114
  ## A notice after saving
115
115
  A `notice` context field set in `done` and cleared by `after: [{ ms: 4000, target: 'idle' }]` on a `saved` state;
116
116
  the view shows `ctx.notice !== null && ui.p({ role: 'status' }, [ctx.notice])`. There is no global toast store.
117
+
118
+ ## A JSON file for a demo
119
+ For a small group and one server process, a file is enough: read it in the resolvers, write it whole after each
120
+ mutation (write a temporary file, then rename). Put it in a folder listed in `.gitignore` (`data/`), name its path in
121
+ `env.server` with a default (`DATA_FILE: z.string().default('data/club.json')`), and give the container a volume for
122
+ that folder (`hozu build --target node` prints one). Limits: one process only (two instances overwrite each other),
123
+ no queries beyond what you write, back the file up. Move to a database when any of these matter.
124
+
125
+ ## Confirm before deleting, without JavaScript
126
+ A native `details` holds the question and a form, so it works on any phone:
127
+ `ui.details({}, [ui.summary({}, ['刪除這本書']), ui.p({}, ['確定要刪除嗎?']), ui.form({ on: { submit:
128
+ ui.send(Remove, { id: ui.dom.form('id') }) } }, [ui.input({ type: 'hidden', name: 'id', value: item.id }),
129
+ ui.button({ type: 'submit' }, ['確定刪除'])]), ui.a({ href: ui.link(home, null) }, ['不要刪'])])`. The id travels
130
+ in the form (a payload read from the row would need JavaScript, HZ036). A confirm kept in the machine (`ui.set(ctx.confirm, id)`) needs JavaScript; `hozu browse
131
+ --js off` reports it as `js-only`.
132
+
133
+ ## One person may change this (an organiser, an owner)
134
+ Give that person a role in the session and gate the mutation on it: `access: { allow: (session) => session.role
135
+ === 'organiser' }`, with the role set where they sign in (a separate sign-in, or a check of a secret on the server).
136
+ A name typed at sign-in is not identity: anyone can type it, so it may decide what a page shows but never who may
137
+ write.
@@ -35,8 +35,12 @@
35
35
  - **A calm page:** a step that rebuilds elements unchanged says `N elements rebuilt unchanged (a flash: main > form >
36
36
  button[type=submit])`, naming up to five (`--json` `flashes.elements` has all; a control hidden while busy: disable
37
37
  it instead). Equal means tag, class, text, `name`, `id`, `href`, `src`, `type` and parent path; a node that moved is
38
- no flash. Layout that moves without input says `layout shift X`. Both are
39
- problems to fix; a calm step prints neither. An address changed with `replace` stays `in place`.
38
+ no flash. Inside a list whose rows changed keys, a flash may be a new row whose child equals the removed row's at
39
+ that place (browse does not see keys): check the keys before changing the view. Layout that moves without input says
40
+ `layout shift X`. Both are problems to fix; a calm step prints neither.
41
+ - **`--js both` shares one server:** the off run starts after the on run's writes, so a delete or a counter differs
42
+ between the modes for that reason alone. Compare reads with `--js both`, writes in one mode at a time.
43
+ - **Screenshots** capture the whole page; `scroll bottom|top|"<text>"` moves the page before a later step. An address changed with `replace` stays `in place`.
40
44
  - **`hozu get`** prints the status, redirect, `set-cookie` attributes (`HttpOnly`, `SameSite`), title, alerts and
41
45
  visible text.
42
46
  - `--forms` lists each form: fields with their defaults, checkbox / radio groups with every value (checked ones
@@ -92,3 +92,8 @@ export const Board = ui.view({
92
92
  - `ui.format.plural(n, { one: '# item', other: '# items' })` picks the case for the page's language (`=0` works).
93
93
  - `null` and `false` render nothing, also inside a constant list:
94
94
  `ui.ul({}, [...kinds.map((k) => (k === 'draft' ? null : ui.li({}, [k])))])`.
95
+ - A `part` returns one node; wrap several in an element (HZ014 otherwise).
96
+ - `current(route)` works in any render, bound or not: `'aria-current': current(home)`.
97
+ - `ui.format.date` takes a date-time or a `YYYY-MM-DD` string, formatted for the page's language.
98
+ - `ui.each(list, key, …)` keys rows by a field that is unique per row; rows without one get an id where they are made
99
+ (a comment's `id`, not its time).