pob 35.4.1 → 35.6.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.
- package/lib/generators/common/babel/CommonBabelGenerator.js +1 -2
- package/lib/generators/common/release/CommonReleaseGenerator.js +2 -1
- package/lib/generators/common/testing/CommonTestingGenerator.js +20 -17
- package/lib/generators/common/testing/templates/vite.config.js.ejs +1 -1
- package/lib/generators/common/transpiler/CommonTranspilerGenerator.js +5 -1
- package/lib/generators/core/ci/templates/github-action-documentation-workflow.yml.ejs +2 -2
- package/lib/generators/core/ci/templates/github-action-push-workflow-split.yml.ejs +1 -1
- package/lib/generators/core/ci/templates/github-action-push-workflow.yml.ejs +1 -1
- package/lib/generators/monorepo/workspaces/templates/README.md.ejs +1 -1
- package/lib/utils/package.js +16 -3
- package/package.json +8 -8
|
@@ -322,8 +322,7 @@ export default class CommonBabelGenerator extends Generator {
|
|
|
322
322
|
}
|
|
323
323
|
|
|
324
324
|
if (pkg.dependencies && pkg.dependencies["pob-babel"]) {
|
|
325
|
-
|
|
326
|
-
packageUtils.addDependencies(pkg, ["pob-babel"], "^");
|
|
325
|
+
throw new Error("pob-babel is deprecated.");
|
|
327
326
|
}
|
|
328
327
|
if (pkg.dependencies && pkg.dependencies["@babel/runtime"]) {
|
|
329
328
|
// update pob-babel in alp-dev
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Generator from "yeoman-generator";
|
|
2
2
|
// import { latestLTS } from "../../../utils/nodeVersions.js";
|
|
3
|
+
import { latestLTS } from "../../../utils/nodeVersions.js";
|
|
3
4
|
import * as packageUtils from "../../../utils/package.js";
|
|
4
5
|
import {
|
|
5
6
|
packageManagerExec,
|
|
@@ -86,7 +87,7 @@ export default class CommonReleaseGenerator extends Generator {
|
|
|
86
87
|
isMonorepoIndependent:
|
|
87
88
|
this.options.isMonorepo &&
|
|
88
89
|
(!pkg.version || pkg.version === "0.0.0"),
|
|
89
|
-
nodeLatestMajorVersion:
|
|
90
|
+
nodeLatestMajorVersion: latestLTS,
|
|
90
91
|
packageManagerExec,
|
|
91
92
|
},
|
|
92
93
|
);
|
|
@@ -243,9 +243,7 @@ export default class CommonTestingGenerator extends Generator {
|
|
|
243
243
|
|
|
244
244
|
const createTestCommand = ({
|
|
245
245
|
coverage,
|
|
246
|
-
coverageJson,
|
|
247
246
|
watch,
|
|
248
|
-
|
|
249
247
|
workspacesPattern,
|
|
250
248
|
hasReact,
|
|
251
249
|
}) => {
|
|
@@ -259,12 +257,13 @@ export default class CommonTestingGenerator extends Generator {
|
|
|
259
257
|
if (!workspacesPattern && this.options.monorepo) {
|
|
260
258
|
throw new Error("Invalid workspacesPattern");
|
|
261
259
|
}
|
|
262
|
-
const experimentalTestCoverage =
|
|
260
|
+
const experimentalTestCoverage =
|
|
261
|
+
pkg.name === "check-package-dependencies";
|
|
263
262
|
return `TZ=UTC ${
|
|
264
|
-
coverage
|
|
263
|
+
coverage && !experimentalTestCoverage
|
|
265
264
|
? `npx c8${
|
|
266
|
-
|
|
267
|
-
? ` --reporter=${
|
|
265
|
+
coverage === "generate"
|
|
266
|
+
? ` --reporter=${coverage === "generate" ? "json" : "lcov"}`
|
|
268
267
|
: ""
|
|
269
268
|
} --all --src ./${this.options.srcDirectory} `
|
|
270
269
|
: ""
|
|
@@ -272,9 +271,9 @@ export default class CommonTestingGenerator extends Generator {
|
|
|
272
271
|
this.options.typescript
|
|
273
272
|
? `${tsTestLoaderOption ? `${tsTestLoaderOption} ` : ""}`
|
|
274
273
|
: ""
|
|
275
|
-
}${this.fs.exists("src/test-setup.ts") ? "--import ./src/test-setup.ts " : ""}--test${experimentalTestCoverage &&
|
|
274
|
+
}${this.fs.exists("src/test-setup.ts") ? "--import ./src/test-setup.ts " : ""}--test${experimentalTestCoverage && coverage ? ` --experimental-test-coverage${coverage === "generate" ? " --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=docs/coverage.lcov" : ""} --test-coverage-include="${this.options.srcDirectory}/**/*.ts"` : ""} '${this.options.monorepo ? `${workspacesPattern}/*/` : ""}${`${
|
|
276
275
|
hasTestFolder ? "test/*" : `${this.options.srcDirectory}/**/*.test`
|
|
277
|
-
}.${this.options.typescript ? "ts" : "js"}`}`;
|
|
276
|
+
}.${this.options.typescript ? "ts" : "js"}`}'`;
|
|
278
277
|
}
|
|
279
278
|
case "bun": {
|
|
280
279
|
if (this.options.packageManager !== "bun") {
|
|
@@ -284,17 +283,17 @@ export default class CommonTestingGenerator extends Generator {
|
|
|
284
283
|
}
|
|
285
284
|
|
|
286
285
|
return `TZ=UTC bun test${watch ? " --watch" : ""}${
|
|
287
|
-
coverage
|
|
288
|
-
? ` --coverage ${
|
|
286
|
+
coverage
|
|
287
|
+
? ` --coverage ${coverage === "generate" ? "--coverage-report=json" : ""}`
|
|
289
288
|
: ""
|
|
290
289
|
}`;
|
|
291
290
|
}
|
|
292
291
|
case "vitest": {
|
|
293
292
|
return `TZ=UTC ${
|
|
294
|
-
coverage
|
|
295
|
-
? `POB_VITEST_COVERAGE=${`json${
|
|
293
|
+
coverage
|
|
294
|
+
? `POB_VITEST_COVERAGE=${`json${coverage === "generate" ? "" : ",text"} `}`
|
|
296
295
|
: ""
|
|
297
|
-
}vitest${watch ? " --watch" : ""}${coverage
|
|
296
|
+
}vitest${watch ? " --watch" : ""}${coverage ? " run --coverage" : ""}`;
|
|
298
297
|
}
|
|
299
298
|
default: {
|
|
300
299
|
throw new Error(`Invalid runner: "${testRunner}"`);
|
|
@@ -370,8 +369,12 @@ export default class CommonTestingGenerator extends Generator {
|
|
|
370
369
|
);
|
|
371
370
|
}
|
|
372
371
|
|
|
372
|
+
packageUtils.removeScripts(pkg, [
|
|
373
|
+
"test:coverage:lcov",
|
|
374
|
+
"test:coverage:json",
|
|
375
|
+
]);
|
|
376
|
+
|
|
373
377
|
if (this.options.monorepo) {
|
|
374
|
-
packageUtils.removeScripts(pkg, ["test:coverage:lcov"]);
|
|
375
378
|
packageUtils.addScripts(pkg, {
|
|
376
379
|
test: createTestCommand({
|
|
377
380
|
workspacesPattern,
|
|
@@ -384,7 +387,7 @@ export default class CommonTestingGenerator extends Generator {
|
|
|
384
387
|
workspacesPattern,
|
|
385
388
|
coverage: true,
|
|
386
389
|
}),
|
|
387
|
-
"test:coverage:
|
|
390
|
+
"test:coverage:generate": createTestCommand({
|
|
388
391
|
workspacesPattern,
|
|
389
392
|
coverageJson: true,
|
|
390
393
|
}),
|
|
@@ -420,8 +423,8 @@ export default class CommonTestingGenerator extends Generator {
|
|
|
420
423
|
"test:coverage": createTestCommand({
|
|
421
424
|
coverage: true,
|
|
422
425
|
}),
|
|
423
|
-
"test:coverage:
|
|
424
|
-
|
|
426
|
+
"test:coverage:generate": createTestCommand({
|
|
427
|
+
coverage: "generate",
|
|
425
428
|
}),
|
|
426
429
|
});
|
|
427
430
|
|
|
@@ -6,7 +6,7 @@ export default defineConfig({
|
|
|
6
6
|
include: ["<%= srcDirectory %>/**/__tests__/**/*.ts?(x)", "<%= srcDirectory %>/**/*.test.ts?(x)"],
|
|
7
7
|
coverage: {
|
|
8
8
|
include: ["<%= srcDirectory %>/**/*.ts?(x)"],
|
|
9
|
-
reportsDirectory: "
|
|
9
|
+
reportsDirectory: "coverage",
|
|
10
10
|
reporter: (process.env.POB_VITEST_COVERAGE || "json,text").split(","),
|
|
11
11
|
},
|
|
12
12
|
},
|
|
@@ -524,6 +524,7 @@ export default class CommonTranspilerGenerator extends Generator {
|
|
|
524
524
|
if (extraEntryConfig.name.endsWith(".css")) {
|
|
525
525
|
return {
|
|
526
526
|
style: `./${extraEntryConfig.name}`,
|
|
527
|
+
import: `./${extraEntryConfig.name}`,
|
|
527
528
|
default: `./${extraEntryConfig.name}`,
|
|
528
529
|
};
|
|
529
530
|
}
|
|
@@ -610,7 +611,7 @@ export default class CommonTranspilerGenerator extends Generator {
|
|
|
610
611
|
envs.some(
|
|
611
612
|
(env) =>
|
|
612
613
|
env.target === "node" &&
|
|
613
|
-
(["
|
|
614
|
+
(["4", "6", "8", "10", "12", "14", "16", "18", "20"].includes(
|
|
614
615
|
String(env.version),
|
|
615
616
|
) ||
|
|
616
617
|
(this.options.onlyLatestLTS &&
|
|
@@ -667,6 +668,9 @@ export default class CommonTranspilerGenerator extends Generator {
|
|
|
667
668
|
: `${maintenanceLTS}`)();
|
|
668
669
|
|
|
669
670
|
switch (String(minNodeVersion)) {
|
|
671
|
+
case "4":
|
|
672
|
+
case "6":
|
|
673
|
+
case "8":
|
|
670
674
|
case "10":
|
|
671
675
|
case "12":
|
|
672
676
|
case "14":
|
|
@@ -58,11 +58,11 @@ jobs:
|
|
|
58
58
|
<% if (testRunner === 'node') { -%>
|
|
59
59
|
|
|
60
60
|
- name: Generate Coverage
|
|
61
|
-
run: NODE_V8_COVERAGE=./docs/coverage <%= packageManager %> run test:coverage
|
|
61
|
+
run: NODE_V8_COVERAGE=./docs/coverage <%= packageManager %> run test:coverage:generate
|
|
62
62
|
<% } else {-%>
|
|
63
63
|
|
|
64
64
|
- name: Generate Coverage
|
|
65
|
-
run: <%= packageManager %> run test:coverage:
|
|
65
|
+
run: <%= packageManager %> run test:coverage:generate
|
|
66
66
|
<% } -%>
|
|
67
67
|
<% } -%>
|
|
68
68
|
|
|
@@ -203,7 +203,7 @@ jobs:
|
|
|
203
203
|
if: matrix.node-version != <%= nodeLatestMajorVersion %>
|
|
204
204
|
|
|
205
205
|
- name: Generate Test Coverage
|
|
206
|
-
run: <%= packageManager %> run test:coverage:
|
|
206
|
+
run: <%= packageManager %> run test:coverage:generate
|
|
207
207
|
if: matrix.node-version == <%= nodeLatestMajorVersion %>
|
|
208
208
|
env:
|
|
209
209
|
CI: true
|
|
@@ -89,7 +89,7 @@ jobs:
|
|
|
89
89
|
<% if (codecov) { -%>
|
|
90
90
|
|
|
91
91
|
- name: Generate Test Coverage
|
|
92
|
-
run: <%= packageManager %> run test:coverage:
|
|
92
|
+
run: <%= packageManager %> run test:coverage:generate
|
|
93
93
|
if: startsWith(matrix.node-version, '<%= nodeLatestMajorVersion %>.')
|
|
94
94
|
env:
|
|
95
95
|
CI: true
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
<h3>📦 Packages</h3>
|
|
12
12
|
|
|
13
|
-
This repository is a monorepo
|
|
13
|
+
This repository is a monorepo using workspaces.
|
|
14
14
|
|
|
15
15
|
| Package | Version | Description |
|
|
16
16
|
|---------|---------|-------------|
|
package/lib/utils/package.js
CHANGED
|
@@ -116,11 +116,20 @@ const getVersionFromDependencyName = (dependency) => {
|
|
|
116
116
|
value = pobPkg.devDependencies[dependency];
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
if (
|
|
119
|
+
if (
|
|
120
|
+
value === "workspace:*" ||
|
|
121
|
+
value === "workspace:^" ||
|
|
122
|
+
value === "workspace:~"
|
|
123
|
+
) {
|
|
120
124
|
const pkgJson = JSON.parse(
|
|
121
125
|
fs.readFileSync(
|
|
122
126
|
fileURLToPath(
|
|
123
|
-
import.meta.resolve(
|
|
127
|
+
import.meta.resolve(
|
|
128
|
+
`../../../../${dependency.startsWith("@") ? `${dependency}` : `packages/${dependency}`}/package.json`,
|
|
129
|
+
import.meta.url,
|
|
130
|
+
),
|
|
131
|
+
// import.meta
|
|
132
|
+
// .resolve(`${dependency}/package.json`, import.meta.url)
|
|
124
133
|
),
|
|
125
134
|
),
|
|
126
135
|
);
|
|
@@ -168,7 +177,11 @@ const internalAddDependencies = (pkg, type, dependencies, cleaned, prefix) => {
|
|
|
168
177
|
? `${prefix || ""}${potentialNewVersionCleaned}`
|
|
169
178
|
: potentialNewVersion;
|
|
170
179
|
try {
|
|
171
|
-
if (
|
|
180
|
+
if (
|
|
181
|
+
currentVersion === "workspace:*" ||
|
|
182
|
+
currentVersion === "workspace:^" ||
|
|
183
|
+
currentVersion === "workspace:~"
|
|
184
|
+
) {
|
|
172
185
|
// the package is in the monorepo
|
|
173
186
|
} else if (
|
|
174
187
|
!currentVersion ||
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pob",
|
|
3
|
-
"version": "35.
|
|
3
|
+
"version": "35.6.0",
|
|
4
4
|
"description": "Pile of bones, library generator with git/babel/typescript/typedoc/readme/jest",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"skeleton"
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
"./package.json": "./package.json"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@pob/eslint-config": "65.
|
|
32
|
-
"@pob/eslint-config-typescript-react": "65.
|
|
33
|
-
"@types/inquirer": "9.0.
|
|
31
|
+
"@pob/eslint-config": "65.6.0",
|
|
32
|
+
"@pob/eslint-config-typescript-react": "65.6.0",
|
|
33
|
+
"@types/inquirer": "9.0.10",
|
|
34
34
|
"@yeoman/adapter": "4.0.2",
|
|
35
35
|
"@yeoman/types": "1.11.1",
|
|
36
36
|
"eslint": "10.4.0",
|
|
@@ -51,13 +51,13 @@
|
|
|
51
51
|
"validate-npm-package-name": "^8.0.0",
|
|
52
52
|
"yeoman-environment": "6.1.0",
|
|
53
53
|
"yeoman-generator": "8.2.2",
|
|
54
|
+
"@pob/sort-object": "11.1.1",
|
|
54
55
|
"@pob/sort-pkg": "13.1.1",
|
|
55
|
-
"pob-dependencies": "24.
|
|
56
|
-
"@pob/sort-object": "11.1.1"
|
|
56
|
+
"pob-dependencies": "24.3.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@types/node": "24.
|
|
60
|
-
"@pob/root": "24.
|
|
59
|
+
"@types/node": "24.13.3",
|
|
60
|
+
"@pob/root": "24.6.0"
|
|
61
61
|
},
|
|
62
62
|
"engines": {
|
|
63
63
|
"node": ">=22.18.0"
|