pob 35.2.0 → 35.3.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.
@@ -200,7 +200,8 @@ export default class CommonFormatLintGenerator extends Generator {
200
200
  });
201
201
  }
202
202
 
203
- this.fs.copyTpl(
203
+ copyAndFormatTpl(
204
+ this.fs,
204
205
  this.templatePath("oxfmtrc.jsonc.ejs"),
205
206
  this.destinationPath(".oxfmtrc.jsonc"),
206
207
  {
@@ -317,17 +317,17 @@ export default class CommonTestingGenerator extends Generator {
317
317
  packageUtils.addDevDependencies(pkg, ["vite"]);
318
318
  }
319
319
 
320
+ packageUtils.removeScripts(["generate:test-coverage"]);
321
+
320
322
  if (!this.options.enable) {
321
323
  // if (inMonorepo) {
322
324
  // if (pkg.scripts.test === 'echo "No tests"') {
323
325
  // delete pkg.scripts.test;
324
326
  // }
325
- // delete pkg.scripts['generate:test-coverage'];
326
327
  // }
327
328
  packageUtils.removeScripts([
328
329
  "test",
329
330
  "test:coverage",
330
- "generate:test-coverage",
331
331
  "test:watch",
332
332
  "test:coverage",
333
333
  "test:coverage:json",
@@ -395,7 +395,6 @@ export default class CommonTestingGenerator extends Generator {
395
395
 
396
396
  if (globalTesting) {
397
397
  if (pkg.scripts) {
398
- delete pkg.scripts["generate:test-coverage"];
399
398
  delete pkg.scripts["test:watch"];
400
399
  delete pkg.scripts["test:coverage"];
401
400
  }
@@ -208,8 +208,6 @@ export default class CommonTypescriptGenerator extends Generator {
208
208
  delete pkg.scripts.flow;
209
209
  }
210
210
 
211
- console.log({ enableTypescript: this.options.enable });
212
-
213
211
  packageUtils.addOrRemoveDevDependencies(
214
212
  pkg,
215
213
  this.options.enable ||
@@ -364,13 +362,16 @@ export default class CommonTypescriptGenerator extends Generator {
364
362
  this.fs.delete(tsconfigBuildPath);
365
363
  // }
366
364
  } else {
367
- if (pkg.scripts) delete pkg.scripts.tsc;
368
365
  this.fs.delete(tsconfigPath);
369
366
  this.fs.delete(tsconfigBuildPath);
370
367
  this.fs.delete(tsconfigCheckPath);
371
368
  this.fs.delete(tsconfigEslintPath);
372
369
  }
373
370
 
371
+ if (!pkg.workspaces || !this.options.enable) {
372
+ packageUtils.addOrRemoveScripts(pkg, this.options.enable, { tsc: "tsc" });
373
+ }
374
+
374
375
  this.fs.writeJSON(this.destinationPath("package.json"), pkg);
375
376
  }
376
377
  }
@@ -99,6 +99,8 @@ jobs:
99
99
  with:
100
100
  fail_ci_if_error: true
101
101
  token: ${{ secrets.CODECOV_TOKEN }}
102
+ files: ./coverage/coverage-final.json
103
+ disable_search: true
102
104
  if: startsWith(matrix.node-version, '<%= nodeLatestMajorVersion %>.') && github.actor != 'dependabot[bot]'
103
105
  <% } else if (testing) { -%>
104
106
 
@@ -131,6 +131,11 @@ export default class CoreGitGenerator extends Generator {
131
131
  if (!pkg.homepage && this.gitHostAccount) {
132
132
  pkg.homepage = `https://${this.gitHost}.com/${this.gitHostAccount}/${repoName}`;
133
133
  }
134
+ if (this.gitHostAccount) {
135
+ pkg.bugs = {
136
+ url: `https://${this.gitHost}.com/${this.gitHostAccount}/${repoName}/issues`,
137
+ };
138
+ }
134
139
 
135
140
  const repository = `https://${this.gitHost}.com/${this.gitHostAccount}/${repoName}.git`;
136
141
 
@@ -206,6 +206,8 @@ export default class CorePackageGenerator extends Generator {
206
206
  directory: process.cwd().slice(inMonorepo.rootPath.length + 1),
207
207
  };
208
208
  pkg.homepage = rootMonorepoPkg.homepage;
209
+ if (pkg.private) delete pkg.bugs;
210
+ else if (rootMonorepoPkg.bugs) pkg.bugs = rootMonorepoPkg.bugs;
209
211
 
210
212
  if (this.fs.exists(this.destinationPath("yarn.lock"))) {
211
213
  fs.unlinkSync(this.destinationPath("yarn.lock"));
@@ -214,6 +216,7 @@ export default class CorePackageGenerator extends Generator {
214
216
  fs.unlinkSync(this.destinationPath("pnpm-lock.yaml"));
215
217
  }
216
218
  }
219
+
217
220
  if (this.fs.exists(this.destinationPath("yarn-error.log"))) {
218
221
  fs.unlinkSync(this.destinationPath("yarn-error.log"));
219
222
  }
@@ -40,7 +40,7 @@ export default class CorePnpmGenerator extends Generator {
40
40
  (!pkg.packageManager.startsWith("pnpm@") ||
41
41
  lt(pkg.packageManager.slice("pnpm@".length), "11.0.0"))
42
42
  ) {
43
- pkg.packageManager = "pnpm@11.0.0";
43
+ delete pkg.packageManager;
44
44
  }
45
45
 
46
46
  const configString = this.fs.read(
@@ -50,9 +50,17 @@ export default class CorePnpmGenerator extends Generator {
50
50
  const config =
51
51
  yml.load(configString, {
52
52
  schema: yml.FAILSAFE_SCHEMA,
53
- json: true,
54
53
  }) || {};
55
54
 
55
+ if (config.allowBuilds) {
56
+ config.allowBuilds = Object.fromEntries(
57
+ Object.entries(config.allowBuilds).map(([key, value]) => [
58
+ key,
59
+ value === "true" ? true : value,
60
+ ]),
61
+ );
62
+ }
63
+
56
64
  if (pkg.workspaces) {
57
65
  config.packages = pkg.workspaces;
58
66
  } else {
@@ -159,6 +159,9 @@ export default class CoreYarnGenerator extends Generator {
159
159
  schema: yml.FAILSAFE_SCHEMA,
160
160
  json: true,
161
161
  }) || {};
162
+ if (config.enableScripts === "true") {
163
+ config.enableScripts = true;
164
+ }
162
165
  const previousConfig = { ...config };
163
166
  if (this.options.disableYarnGitCache) {
164
167
  // leave default compressionLevel instead of this next line
@@ -168,7 +171,7 @@ export default class CoreYarnGenerator extends Generator {
168
171
  delete config.supportedArchitectures;
169
172
  } else {
170
173
  config.compressionLevel = 0; // optimized for github config
171
- config.enableGlobalCache = "false";
174
+ config.enableGlobalCache = false;
172
175
  // https://yarnpkg.dev/releases/3-1/
173
176
  // make sure all supported architectures are in yarn cache
174
177
  config.supportedArchitectures = {
@@ -137,6 +137,9 @@ export default class PobBaseGenerator extends Generator {
137
137
  ]);
138
138
 
139
139
  this.projectConfig = { ...config, ...responses };
140
+ if (this.projectConfig.packageManager !== "yarn") {
141
+ delete this.projectConfig.yarnNodeLinker;
142
+ }
140
143
  this.config.set("project", this.projectConfig);
141
144
  }
142
145
 
@@ -1,3 +1,5 @@
1
+ import fs from "node:fs";
2
+ import { fileURLToPath } from "node:url";
1
3
  import sortObject from "@pob/sort-object";
2
4
  import sortPkg from "@pob/sort-pkg";
3
5
  import parseAuthor from "parse-author";
@@ -108,12 +110,23 @@ const getVersionFromDependencyName = (dependency) => {
108
110
  return pobEslintConfig.dependencies[dependency];
109
111
  }
110
112
 
113
+ let value = pobDependencies[dependency];
111
114
  // prevents cycle that lerna doesnt like
112
115
  if (dependency === "@pob/root") {
113
- return pobPkg.devDependencies[dependency];
116
+ value = pobPkg.devDependencies[dependency];
114
117
  }
115
118
 
116
- return pobDependencies[dependency];
119
+ if (value === "workspace:*") {
120
+ const pkgJson = JSON.parse(
121
+ fs.readFileSync(
122
+ fileURLToPath(
123
+ import.meta.resolve(`${dependency}/package.json`, import.meta.url),
124
+ ),
125
+ ),
126
+ );
127
+ return pkgJson.version;
128
+ }
129
+ return value;
117
130
  };
118
131
 
119
132
  const internalAddDependencies = (pkg, type, dependencies, cleaned, prefix) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pob",
3
- "version": "35.2.0",
3
+ "version": "35.3.0",
4
4
  "description": "Pile of bones, library generator with git/babel/typescript/typedoc/readme/jest",
5
5
  "keywords": [
6
6
  "skeleton"
@@ -46,18 +46,18 @@
46
46
  "minimist": "1.2.8",
47
47
  "oxfmt": "0.51.0",
48
48
  "parse-author": "2.0.0",
49
- "semver": "7.8.0",
49
+ "semver": "7.8.1",
50
50
  "typescript": "6.0.3",
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-dependencies": "24.1.0",
55
- "@pob/sort-pkg": "13.1.0",
56
- "@pob/sort-object": "11.1.0"
54
+ "@pob/sort-object": "11.1.1",
55
+ "pob-dependencies": "24.1.1",
56
+ "@pob/sort-pkg": "13.1.1"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@types/node": "24.12.4",
60
- "@pob/root": "24.2.0"
60
+ "@pob/root": "24.3.0"
61
61
  },
62
62
  "engines": {
63
63
  "node": ">=22.18.0"
@@ -69,7 +69,8 @@
69
69
  "build": "pnpm run build:definitions",
70
70
  "build:definitions": "tsc -p tsconfig.json",
71
71
  "lint": "pnpm run lint:eslint",
72
- "lint:eslint": "pnpm run --dir '../..' eslint --quiet 'packages/pob'"
72
+ "lint:eslint": "pnpm run --dir '../..' eslint --quiet 'packages/pob'",
73
+ "tsc": "tsc"
73
74
  },
74
75
  "bin": {
75
76
  "pob": "./lib/pob.js"