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.
@@ -322,8 +322,7 @@ export default class CommonBabelGenerator extends Generator {
322
322
  }
323
323
 
324
324
  if (pkg.dependencies && pkg.dependencies["pob-babel"]) {
325
- // update pob-babel in alp-dev
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: 24, // TODO use latestLTS, when latest is updated to 24
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 = false; // todo configure src directory and remove test files
260
+ const experimentalTestCoverage =
261
+ pkg.name === "check-package-dependencies";
263
262
  return `TZ=UTC ${
264
- coverage || coverageJson
263
+ coverage && !experimentalTestCoverage
265
264
  ? `npx c8${
266
- coverageJson
267
- ? ` --reporter=${coverageJson ? "json" : "lcov"}`
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 && (coverage || coverageJson) ? " --experimental-test-coverage" : ""} ${this.options.monorepo ? `${workspacesPattern}/*/` : ""}${`${
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 || coverageJson
288
- ? ` --coverage ${coverageJson ? "--coverage-report=json" : ""}`
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 || coverageJson
295
- ? `POB_VITEST_COVERAGE=${`json${coverageJson ? "" : ",text"} `}`
293
+ coverage
294
+ ? `POB_VITEST_COVERAGE=${`json${coverage === "generate" ? "" : ",text"} `}`
296
295
  : ""
297
- }vitest${watch ? " --watch" : ""}${coverage || coverageJson ? " run --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:json": createTestCommand({
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:json": createTestCommand({
424
- coverageJson: true,
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: "docs/coverage",
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
- (["8", "6", "10", "12", "14", "16", "18", "20"].includes(
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:json<%- testRunner === 'jest' ? " --coverageDirectory=docs/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:json
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:json
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 that we manage using [Yarn Workspaces](https://yarnpkg.com/features/workspaces).
13
+ This repository is a monorepo using workspaces.
14
14
 
15
15
  | Package | Version | Description |
16
16
  |---------|---------|-------------|
@@ -116,11 +116,20 @@ const getVersionFromDependencyName = (dependency) => {
116
116
  value = pobPkg.devDependencies[dependency];
117
117
  }
118
118
 
119
- if (value === "workspace:*") {
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(`${dependency}/package.json`, import.meta.url),
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 (currentVersion === "workspace:*") {
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.4.1",
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.5.0",
32
- "@pob/eslint-config-typescript-react": "65.5.0",
33
- "@types/inquirer": "9.0.9",
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.2.0",
56
- "@pob/sort-object": "11.1.1"
56
+ "pob-dependencies": "24.3.0"
57
57
  },
58
58
  "devDependencies": {
59
- "@types/node": "24.12.4",
60
- "@pob/root": "24.4.1"
59
+ "@types/node": "24.13.3",
60
+ "@pob/root": "24.6.0"
61
61
  },
62
62
  "engines": {
63
63
  "node": ">=22.18.0"