pob 20.0.0 → 21.0.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.
Files changed (44) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/lib/generators/app/PobAppGenerator.js +12 -10
  3. package/lib/generators/app/e2e-testing/AppE2ETestingGenerator.js +2 -2
  4. package/lib/generators/app/ignorePaths.js +1 -0
  5. package/lib/generators/app/nextjs/AppNextjsGenerator.js +1 -1
  6. package/lib/generators/common/babel/CommonBabelGenerator.js +44 -28
  7. package/lib/generators/common/format-lint/CommonLintGenerator.js +33 -28
  8. package/lib/generators/common/format-lint/updateEslintConfig.js +5 -5
  9. package/lib/generators/common/husky/CommonHuskyGenerator.js +4 -4
  10. package/lib/generators/common/husky/templates/lint-staged.config.js.txt +1 -1
  11. package/lib/generators/common/release/CommonReleaseGenerator.js +14 -13
  12. package/lib/generators/common/release/templates/workflow-release.yml.ejs +2 -2
  13. package/lib/generators/common/testing/CommonTestingGenerator.js +46 -44
  14. package/lib/generators/common/transpiler/CommonTranspilerGenerator.js +18 -25
  15. package/lib/generators/common/typescript/CommonTypescriptGenerator.js +28 -24
  16. package/lib/generators/core/ci/CoreCIGenerator.js +20 -25
  17. package/lib/generators/core/clean/CoreCleanGenerator.js +1 -1
  18. package/lib/generators/core/editorconfig/CoreEditorConfigGenerator.js +1 -1
  19. package/lib/generators/core/git/CoreGitGenerator.js +6 -6
  20. package/lib/generators/core/git/generators/github/CoreGitGithubGenerator.js +8 -8
  21. package/lib/generators/core/gitignore/CoreGitignoreGenerator.js +7 -11
  22. package/lib/generators/core/npm/CoreNpmGenerator.js +4 -4
  23. package/lib/generators/core/package/CorePackageGenerator.js +18 -18
  24. package/lib/generators/core/renovate/CoreRenovateGenerator.js +5 -5
  25. package/lib/generators/core/sort-package/CoreSortPackageGenerator.js +1 -1
  26. package/lib/generators/core/vscode/CoreVSCodeGenerator.js +13 -12
  27. package/lib/generators/core/yarn/CoreYarnGenerator.js +32 -27
  28. package/lib/generators/lib/PobLibGenerator.js +22 -20
  29. package/lib/generators/lib/doc/LibDocGenerator.js +9 -9
  30. package/lib/generators/lib/readme/LibReadmeGenerator.js +7 -7
  31. package/lib/generators/monorepo/PobMonorepoGenerator.js +19 -18
  32. package/lib/generators/monorepo/lerna/MonorepoLernaGenerator.js +19 -15
  33. package/lib/generators/monorepo/typescript/MonorepoTypescriptGenerator.js +6 -6
  34. package/lib/generators/monorepo/workspaces/MonorepoWorkspacesGenerator.js +23 -19
  35. package/lib/generators/pob/PobBaseGenerator.js +7 -7
  36. package/lib/pob.js +33 -33
  37. package/lib/utils/ensureJsonFileFormatted.js +1 -1
  38. package/lib/utils/inMonorepo.js +1 -1
  39. package/lib/utils/package.js +7 -7
  40. package/lib/utils/packagejson.js +5 -0
  41. package/lib/utils/templateUtils.js +1 -1
  42. package/lib/utils/writeAndFormat.js +2 -2
  43. package/package.json +21 -17
  44. package/lib/utils/packagejson.cjs +0 -3
