uniweb 0.12.5 → 0.12.7

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.5",
3
+ "version": "0.12.7",
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/runtime": "0.8.10",
45
- "@uniweb/core": "0.7.9",
46
- "@uniweb/kit": "0.9.9"
44
+ "@uniweb/core": "0.7.10",
45
+ "@uniweb/kit": "0.9.10",
46
+ "@uniweb/runtime": "0.8.11"
47
47
  },
48
48
  "peerDependencies": {
49
- "@uniweb/build": "0.13.3",
50
- "@uniweb/content-reader": "1.1.9",
51
- "@uniweb/semantic-parser": "1.1.16"
49
+ "@uniweb/build": "0.13.4",
50
+ "@uniweb/semantic-parser": "1.1.17",
51
+ "@uniweb/content-reader": "1.1.10"
52
52
  },
53
53
  "peerDependenciesMeta": {
54
54
  "@uniweb/build": {
@@ -254,10 +254,31 @@ async function inspectLocalFoundationReceipt(localPath, { dirtyAsStale, registry
254
254
  return { stale: true, reason: 'foundation directory is not in a git repo or has no commits', receipt }
255
255
  }
256
256
  if (receipt.publishedFromGitSha && receipt.publishedFromGitSha !== gitSha) {
257
- return {
258
- stale: true,
259
- reason: `foundation has new commits since last publish (${receipt.publishedFromGitSha.slice(0, 7)} → ${gitSha.slice(0, 7)})`,
260
- receipt,
257
+ // Receipt's recorded sha differs from the foundation's per-directory
258
+ // last-touched commit. Normally that's "real" staleness — somebody
259
+ // committed changes to src/ that haven't been republished.
260
+ //
261
+ // Exception: when the publish was made FROM A DIRTY tree, the
262
+ // recorded sha is a checkpoint, not an identity. The published
263
+ // artifact reflects the committed state at that sha PLUS the
264
+ // uncommitted changes that were on disk when publish ran. After
265
+ // those changes get committed (a normal post-deploy housekeeping
266
+ // step — e.g., committing the auto-derived `uniweb.id`), the
267
+ // per-foundation sha moves forward, but the artifact upstream
268
+ // hasn't materially changed. Don't fire staleness on the sha
269
+ // alone in that case; let the dirty-tree check below do its job
270
+ // if the tree IS still dirty, and otherwise treat as fresh.
271
+ //
272
+ // Edge: if the user committed real source changes ON TOP of the
273
+ // auto-derive in the same commit, we won't detect that as stale
274
+ // here — the next publish would 409 against the registry though,
275
+ // surfacing the issue with a clear "bump the version" message.
276
+ if (!receipt.publishedFromGitDirty) {
277
+ return {
278
+ stale: true,
279
+ reason: `foundation has new commits since last publish (${receipt.publishedFromGitSha.slice(0, 7)} → ${gitSha.slice(0, 7)})`,
280
+ receipt,
281
+ }
261
282
  }
262
283
  }
263
284
  if (gitDirty && dirtyAsStale) {
@@ -293,9 +293,9 @@ export async function publish(args = []) {
293
293
  // the receipt-as-cache work shipped). Clean error before
294
294
  // any build work.
295
295
  console.log('')
296
- error(`${colors.bright}${lookupName}@${preflightVersion}${colors.reset} is already published.`)
296
+ error(`Foundation source has changed since the last publish, but ${colors.bright}${lookupName}@${preflightVersion}${colors.reset} is already published.`)
297
297
  console.log('')
298
- console.log(` Bump the version in package.json to publish an update:`)
298
+ console.log(` Bump ${colors.cyan}package.json::version${colors.reset} to publish an update:`)
299
299
  console.log(` ${colors.dim}"version": "${bumpPatch(preflightVersion)}"${colors.reset}`)
300
300
  process.exit(1)
301
301
  }
@@ -686,10 +686,10 @@ export async function publish(args = []) {
686
686
  }
687
687
  }
688
688
  console.log('')
689
- error(`${colors.bright}${name}@${version}${colors.reset} is already published.`)
689
+ error(`Foundation source has changed since the last publish, but ${colors.bright}${name}@${version}${colors.reset} is already published.`)
690
690
  console.log('')
691
- console.log(` Bump the version in foundation.js to publish an update:`)
692
- console.log(` ${colors.dim}export const version = '${bumpPatch(version)}'${colors.reset}`)
691
+ console.log(` Bump ${colors.cyan}package.json::version${colors.reset} to publish an update:`)
692
+ console.log(` ${colors.dim}"version": "${bumpPatch(version)}"${colors.reset}`)
693
693
  process.exit(1)
694
694
  }
695
695
 
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "generatedAt": "2026-04-30T02:16:23.561Z",
3
+ "generatedAt": "2026-04-30T18:07:13.397Z",
4
4
  "packages": {
5
5
  "@uniweb/build": {
6
- "version": "0.13.3",
6
+ "version": "0.13.4",
7
7
  "path": "framework/build",
8
8
  "deps": [
9
9
  "@uniweb/content-reader",
@@ -14,7 +14,7 @@
14
14
  ]
15
15
  },
16
16
  "@uniweb/content-reader": {
17
- "version": "1.1.9",
17
+ "version": "1.1.10",
18
18
  "path": "framework/content-reader",
19
19
  "deps": []
20
20
  },
@@ -24,7 +24,7 @@
24
24
  "deps": []
25
25
  },
26
26
  "@uniweb/core": {
27
- "version": "0.7.9",
27
+ "version": "0.7.10",
28
28
  "path": "framework/core",
29
29
  "deps": [
30
30
  "@uniweb/semantic-parser",
@@ -42,7 +42,7 @@
42
42
  "deps": []
43
43
  },
44
44
  "@uniweb/kit": {
45
- "version": "0.9.9",
45
+ "version": "0.9.10",
46
46
  "path": "framework/kit",
47
47
  "deps": [
48
48
  "@uniweb/core"
@@ -59,7 +59,7 @@
59
59
  "deps": []
60
60
  },
61
61
  "@uniweb/runtime": {
62
- "version": "0.8.10",
62
+ "version": "0.8.11",
63
63
  "path": "framework/runtime",
64
64
  "deps": [
65
65
  "@uniweb/core",
@@ -77,7 +77,7 @@
77
77
  "deps": []
78
78
  },
79
79
  "@uniweb/semantic-parser": {
80
- "version": "1.1.16",
80
+ "version": "1.1.17",
81
81
  "path": "framework/semantic-parser",
82
82
  "deps": []
83
83
  },