pob 39.0.0 → 39.1.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.
@@ -62,8 +62,6 @@ jobs:
62
62
 
63
63
  - name: Install pnpm
64
64
  uses: pnpm/action-setup@v6
65
- with:
66
- version: 12
67
65
  <% } -%>
68
66
 
69
67
  - uses: actions/setup-node@v7
@@ -1,7 +1,7 @@
1
1
  # Generated by pob: do not edit, it is overwritten on each pob run.
2
2
  [install]
3
- # Only install package versions published at least 3 days ago
4
- minimumReleaseAge = 259200 # seconds - in #23162 it'll allow "3d" too
3
+ # Only install package versions published at least 2.5 days ago
4
+ minimumReleaseAge = 216000 # seconds
5
5
  minimumReleaseAgeExcludes = [
6
6
  "@pob/root",
7
7
  "@pob/esbuild",
@@ -24,8 +24,6 @@ jobs:
24
24
  <% } else if (packageManager === 'pnpm') { -%>
25
25
  - name: Install pnpm
26
26
  uses: pnpm/action-setup@v6
27
- with:
28
- version: 12
29
27
 
30
28
  <% } -%>
31
29
  - uses: actions/setup-node@v7
@@ -25,8 +25,6 @@ jobs:
25
25
  <% } else if (packageManager === 'pnpm') { -%>
26
26
  - name: Install pnpm
27
27
  uses: pnpm/action-setup@v6
28
- with:
29
- version: 12
30
28
 
31
29
  <% } -%>
32
30
  - uses: actions/setup-node@v7
@@ -70,8 +68,6 @@ jobs:
70
68
  <% } else if (packageManager === 'pnpm') { -%>
71
69
  - name: Install pnpm
72
70
  uses: pnpm/action-setup@v6
73
- with:
74
- version: 12
75
71
 
76
72
  <% } -%>
77
73
  - uses: actions/setup-node@v7
@@ -117,8 +113,6 @@ jobs:
117
113
  <% } else if (packageManager === 'pnpm') { -%>
118
114
  - name: Install pnpm
119
115
  uses: pnpm/action-setup@v6
120
- with:
121
- version: 12
122
116
 
123
117
  <% } -%>
124
118
  - uses: actions/setup-node@v7
@@ -183,8 +177,6 @@ jobs:
183
177
  <% } else if (packageManager === 'pnpm') { -%>
184
178
  - name: Install pnpm
185
179
  uses: pnpm/action-setup@v6
186
- with:
187
- version: 12
188
180
 
189
181
  <% } -%>
190
182
  - uses: actions/setup-node@v7
@@ -259,8 +251,6 @@ jobs:
259
251
  <% } else if (packageManager === 'pnpm') { -%>
260
252
  - name: Install pnpm
261
253
  uses: pnpm/action-setup@v6
262
- with:
263
- version: 12
264
254
 
265
255
  <% } -%>
266
256
  - uses: actions/setup-node@v7
@@ -28,8 +28,6 @@ jobs:
28
28
  <% } else if (packageManager === 'pnpm') { -%>
29
29
  - name: Install pnpm
30
30
  uses: pnpm/action-setup@v6
31
- with:
32
- version: 12
33
31
 
34
32
  <% } -%>
35
33
  - name: Use Node.js ${{ matrix.node-version }}
@@ -1,11 +1,11 @@
1
1
  import sortObject from "@pob/sort-object";
2
2
  import { FAILSAFE_SCHEMA, dump, loadAll } from "js-yaml";
3
- import { lt } from "semver";
4
3
  import Generator from "yeoman-generator";
5
4
  import { writeAndFormat } from "../../../utils/writeAndFormat.js";
6
5
 