@@ -19,7 +19,7 @@ export const createYarnProject = async () => {
19
19
  const configuration = await Configuration.find(
20
20
  portablePath,
21
21
  // eslint-disable-next-line unicorn/no-array-method-this-argument -- not an array
22
- getPluginConfiguration()
22
+ getPluginConfiguration(),
23
23
  );
24
24
  // eslint-disable-next-line unicorn/no-array-method-this-argument -- not an array
25
25
  const { project } = await Project.find(configuration, portablePath);
@@ -28,7 +28,7 @@ export const createYarnProject = async () => {
28
28
 
29
29
  const getAppTypes = (configs) => {
30
30
  const appConfigs = configs.filter(
31
- (config) => config && config.project && config.project.type === "app"
31
+ (config) => config && config.project && config.project.type === "app",
32
32
  );
33
33
 
34
34
  const appTypes = new Set();
@@ -44,10 +44,9 @@ const hasDist = (packages, configs) =>
44
44
  (config, index) =>
45
45
  !!(config && config.project && config.project.type === "lib") &&
46
46
  !!(
47
- packages[index].pob &&
48
- packages[index].pob.babelEnvs &&
49
- packages[index].pob.babelEnvs.length > 0
50
- )
47
+ packages[index].pob?.babelEnvs?.length > 0 ||
48
+ packages[index].pob?.envs?.length > 0
49
+ ),
51
50
  );
52
51
 
53
52
  const hasBuild = (packages, configs) =>
@@ -58,7 +57,7 @@ const hasBuild = (packages, configs) =>
58
57
  config.project &&
59
58
  config.project.type === "app" &&
60
59
  config.app.type === "alp-node"
61
- )
60
+ ),
62
61
  );
63
62
 
64
63
  export default class PobMonorepoGenerator extends Generator {
@@ -69,40 +68,42 @@ export default class PobMonorepoGenerator extends Generator {
69
68
  type: Boolean,
70
69
  required: false,
71
70
  default: false,
72
- desc: "Avoid asking questions",
71
+ description: "Avoid asking questions",
73
72
  });
74
73
 
75
74
  this.option("isAppProject", {
76
75
  type: Boolean,
77
76
  required: false,
78
77
  default: false,
79
- desc: "app project, no pusblishing on npm",
78
+ description: "app project, no pusblishing on npm",
80
79
  });
81
80
 
82
81
  this.option("packageManager", {
83
82
  type: String,
84
83
  default: "yarn",
85
- desc: "yarn or npm",
84
+ description: "yarn or npm",
86
85
  });
87
86
 
88
87
  this.option("yarnNodeLinker", {
89
88
  type: String,
90
89
  required: false,
91
90
  default: "pnp",
92
- desc: "Defines what linker should be used for installing Node packages (useful to enable the node-modules plugin), one of: pnp, node-modules.",
91
+ description:
92
+ "Defines what linker should be used for installing Node packages (useful to enable the node-modules plugin), one of: pnp, node-modules.",
93
93
  });
94
94
 
95
95
  this.option("onlyLatestLTS", {
96
96
  type: Boolean,
97
97
  required: true,
98
- desc: "only latest lts",
98
+ description: "only latest lts",
99
99
  });
100
100
 
101
101
  this.option("disableYarnGitCache", {
102
102
  type: Boolean,
103
103
  required: false,
104
104
  default: false,
105
- desc: "Disable git cache. See https://yarnpkg.com/features/caching#offline-mirror.",
105
+ description:
106
+ "Disable git cache. See https://yarnpkg.com/features/caching#offline-mirror.",
106
107
  });
107
108
  }
108
109
 
