uniweb 0.12.49 → 0.12.50
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 +4 -4
- package/src/commands/add.js +19 -0
- package/src/framework-index.json +3 -3
- package/src/versions.js +19 -15
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "uniweb",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.50",
|
|
4
4
|
"description": "Create structured Vite + React sites with content/code separation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -41,12 +41,12 @@
|
|
|
41
41
|
"js-yaml": "^4.1.0",
|
|
42
42
|
"prompts": "^2.4.2",
|
|
43
43
|
"tar": "^7.0.0",
|
|
44
|
-
"@uniweb/core": "0.7.20",
|
|
45
44
|
"@uniweb/kit": "0.9.24",
|
|
46
|
-
"@uniweb/runtime": "0.8.26"
|
|
45
|
+
"@uniweb/runtime": "0.8.26",
|
|
46
|
+
"@uniweb/core": "0.7.20"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"@uniweb/build": "0.14.
|
|
49
|
+
"@uniweb/build": "0.14.32",
|
|
50
50
|
"@uniweb/content-reader": "1.1.12",
|
|
51
51
|
"@uniweb/semantic-parser": "1.1.17"
|
|
52
52
|
},
|
package/src/commands/add.js
CHANGED
|
@@ -1158,6 +1158,7 @@ async function addCi(rootDir, opts, pm = 'pnpm') {
|
|
|
1158
1158
|
// project's floor, raised if that pnpm needs more.
|
|
1159
1159
|
const pnpmVersion = resolveCiPnpmVersion(rootPkg)
|
|
1160
1160
|
const nodeVersion = resolveCiNodeVersion(rootPkg.engines?.node, pm, pnpmVersion)
|
|
1161
|
+
reportCiToolchain({ pm, pnpmVersion, nodeVersion, rootPkg })
|
|
1161
1162
|
|
|
1162
1163
|
const siteDir = join(rootDir, site.path)
|
|
1163
1164
|
if (!resolvedDomain) {
|
|
@@ -1282,6 +1283,23 @@ function stripScope(name) {
|
|
|
1282
1283
|
return name.startsWith('@') ? name.split('/').pop() : name
|
|
1283
1284
|
}
|
|
1284
1285
|
|
|
1286
|
+
/**
|
|
1287
|
+
* Print the toolchain the generated workflow will install.
|
|
1288
|
+
*
|
|
1289
|
+
* These versions are inferred whenever the project doesn't state them, and a
|
|
1290
|
+
* silent inference is exactly what let a wrong pnpm/Node pairing ship
|
|
1291
|
+
* unnoticed. Showing what resolved — and how to override it — follows the
|
|
1292
|
+
* same "resolve, then show what resolved" rule the publish scope picker uses.
|
|
1293
|
+
*/
|
|
1294
|
+
function reportCiToolchain({ pm, pnpmVersion, nodeVersion, rootPkg }) {
|
|
1295
|
+
const declared = typeof rootPkg?.packageManager === 'string'
|
|
1296
|
+
const tool = pm === 'pnpm' ? `pnpm ${pnpmVersion}` : pm === 'yarn' ? 'yarn' : 'npm'
|
|
1297
|
+
info(`CI will use ${tool} + Node ${nodeVersion}${declared ? '' : ' (inferred)'}`)
|
|
1298
|
+
if (!declared && pm === 'pnpm') {
|
|
1299
|
+
info(`Pin with "packageManager": "pnpm@<version>" in package.json to use a different major.`)
|
|
1300
|
+
}
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1285
1303
|
/**
|
|
1286
1304
|
* Write scaffolded CI files. Refuses to overwrite without --force so
|
|
1287
1305
|
* re-running doesn't silently clobber edits the user made to a workflow.
|
|
@@ -1342,6 +1360,7 @@ async function addFoundationCi(rootDir, opts, adapter, pm) {
|
|
|
1342
1360
|
// project's floor, raised if that pnpm needs more.
|
|
1343
1361
|
const pnpmVersion = resolveCiPnpmVersion(rootPkg)
|
|
1344
1362
|
const nodeVersion = resolveCiNodeVersion(rootPkg.engines?.node, pm, pnpmVersion)
|
|
1363
|
+
reportCiToolchain({ pm, pnpmVersion, nodeVersion, rootPkg })
|
|
1345
1364
|
|
|
1346
1365
|
let result
|
|
1347
1366
|
try {
|
package/src/framework-index.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"generatedAt": "2026-07-21T21:
|
|
3
|
+
"generatedAt": "2026-07-21T21:54:20.384Z",
|
|
4
4
|
"packages": {
|
|
5
5
|
"@uniweb/build": {
|
|
6
|
-
"version": "0.14.
|
|
6
|
+
"version": "0.14.32",
|
|
7
7
|
"path": "framework/build",
|
|
8
8
|
"deps": [
|
|
9
9
|
"@uniweb/content-reader",
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"deps": []
|
|
100
100
|
},
|
|
101
101
|
"@uniweb/unipress": {
|
|
102
|
-
"version": "0.4.
|
|
102
|
+
"version": "0.4.39",
|
|
103
103
|
"path": "framework/unipress",
|
|
104
104
|
"deps": [
|
|
105
105
|
"@uniweb/build",
|
package/src/versions.js
CHANGED
|
@@ -56,28 +56,32 @@ export const REACT_VERSION = '^19.0.0'
|
|
|
56
56
|
* Default pnpm major for generated CI, used only when the project does not
|
|
57
57
|
* say which pnpm it uses (see `resolveCiPnpmVersion`).
|
|
58
58
|
*
|
|
59
|
-
* **
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* that, twice over, on a real repo:
|
|
59
|
+
* **Tracks the current stable major.** `pnpm@latest` is 11.x, so a developer
|
|
60
|
+
* running `npm i -g pnpm` today gets 11 — and CI should run what they run.
|
|
61
|
+
* Both of pnpm 11's install-time policies are handled:
|
|
63
62
|
*
|
|
64
|
-
* - pnpm 11
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
63
|
+
* - Build-script approval. pnpm 11 renamed `onlyBuiltDependencies` (list)
|
|
64
|
+
* to `allowBuilds` (map) and ignores the old name, so an unprepared
|
|
65
|
+
* project fails with `ERR_PNPM_IGNORED_BUILDS`. The workspace template
|
|
66
|
+
* emits both spellings, so scaffolds install on either major.
|
|
67
|
+
* - Minimum release age. pnpm 11 refuses dependencies published in the
|
|
68
|
+
* last 24 hours. Installing locally with pnpm 11 auto-collects the
|
|
69
|
+
* needed `minimumReleaseAgeExclude` entries into `pnpm-workspace.yaml`,
|
|
70
|
+
* and CI then honours them — verified end to end.
|
|
71
71
|
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
72
|
+
* **The one combination that breaks is installing locally with pnpm 10 while
|
|
73
|
+
* CI runs 11**: pnpm 10 never writes those exclude entries, so CI rejects any
|
|
74
|
+
* dependency in the lockfile published within the last day — including
|
|
75
|
+
* unrelated transitive ones. A project still on pnpm 10 should say so with
|
|
76
|
+
* `"packageManager": "pnpm@10.x.y"`, which `resolveCiPnpmVersion` honours and
|
|
77
|
+
* which pins CI to match. `uniweb add ci` prints the resolved toolchain so
|
|
78
|
+
* that choice is visible rather than silent.
|
|
75
79
|
*
|
|
76
80
|
* A bare major installs the latest patch of that major at CI run time. Before
|
|
77
81
|
* bumping this, check the new major's release notes for install-time policy
|
|
78
82
|
* changes, and update `PNPM_MIN_NODE` in the same commit.
|
|
79
83
|
*/
|
|
80
|
-
export const PNPM_VERSION = '
|
|
84
|
+
export const PNPM_VERSION = '11'
|
|
81
85
|
|
|
82
86
|
/**
|
|
83
87
|
* Minimum Node major each supported pnpm major will run on, from that
|