7
6
  const minimumReleaseAgeExcludePackages = [
8
7
  "@pob/*",
8
+ "pob",
9
9
  "pob-dependencies",
10
10
  "check-package-dependencies",
11
11
  "alouette",
@@ -38,13 +38,18 @@ export default class CorePnpmGenerator extends Generator {
38
38
  const pkg = this.fs.readJSON(this.destinationPath("package.json"));
39
39
 
40
40
  if (this.options.enable) {
41
- if (
42
- pkg.packageManager &&
43
- (!pkg.packageManager.startsWith("pnpm@") ||
44
- lt(pkg.packageManager.slice("pnpm@".length), "12.0.0"))
45
- ) {
46
- delete pkg.packageManager;
47
- }
41
+ // devEngines.packageManager replaces packageManager: pnpm switches to
42
+ // this version on startup (including when pnpm install is run by pob
43
+ // with an older pnpm), and pnpm/action-setup reads it.
44
+ delete pkg.packageManager;
45
+ pkg.devEngines = {
46
+ ...pkg.devEngines,
47
+ packageManager: {
48
+ name: "pnpm",
49
+ version: "^12.0.0",
50
+ onFail: "download",
51
+ },
52
+ };
48
53
 
49
54
  const configString = this.fs.read(
50
55
  this.destinationPath("pnpm-workspace.yaml"),
@@ -81,7 +86,7 @@ export default class CorePnpmGenerator extends Generator {
81
86
  delete config.packages;
82
87
  }
83
88
  config.savePrefix = this.options.type === "app" ? "" : "^";
84
- config.minimumReleaseAge = 1440 * 3; // 3 days in minutes
89
+ config.minimumReleaseAge = 1440 * 2.5; // 2.5 days in minutes
85
90
  config.minimumReleaseAgeExclude = minimumReleaseAgeExcludePackages;
86
91
  config.dedupePeerDependents = true;
87
92
  config.nodeLinker = "hoisted";
@@ -95,6 +100,10 @@ export default class CorePnpmGenerator extends Generator {
95
100
  if (pkg.packageManager?.startsWith("pnpm@")) {
96
101
  delete pkg.packageManager;
97
102
  }
103
+ if (pkg.devEngines?.packageManager?.name === "pnpm") {
104
+ delete pkg.devEngines.packageManager;
105
+ if (Object.keys(pkg.devEngines).length === 0) delete pkg.devEngines;
106
+ }
98
107
  this.fs.delete("pnpm-lock.yaml");
99
108
  this.fs.delete("pnpm-workspace.yaml");
100
109
  }
@@ -183,7 +183,7 @@ export default class CoreYarnGenerator extends Generator {
183
183
  config.defaultSemverRangePrefix = this.options.type === "app" ? "" : "^";
184
184
  delete config.enableMessageNames; // was a config for yarn < 4
185
185
  config.nodeLinker = this.options.yarnNodeLinker;
186
- config.npmMinimalAgeGate = 1440 * 3; // 3 days
186
+ config.npmMinimalAgeGate = 1440 * 2.5; // 2.5 days
187
187
  config.npmPreapprovedPackages = [
188
188
  "@pob/*",
189
189
  "pob-dependencies",
@@ -85,11 +85,9 @@ export default class MonorepoWorkspacesGenerator extends Generator {
85
85
  if (!pkg.engines) pkg.engines = {};
86
86
  pkg.engines.yarn = "< 0.0.0";
87
87
  pkg.engines.npm = ">= 6.4.0";
88
- } else if (this.options.packageManager === "pnpm") {
89
- if (!pkg.engines) pkg.engines = {};
90
- pkg.engines.pnpm = ">= 12.0.0";
91
- delete pkg.engines.yarn;
92
88
  } else if (pkg.engines) {
89
+ // the pnpm version is set in devEngines by pob:core:pnpm
90
+ delete pkg.engines.pnpm;
93
91
  delete pkg.engines.yarn;
94
92
  }
95
93
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pob",
3
- "version": "39.0.0",
3
+ "version": "39.1.0",
4
4
  "description": "Pile of bones, library generator with git/babel/typescript/typedoc/readme/vitest",
5
5
  "keywords": [
6
6
  "skeleton"
@@ -58,7 +58,7 @@
58
58
  "yeoman-generator": "10.0.1"
59
59
  },
60
60
  "devDependencies": {
61
- "@pob/root": "27.14.0",
61
+ "@pob/root": "27.15.0",
62
62
  "@types/node": "24.19.1",
63
63
  "@typescript/native": "npm:typescript@7.0.2",
64
64
  "@yeoman/types": "1.11.1"