@@ -110,7 +111,7 @@ export default class PobMonorepoGenerator extends Generator {
110
111
  const yarnProject = await createYarnProject(this.destinationPath());
111
112
  const batches = buildTopologicalOrderBatches(
112
113
  yarnProject,
113
- buildDependenciesMaps(yarnProject)
114
+ buildDependenciesMaps(yarnProject),
114
115
  );
115
116
 
116
117
  this.packages = [];
@@ -119,7 +120,7 @@ export default class PobMonorepoGenerator extends Generator {
119
120
  for (const batch of batches) {
120
121
  // sort by name to ensure consistent ordering
121
122
  batch.sort((a, b) =>
122
- getWorkspaceName(a).localeCompare(getWorkspaceName(b), "en")
123
+ getWorkspaceName(a).localeCompare(getWorkspaceName(b), "en"),
123
124
  );
124
125
 
125
126
  batch.forEach((workspace) => {
@@ -208,7 +209,7 @@ export default class PobMonorepoGenerator extends Generator {
208
209
  const packagePaths = this.packageLocations.filter(
209
210
  this.pobLernaConfig.typescript
210
211
  ? (packagePath) => fs.existsSync(`${packagePath}/tsconfig.json`)
211
- : Boolean
212
+ : Boolean,
212
213
  );
213
214
 
214
215
  if (packagePaths.length === 0 && packageNames.length > 0) {
@@ -313,7 +314,7 @@ export default class PobMonorepoGenerator extends Generator {
313
314
 
314
315
  if (platform !== "win32") {
315
316
  execSync(
316
- `rm -Rf ${["lib-*", "coverage", "docs"].filter(Boolean).join(" ")}`
317
+ `rm -Rf ${["lib-*", "coverage", "docs"].filter(Boolean).join(" ")}`,
317
318
  );
318
319
  }
319
320
  }
@@ -340,7 +341,7 @@ export default class PobMonorepoGenerator extends Generator {
340
341
  this.destinationPath("rollup.config.mjs"),
341
342
  {
342
343
  configLocations: rollupConfigs,
343
- }
344
+ },
344
345
  );
345
346
  } else {
346
347
  this.fs.delete("rollup.config.mjs");
@@ -10,20 +10,21 @@ export default class MonorepoLernaGenerator extends Generator {
10
10
  this.option("isAppProject", {
11
11
  type: Boolean,
12
12
  default: true,
13
- desc: "is app project",
13
+ description: "is app project",
14
14
  });
15
15
 
16
16
  this.option("packageManager", {
17
17
  type: String,
18
18
  default: "yarn",
19
- desc: "yarn or npm",
19
+ description: "yarn or npm",
20
20
  });
21
21
 
22
22
  this.option("disableYarnGitCache", {
23
23
  type: Boolean,
24
24
  required: false,
25
25
  default: false,
26
- desc: "Disable git cache. See https://yarnpkg.com/features/caching#offline-mirror.",
26
+ description:
27
+ "Disable git cache. See https://yarnpkg.com/features/caching#offline-mirror.",
27
28
  });
28
29
  }
29
30
 
@@ -37,18 +38,18 @@ export default class MonorepoLernaGenerator extends Generator {
37
38
  this.packagePaths = packagesPaths.flatMap((packagesPath) =>
38
39
  existsSync(`${packagesPath}/`)
39
40
  ? readdirSync(`${packagesPath}/`).map(
40
- (packageName) => `${packagesPath}/${packageName}`
41
+ (packageName) => `${packagesPath}/${packageName}`,
41
42
  )
42
- : []
43
+ : [],
43
44
  );
44
45
  this.packages = this.packagePaths
45
46
  .map((packagePath) =>
46
- this.fs.readJSON(this.destinationPath(`${packagePath}/package.json`))
47
+ this.fs.readJSON(this.destinationPath(`${packagePath}/package.json`)),
47
48
  )
48
49
  .filter(Boolean);
49
50
  this.packagesConfig = this.packagePaths
50
51
  .map((packagePath) =>
51
- this.fs.readJSON(this.destinationPath(`${packagePath}/.yo-rc.json`))
52
+ this.fs.readJSON(this.destinationPath(`${packagePath}/.yo-rc.json`)),
52
53
  )
53
54
  .filter(Boolean);
54
55
  }
@@ -58,7 +59,7 @@ export default class MonorepoLernaGenerator extends Generator {
58
59
 
59
60
  const lernaCurrentConfig = this.fs.readJSON(
60
61
  this.destinationPath("lerna.json"),
61
- pkg.lerna || {}
62
+ pkg.lerna || {},
62
63
  );
63
64
 
64
65
  this.npm =
@@ -88,7 +89,7 @@ export default class MonorepoLernaGenerator extends Generator {
88
89
  writeAndFormatJson(
89
90
  this.fs,
90
91
  this.destinationPath("lerna.json"),
91
- lernaConfig
92
+ lernaConfig,
92
93
  );
93
94
  }
94
95
 
@@ -106,14 +107,17 @@ export default class MonorepoLernaGenerator extends Generator {
106
107
  babelEnvs: [],
107
108
  ...(config && config.pob),
108
109
  });
109
- const withBabel = this.packages.some(
110
- (config) => getPackagePobConfig(config).babelEnvs.length > 0
111
- );
110
+ const withBabel = this.packages.some((config) => {
111
+ const pobConfig = getPackagePobConfig(config);
112
+ return (
113
+ pobConfig.babelEnvs.length > 0 || pobConfig.bundler === "rollup-babel"
114
+ );
115
+ });
112
116
 
113
117
  // lerna.json
114
118
  const lernaConfig = this.fs.readJSON(
115
119
  this.destinationPath("lerna.json"),
116
- {}
120
+ {},
117
121
  );
118
122
 
119
123
  // TODO pass that to yarn plugin
@@ -139,7 +143,7 @@ export default class MonorepoLernaGenerator extends Generator {
139
143
  writeAndFormatJson(
140
144
  this.fs,
141
145
  this.destinationPath("lerna.json"),
142
- lernaConfig
146
+ lernaConfig,
143
147
  );
144
148
  }
145
149
 
@@ -153,7 +157,7 @@ export default class MonorepoLernaGenerator extends Generator {
153
157
  {
154
158
  version:
155
159
  "YARN_ENABLE_IMMUTABLE_INSTALLS=false yarn && git add yarn.lock",
156
- }
160
+ },
157
161
  );
158
162
 
159
163
  this.fs.writeJSON(this.destinationPath("package.json"), pkg);
@@ -10,13 +10,13 @@ export default class MonorepoTypescriptGenerator extends Generator {
10
10
  this.option("enable", {
11
11
  type: Boolean,
12
12
  default: true,
13
- desc: "enable typescript",
13
+ description: "enable typescript",
14
14
  });
15
15
 
16
16
  this.option("isAppProject", {
17
17
  type: Boolean,
18
18
  default: true,
19
- desc: "app project, no building definitions",
19
+ description: "app project, no building definitions",
20
20
  });
21
21
 
22
22
  this.option("packageNames", {
@@ -53,7 +53,7 @@ export default class MonorepoTypescriptGenerator extends Generator {
53
53
  packageUtils.addOrRemoveDevDependencies(
54
54
  pkg,
55
55
  pkg.name === "@pob/eslint-config-monorepo" || this.options.enable,
56
- ["typescript"]
56
+ ["typescript"],
57
57
  );
58
58
 
59
59
  if (this.options.enable) {
@@ -109,7 +109,7 @@ export default class MonorepoTypescriptGenerator extends Generator {
109
109
  {
110
110
  packagePaths,
111
111
  tsConfigSuffix: false,
112
- }
112
+ },
113
113
  );
114
114
 
115
115
  if (this.options.testRunner === "node") {
@@ -119,10 +119,10 @@ export default class MonorepoTypescriptGenerator extends Generator {
119
119
  tsconfigTestPath,
120
120
  {
121
121
  packagePaths: packagePaths.filter((packagePath) =>
122
- existsSync(`${packagePath}/tsconfig.test.json`)
122
+ existsSync(`${packagePath}/tsconfig.test.json`),
123
123
  ),
124
124
  tsConfigSuffix: "test",
125
- }
125
+ },
126
126
  );
127
127
  }
128
128
 
@@ -11,20 +11,21 @@ export default class MonorepoWorkspacesGenerator extends Generator {
11
11
  this.option("isAppProject", {
12
12
  type: Boolean,
13
13
  default: true,
14
- desc: "is app project",
14
+ description: "is app project",
15
15
  });
16
16
 
17
17
  this.option("packageManager", {
18
18
  type: String,
19
19
  default: "yarn",
20
- desc: "yarn or npm",
20
+ description: "yarn or npm",
21
21
  });
22
22
 
23
23
  this.option("disableYarnGitCache", {
24
24
  type: Boolean,
25
25
  required: false,
26
26
  default: false,
27
- desc: "Disable git cache. See https://yarnpkg.com/features/caching#offline-mirror.",
27
+ description:
28
+ "Disable git cache. See https://yarnpkg.com/features/caching#offline-mirror.",
28
29
  });
29
30
  }
30
31
 
@@ -37,18 +38,18 @@ export default class MonorepoWorkspacesGenerator extends Generator {
37
38
  this.packagePaths = packagesPaths.flatMap((packagesPath) =>
38
39
  existsSync(`${packagesPath}/`)
39
40
  ? readdirSync(`${packagesPath}/`).map(
40
- (packageName) => `${packagesPath}/${packageName}`
41
+ (packageName) => `${packagesPath}/${packageName}`,
41
42
  )
42
- : []
43
+ : [],
43
44
  );
44
45
  this.packages = this.packagePaths
45
46
  .map((packagePath) =>
46
- this.fs.readJSON(this.destinationPath(`${packagePath}/package.json`))
47
+ this.fs.readJSON(this.destinationPath(`${packagePath}/package.json`)),
47
48
  )
48
49
  .filter(Boolean);
49
50
  this.packagesConfig = this.packagePaths
50
51
  .map((packagePath) =>
51
- this.fs.readJSON(this.destinationPath(`${packagePath}/.yo-rc.json`))
52
+ this.fs.readJSON(this.destinationPath(`${packagePath}/.yo-rc.json`)),
52
53
  )
53
54
  .filter(Boolean);
54
55
  }
@@ -60,16 +61,19 @@ export default class MonorepoWorkspacesGenerator extends Generator {
60
61
  babelEnvs: [],
61
62
  ...(config && config.pob),
62
63
  });
63
- const withBabel = this.packages.some(
64
- (config) => getPackagePobConfig(config).babelEnvs.length > 0
65
- );
64
+ const withBabel = this.packages.some((config) => {
65
+ const pobConfig = getPackagePobConfig(config);
66
+ return (
67
+ pobConfig.babelEnvs.length > 0 || pobConfig.bundler === "rollup-babel"
68
+ );
69
+ });
66
70
 
67
71
  // package.json
68
72
  const pkg = this.fs.readJSON(this.destinationPath("package.json"), {});
69
73
  packageUtils.removeDependencies(pkg, ["@pob/lerna-light"]);
70
74
  packageUtils.removeDevDependencies(pkg, ["@pob/lerna-light"]);
71
75
 
72
- if (this.npm) {
76
+ if (this.options.packageManager === "npm") {
73
77
  if (!pkg.engines) pkg.engines = {};
74
78
  pkg.engines.yarn = "< 0.0.0";
75
79
  pkg.engines.npm = ">= 6.4.0";
@@ -84,7 +88,7 @@ export default class MonorepoWorkspacesGenerator extends Generator {
84
88
  }
85
89
 
86
90
  const monorepoConfig = this.config.get("monorepo");
87
- const packageManager = this.npm ? "npm" : "yarn";
91
+ const packageManager = this.options.packageManager;
88
92
 
89
93
  packageUtils.addScripts(pkg, {
90
94
  lint: `${packageManager} run lint:prettier && ${packageManager} run lint:eslint`,
@@ -100,11 +104,11 @@ export default class MonorepoWorkspacesGenerator extends Generator {
100
104
  : ""
101
105
  }eslint --report-unused-disable-directives --resolve-plugins-relative-to . --quiet .`
102
106
  : // eslint-disable-next-line unicorn/no-nested-ternary
103
- this.options.packageManager === "yarn"
104
- ? `NODE_OPTIONS=--max_old_space_size=4096 eslint --report-unused-disable-directives --resolve-plugins-relative-to . --quiet . --ignore-pattern ${pkg.workspaces.join(
105
- ","
106
- )} && yarn workspaces foreach --parallel -Av run lint:eslint`
107
- : "npm run lint:eslint --workspaces",
107
+ this.options.packageManager === "yarn"
108
+ ? `NODE_OPTIONS=--max_old_space_size=4096 eslint --report-unused-disable-directives --resolve-plugins-relative-to . --quiet . --ignore-pattern ${pkg.workspaces.join(
109
+ ",",
110
+ )} && yarn workspaces foreach --parallel -Av run lint:eslint`
111
+ : "npm run lint:eslint --workspaces",
108
112
  });
109
113
 
110
114
  packageUtils.addOrRemoveScripts(
@@ -113,7 +117,7 @@ export default class MonorepoWorkspacesGenerator extends Generator {
113
117
  {
114
118
  version:
115
119
  "YARN_ENABLE_IMMUTABLE_INSTALLS=false yarn && git add yarn.lock",
116
- }
120
+ },
117
121
  );
118
122
 
119
123
  packageUtils.addOrRemoveScripts(pkg, withBabel, {
@@ -187,7 +191,7 @@ export default class MonorepoWorkspacesGenerator extends Generator {
187
191
  {
188
192
  cwd: packagePath,
189
193
  stdio: "inherit",
190
- }
194
+ },
191
195
  );
192
196
  });
193
197
 
@@ -11,31 +11,31 @@ export default class PobBaseGenerator extends Generator {
11
11
  this.option("monorepo", {
12
12
  type: Boolean,
13
13
  required: false,
14
- desc: "monorepo",
14
+ description: "monorepo",
15
15
  });
16
16
 
17
17
  this.option("type", {
18
18
  type: String,
19
19
  required: true,
20
- desc: "Type of generator",
20
+ description: "Type of generator",
21
21
  });
22
22
 
23
23
  this.option("updateOnly", {
24
24
  type: Boolean,
25
25
  required: true,
26
- desc: "Don't ask questions if we already have the answers",
26
+ description: "Don't ask questions if we already have the answers",
27
27
  });
28
28
 
29
29
  this.option("fromPob", {
30
30
  type: Boolean,
31
31
  required: true,
32
- desc: "Don't run yarn or build",
32
+ description: "Don't run yarn or build",
33
33
  });
34
34
 
35
35
  this.option("force", {
36
36
  type: Boolean,
37
37
  required: true,
38
- desc: "Don't check diff",
38
+ description: "Don't check diff",
39
39
  });
40
40
  }
41
41
 
@@ -203,7 +203,7 @@ export default class PobBaseGenerator extends Generator {
203
203
  this.composeWith(
204
204
  // pob:monorepo <= for searching PobMonorepoGenerator.js
205
205
  fileURLToPath(
206
- new URL("../monorepo/PobMonorepoGenerator.js", import.meta.url)
206
+ new URL("../monorepo/PobMonorepoGenerator.js", import.meta.url),
207
207
  ),
208
208
  {
209
209
  updateOnly: this.options.updateOnly,
@@ -212,7 +212,7 @@ export default class PobBaseGenerator extends Generator {
212
212
  packageManager: this.projectConfig.packageManager,
213
213
  yarnNodeLinker: this.projectConfig.yarnNodeLinker,
214
214
  onlyLatestLTS,
215
- }
215
+ },
216
216
  );
217
217
  } else {
218
218
  switch (this.projectConfig.type) {
package/lib/pob.js CHANGED
@@ -83,157 +83,157 @@ process.on("uncaughtException", (err) => {
83
83
  env.registerStub(
84
84
  PobBaseGenerator,
85
85
  "pob",
86
- `${__dirname}/generators/app/PobAppGenerator.js`
86
+ `${__dirname}/generators/app/PobAppGenerator.js`,
87
87
  );
88
88
  env.registerStub(
89
89
  PobAppGenerator,
90
90
  "pob:app",
91
- `${__dirname}/generators/app/PobAppGenerator.js`
91
+ `${__dirname}/generators/app/PobAppGenerator.js`,
92
92
  );
93
93
  env.registerStub(
94
94
  AppE2ETestingGenerator,
95
95
  "pob:app:e2e-testing",
96
- `${__dirname}/generators/app/e2e-testing/AppE2ETestingGenerator.js`
96
+ `${__dirname}/generators/app/e2e-testing/AppE2ETestingGenerator.js`,
97
97
  );
98
98
  env.registerStub(
99
99
  AppNextjsGenerator,
100
100
  "pob:app:nextjs",
101
- `${__dirname}/generators/app/nextjs/AppNextjsGenerator.js`
101
+ `${__dirname}/generators/app/nextjs/AppNextjsGenerator.js`,
102
102
  );
103
103
  env.registerStub(
104
104
  AppRemixGenerator,
105
105
  "pob:app:remix",
106
- `${__dirname}/generators/app/nextjs/AppRemixGenerator.js`
106
+ `${__dirname}/generators/app/nextjs/AppRemixGenerator.js`,
107
107
  );
108
108
  env.registerStub(
109
109
  CommonBabelGenerator,
110
110
  "pob:common:babel",
111
- `${__dirname}/generators/common/babel/CommonBabelGenerator.js`
111
+ `${__dirname}/generators/common/babel/CommonBabelGenerator.js`,
112
112
  );
113
113
  env.registerStub(
114
114
  CommonTranspilerGenerator,
115
115
  "pob:common:transpiler",
116
- `${__dirname}/generators/common/transpiler/CommonTranspilerGenerator.js`
116
+ `${__dirname}/generators/common/transpiler/CommonTranspilerGenerator.js`,
117
117
  );
118
118
  env.registerStub(
119
119
  CommonLintGenerator,
120
120
  "pob:common:format-lint",
121
- `${__dirname}/generators/common/format-lint/CommonLintGenerator.js`
121
+ `${__dirname}/generators/common/format-lint/CommonLintGenerator.js`,
122
122
  );
123
123
  env.registerStub(
124
124
  CommonHuskyGenerator,
125
125
  "pob:common:husky",
126
- `${__dirname}/generators/common/husky/CommonHuskyGenerator.js`
126
+ `${__dirname}/generators/common/husky/CommonHuskyGenerator.js`,
127
127
  );
128
128
  env.registerStub(
129
129
  CommonRemoveOldDependenciesGenerator,
130
130
  "pob:common:remove-old-dependencies",
131
- `${__dirname}/generators/common/old-dependencies/CommonRemoveOldDependenciesGenerator.js`
131
+ `${__dirname}/generators/common/old-dependencies/CommonRemoveOldDependenciesGenerator.js`,
132
132
  );
133
133
  env.registerStub(
134
134
  CommonReleaseGenerator,
135
135
  "pob:common:release",
136
- `${__dirname}/generators/common/release/CommonReleaseGenerator.js`
136
+ `${__dirname}/generators/common/release/CommonReleaseGenerator.js`,
137
137
  );
138
138
  env.registerStub(
139
139
  CommonTestingGenerator,
140
140
  "pob:common:testing",
141
- `${__dirname}/generators/common/testing/CommonTestingGenerator.js`
141
+ `${__dirname}/generators/common/testing/CommonTestingGenerator.js`,
142
142
  );
143
143
  env.registerStub(
144
144
  CommonTypescriptGenerator,
145
145
  "pob:common:typescript",
146
- `${__dirname}/generators/common/typescript/CommonTypescriptGenerator.js`
146
+ `${__dirname}/generators/common/typescript/CommonTypescriptGenerator.js`,
147
147
  );
148
148
  env.registerStub(
149
149
  CoreCIGenerator,
150
150
  "pob:core:ci",
151
- `${__dirname}/generators/core/ci/CoreCIGenerator.js`
151
+ `${__dirname}/generators/core/ci/CoreCIGenerator.js`,
152
152
  );
153
153
  env.registerStub(
154
154
  CoreCleanGenerator,
155
155
  "pob:core:clean",
156
- `${__dirname}/generators/core/clean/CoreCleanGenerator.js`
156
+ `${__dirname}/generators/core/clean/CoreCleanGenerator.js`,
157
157
  );
158
158
  env.registerStub(
159
159
  CoreEditorConfigGenerator,
160
160
  "pob:core:editorconfig",
161
- `${__dirname}/generators/core/editorconfig/CoreEditorConfigGenerator.js`
161
+ `${__dirname}/generators/core/editorconfig/CoreEditorConfigGenerator.js`,
162
162
  );
163
163
  env.registerStub(
164
164
  CoreGitGenerator,
165
165
  "pob:core:git",
166
- `${__dirname}/generators/core/git/CoreGitGenerator.js`
166
+ `${__dirname}/generators/core/git/CoreGitGenerator.js`,
167
167
  );
168
168
  env.registerStub(
169
169
  CoreGitGithubGenerator,
170
170
  "pob:core:git:github",
171
- `${__dirname}/generators/core/git/generators/github/CoreGitGithubGenerator.js`
171
+ `${__dirname}/generators/core/git/generators/github/CoreGitGithubGenerator.js`,
172
172
  );
173
173
  env.registerStub(
174
174
  CoreGitignoreGenerator,
175
175
  "pob:core:gitignore",
176
- `${__dirname}/generators/core/gitignore/CoreGitignoreGenerator.js`
176
+ `${__dirname}/generators/core/gitignore/CoreGitignoreGenerator.js`,
177
177
  );
178
178
  env.registerStub(
179
179
  CoreNpmGenerator,
180
180
  "pob:core:npm",
181
- `${__dirname}/generators/core/npm/CoreNpmGenerator.js`
181
+ `${__dirname}/generators/core/npm/CoreNpmGenerator.js`,
182
182
  );
183
183
  env.registerStub(
184
184
  CorePackageGenerator,
185
185
  "pob:core:package",
186
- `${__dirname}/generators/core/package/CorePackageGenerator.js`
186
+ `${__dirname}/generators/core/package/CorePackageGenerator.js`,
187
187
  );
188
188
  env.registerStub(
189
189
  CoreRenovateGenerator,
190
190
  "pob:core:renovate",
191
- `${__dirname}/generators/core/renovate/CoreRenovateGenerator.js`
191
+ `${__dirname}/generators/core/renovate/CoreRenovateGenerator.js`,
192
192
  );
193
193
  env.registerStub(
194
194
  CoreSortPackageGenerator,
195
195
  "pob:core:sort-package",
196
- `${__dirname}/generators/core/sort-package/CoreSortPackageGenerator.js`
196
+ `${__dirname}/generators/core/sort-package/CoreSortPackageGenerator.js`,
197
197
  );
198
198
  env.registerStub(
199
199
  CoreVSCodeGenerator,
200
200
  "pob:core:vscode",
201
- `${__dirname}/generators/core/vscode/CoreVSCodeGenerator.js`
201
+ `${__dirname}/generators/core/vscode/CoreVSCodeGenerator.js`,
202
202
  );
203
203
  env.registerStub(
204
204
  CoreYarnGenerator,
205
205
  "pob:core:yarn",
206
- `${__dirname}/generators/core/yarn/CoreYarnGenerator.js`
206
+ `${__dirname}/generators/core/yarn/CoreYarnGenerator.js`,
207
207
  );
208
208
  env.registerStub(
209
209
  PobLibGenerator,
210
210
  "pob:lib",
211
- `${__dirname}/generators/lib/PobLibGenerator.js`
211
+ `${__dirname}/generators/lib/PobLibGenerator.js`,
212
212
  );
213
213
  env.registerStub(
214
214
  LibDocGenerator,
215
215
  "pob:lib:doc",
216
- `${__dirname}/generators/lib/doc/LibDocGenerator.js`
216
+ `${__dirname}/generators/lib/doc/LibDocGenerator.js`,
217
217
  );
218
218
  env.registerStub(
219
219
  LibReadmeGenerator,
220
220
  "pob:lib:readme",
221
- `${__dirname}/generators/lib/readme/LibReadmeGenerator.js`
221
+ `${__dirname}/generators/lib/readme/LibReadmeGenerator.js`,
222
222
  );
223
223
  env.registerStub(
224
224
  MonorepoWorkspacesGenerator,
225
225
  "pob:monorepo:workspaces",
226
- `${__dirname}/generators/monorepo/workspaces/MonorepoWorkspacesGenerator.js`
226
+ `${__dirname}/generators/monorepo/workspaces/MonorepoWorkspacesGenerator.js`,
227
227
  );
228
228
  env.registerStub(
229
229
  MonorepoLernaGenerator,
230
230
  "pob:monorepo:lerna",
231
- `${__dirname}/generators/monorepo/lerna/MonorepoLernaGenerator.js`
231
+ `${__dirname}/generators/monorepo/lerna/MonorepoLernaGenerator.js`,
232
232
  );
233
233
  env.registerStub(
234
234
  MonorepoTypescriptGenerator,
235
235
  "pob:monorepo:typescript",
236
- `${__dirname}/generators/monorepo/typescript/MonorepoTypescriptGenerator.js`
236
+ `${__dirname}/generators/monorepo/typescript/MonorepoTypescriptGenerator.js`,
237
237
  );
238
238
 
239
239
  const projectPkg = readJson(path.resolve("./package.json"));
@@ -244,7 +244,7 @@ const action = monorepoArg ? argv._[1] : argv._[0];
244
244
  if (action === "add") {
245
245
  if (!projectPkg.workspaces) {
246
246
  throw new Error(
247
- "Missing workspaces field in package.json: not a lerna repo"
247
+ "Missing workspaces field in package.json: not a lerna repo",
248
248
  );
249
249
  }
250
250
 
@@ -263,7 +263,7 @@ if (action === "add") {
263
263
  writeFileSync(`${packagesPath}/${packageName}/.yo-rc.json`, "{}");
264
264
  writeFileSync(
265
265
  `${packagesPath}/${packageName}/package.json`,
266
- JSON.stringify({ name: packageName, version: "1.0.0-pre" }, null, 2)
266
+ JSON.stringify({ name: packageName, version: "1.0.0-pre" }, null, 2),
267
267
  );
268
268
  console.log("> Creating new Package");
269
269
  spawnSync(process.argv[0], [process.argv[1]], {
@@ -1,6 +1,6 @@
1
1
  import fs from "node:fs";
2
2
  import sortPkg from "@pob/sort-pkg";
3
- import prettier from "prettier";
3
+ import prettier from "@prettier/sync";
4
4
 
5
5
  export default function ensureJsonFileFormatted(path) {
6
6
  try {
@@ -16,7 +16,7 @@ const rootMonorepoPkg =
16
16
 
17
17
  const getInMonorepoThings = () => {
18
18
  const rootYoConfig = JSON.parse(
19
- fs.readFileSync(path.resolve(rootMonorepo, ".yo-rc.json"))
19
+ fs.readFileSync(path.resolve(rootMonorepo, ".yo-rc.json")),
20
20
  );
21
21
  const cwd = process.cwd();
22
22