uniweb 0.12.59 → 0.12.61

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.12.59",
3
+ "version": "0.12.61",
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/kit": "0.9.32",
45
- "@uniweb/runtime": "0.8.31",
46
- "@uniweb/core": "0.7.25"
44
+ "@uniweb/core": "0.7.26",
45
+ "@uniweb/kit": "0.9.33",
46
+ "@uniweb/runtime": "0.8.32"
47
47
  },
48
48
  "peerDependencies": {
49
+ "@uniweb/build": "0.14.40",
49
50
  "@uniweb/content-reader": "1.1.14",
50
- "@uniweb/semantic-parser": "1.1.18",
51
- "@uniweb/build": "0.14.39"
51
+ "@uniweb/semantic-parser": "1.1.18"
52
52
  },
53
53
  "peerDependenciesMeta": {
54
54
  "@uniweb/build": {
@@ -555,7 +555,7 @@ This is [less important]{muted} context.
555
555
 
556
556
  `accent` and `callout` (both accent-colored + bold) and `muted` (subtle) are built-in defaults that adapt to context automatically. `--accent` is your brand color unless you declare a separate `colors.accent`, and resolves to the shade you authored — not a darkened one, since accent is decorative emphasis rather than body-size link text. Components receive HTML strings with spans applied: `<span accent="true">faster</span>`.
557
557
 
558
- Sites can override these or define additional named styles in `theme.yml`'s `inline:` section.
558
+ Sites can adjust these or define additional named styles in `theme.yml`'s `inline:` section. Overrides merge **property by property**, so declare only what differs (`accent: { font-weight: inherit }` keeps the default color); to drop a default property rather than change it, give it a neutral value (`initial`, `inherit`, `unset`).
559
559
 
560
560
  ### Fenced Code in Content
561
561
 
@@ -2002,6 +2002,10 @@ Foundation styles in `styles.css`:
2002
2002
 
2003
2003
  Semantic tokens come from `theme-tokens.css` (populated from `theme.yml`). Use `@theme` only for values tokens don't cover. **Custom CSS is expected alongside Tailwind** — shadow systems, border hierarchies, gradients, glassmorphism. Tailwind handles layout; tokens handle context; `styles.css` handles everything else.
2004
2004
 
2005
+ **Don't set `scroll-behavior: smooth` globally.** It's a common line in a hand-written `html { … }` reset, and porting one into a foundation breaks navigation. The runtime owns scrolling: it already smooth-scrolls anchor targets itself (`scrollIntoView({ behavior: 'smooth' })`), so the CSS adds nothing there — but it resets and restores scroll on route changes with the two-argument `scrollTo(x, y)`, which *inherits* the property. Route changes then animate their scroll-to-top, and back-button restoration (which scrolls, checks the position on the next frame, and retries) keeps interrupting its own animation. Scope it to a specific scrollable element if you need it; never to `html` or `body`.
2006
+
2007
+ **Font smoothing is a per-scheme decision, not a reset.** `-webkit-font-smoothing: antialiased` (macOS only) forces grayscale rasterization, which thins strokes. On dark surfaces that usefully counteracts the bloom of light text on near-black; on light surfaces it costs contrast and makes body text spindly. If you want it, scope it — `.scheme-dark { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }` — rather than putting it on `html` the way most CSS resets do.
2008
+
2005
2009
  ## Troubleshooting
2006
2010
 
2007
2011
  **"Could not load foundation"** — Check `site/package.json` has `"foundation": "file:../foundation"`.
@@ -497,8 +497,14 @@ async function refreshAgents(ctx) {
497
497
  return 'created'
498
498
  }
499
499
 
500
- /** Print a compact recap of what changed, plus a review hint. */
501
- function printSummary({ editedPaths, depsEdited, installRan, installPm, agentsResult, cliVersion }) {
500
+ /**
501
+ * Print a compact recap of what changed, plus a review hint.
502
+ *
503
+ * Exported for tests: the dev-server restart notice must fire exactly when the
504
+ * installed packages changed, and stay quiet otherwise (this runs on every
505
+ * `uniweb update`, including no-op ones).
506
+ */
507
+ export function printSummary({ editedPaths, depsEdited, installRan, installPm, agentsResult, cliVersion }) {
502
508
  log(`${colors.bright}Summary${colors.reset}`)
503
509
  if (depsEdited) {
504
510
  log(` ${colors.green}✓${colors.reset} package.json updated in ${editedPaths.length} file${editedPaths.length === 1 ? '' : 's'}`)
@@ -512,5 +518,18 @@ function printSummary({ editedPaths, depsEdited, installRan, installPm, agentsRe
512
518
  else if (agentsResult === 'updated') log(` ${colors.green}✓${colors.reset} AGENTS.md updated (v${cliVersion})`)
513
519
  else if (agentsResult === 'skipped' && depsEdited) log(` ${colors.dim}·${colors.reset} AGENTS.md not refreshed (see above)`)
514
520
  log(`${colors.dim}Review changes with${colors.reset} ${colors.cyan}git diff${colors.reset}${colors.dim}, then commit.${colors.reset}`)
521
+
522
+ // Only when the installed packages actually changed under a process that may
523
+ // still be running. This failure is nastier than it sounds: hot reload picks
524
+ // up your source but not a swapped dependency, so a dev server started before
525
+ // the update keeps serving the OLD framework against your NEW project code.
526
+ // The result looks like a bug you just introduced, and the one place nobody
527
+ // thinks to look is the server that has been running fine all along.
528
+ if (depsEdited && installRan) {
529
+ log('')
530
+ log(`${colors.yellow}↻${colors.reset} ${colors.bright}Restart any running dev server.${colors.reset}`)
531
+ log(`${colors.dim}Hot reload picks up your source, not swapped dependencies — a running${colors.reset} ${colors.cyan}uniweb dev${colors.reset} ${colors.dim}keeps using the framework version it started with.${colors.reset}`)
532
+ }
533
+
515
534
  log('')
516
535
  }
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "generatedAt": "2026-07-24T20:43:27.316Z",
3
+ "generatedAt": "2026-07-24T21:48:57.493Z",
4
4
  "packages": {
5
5
  "@uniweb/build": {
6
- "version": "0.14.39",
6
+ "version": "0.14.40",
7
7
  "path": "framework/build",
8
8
  "deps": [
9
9
  "@uniweb/content-reader",
@@ -25,7 +25,7 @@
25
25
  "deps": []
26
26
  },
27
27
  "@uniweb/core": {
28
- "version": "0.7.25",
28
+ "version": "0.7.26",
29
29
  "path": "framework/core",
30
30
  "deps": [
31
31
  "@uniweb/semantic-parser",
@@ -43,7 +43,7 @@
43
43
  "deps": []
44
44
  },
45
45
  "@uniweb/kit": {
46
- "version": "0.9.32",
46
+ "version": "0.9.33",
47
47
  "path": "framework/kit",
48
48
  "deps": [
49
49
  "@uniweb/core",
@@ -61,7 +61,7 @@
61
61
  "deps": []
62
62
  },
63
63
  "@uniweb/runtime": {
64
- "version": "0.8.31",
64
+ "version": "0.8.32",
65
65
  "path": "framework/runtime",
66
66
  "deps": [
67
67
  "@uniweb/core",
@@ -94,12 +94,12 @@
94
94
  "deps": []
95
95
  },
96
96
  "@uniweb/theming": {
97
- "version": "0.1.11",
97
+ "version": "0.1.12",
98
98
  "path": "framework/theming",
99
99
  "deps": []
100
100
  },
101
101
  "@uniweb/unipress": {
102
- "version": "0.4.46",
102
+ "version": "0.4.48",
103
103
  "path": "framework/unipress",
104
104
  "deps": [
105
105
  "@uniweb/build",