pob 19.1.1 → 20.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 (49) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/lib/generators/app/PobAppGenerator.js +120 -120
  3. package/lib/generators/app/e2e-testing/AppE2ETestingGenerator.js +11 -11
  4. package/lib/generators/app/ignorePaths.js +24 -24
  5. package/lib/generators/app/nextjs/AppNextjsGenerator.js +9 -9
  6. package/lib/generators/app/remix/AppRemixGenerator.js +7 -7
  7. package/lib/generators/common/babel/CommonBabelGenerator.js +146 -146
  8. package/lib/generators/common/format-lint/CommonLintGenerator.js +185 -185
  9. package/lib/generators/common/format-lint/updateEslintConfig.js +14 -15
  10. package/lib/generators/common/husky/CommonHuskyGenerator.js +44 -44
  11. package/lib/generators/common/old-dependencies/CommonRemoveOldDependenciesGenerator.js +44 -44
  12. package/lib/generators/common/release/CommonReleaseGenerator.js +40 -40
  13. package/lib/generators/common/testing/CommonTestingGenerator.js +190 -190
  14. package/lib/generators/common/testing/templates/index.js +3 -3
  15. package/lib/generators/common/transpiler/CommonTranspilerGenerator.js +163 -163
  16. package/lib/generators/common/typescript/CommonTypescriptGenerator.js +79 -79
  17. package/lib/generators/common/typescript/templates/tsconfig.js.json.ejs +12 -0
  18. package/lib/generators/core/ci/CoreCIGenerator.js +72 -72
  19. package/lib/generators/core/clean/CoreCleanGenerator.js +4 -4
  20. package/lib/generators/core/editorconfig/CoreEditorConfigGenerator.js +3 -3
  21. package/lib/generators/core/git/CoreGitGenerator.js +43 -43
  22. package/lib/generators/core/git/generators/github/CoreGitGithubGenerator.js +43 -43
  23. package/lib/generators/core/gitignore/CoreGitignoreGenerator.js +19 -19
  24. package/lib/generators/core/npm/CoreNpmGenerator.js +20 -20
  25. package/lib/generators/core/package/CorePackageGenerator.js +98 -98
  26. package/lib/generators/core/package/askName.js +4 -4
  27. package/lib/generators/core/renovate/CoreRenovateGenerator.js +28 -28
  28. package/lib/generators/core/sort-package/CoreSortPackageGenerator.js +6 -6
  29. package/lib/generators/core/vscode/CoreVSCodeGenerator.js +43 -43
  30. package/lib/generators/core/yarn/CoreYarnGenerator.js +70 -70
  31. package/lib/generators/lib/PobLibGenerator.js +111 -111
  32. package/lib/generators/lib/doc/LibDocGenerator.js +45 -45
  33. package/lib/generators/lib/readme/LibReadmeGenerator.js +21 -21
  34. package/lib/generators/monorepo/PobMonorepoGenerator.js +89 -89
  35. package/lib/generators/monorepo/lerna/MonorepoLernaGenerator.js +47 -47
  36. package/lib/generators/monorepo/typescript/MonorepoTypescriptGenerator.js +38 -38
  37. package/lib/generators/monorepo/workspaces/MonorepoWorkspacesGenerator.js +57 -57
  38. package/lib/generators/pob/PobBaseGenerator.js +81 -81
  39. package/lib/pob-dirname.cjs +1 -1
  40. package/lib/pob.js +143 -143
  41. package/lib/utils/dependenciesPackages.cjs +4 -4
  42. package/lib/utils/ensureJsonFileFormatted.js +5 -5
  43. package/lib/utils/inMonorepo.js +8 -8
  44. package/lib/utils/json5.js +1 -1
  45. package/lib/utils/package.js +43 -43
  46. package/lib/utils/packagejson.cjs +2 -2
  47. package/lib/utils/templateUtils.js +1 -1
  48. package/lib/utils/writeAndFormat.js +9 -10
  49. package/package.json +10 -10
package/lib/pob.js CHANGED
@@ -1,58 +1,58 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { execSync, spawnSync } from 'node:child_process';
3
+ import { execSync, spawnSync } from "node:child_process";
4
4
  import fs, {
5
5
  existsSync,
6
6
  writeFileSync,
7
7
  readFileSync,
8
8
  mkdirSync,
9
9
  readdirSync,
10
- } from 'node:fs';
11
- import path from 'node:path';
12
- import minimist from 'minimist';
13
- import * as yeoman from 'yeoman-environment';
14
- import PobAppGenerator from './generators/app/PobAppGenerator.js';
15
- import AppE2ETestingGenerator from './generators/app/e2e-testing/AppE2ETestingGenerator.js';
16
- import AppNextjsGenerator from './generators/app/nextjs/AppNextjsGenerator.js';
17
- import AppRemixGenerator from './generators/app/remix/AppRemixGenerator.js';
18
- import CommonBabelGenerator from './generators/common/babel/CommonBabelGenerator.js';
19
- import CommonLintGenerator from './generators/common/format-lint/CommonLintGenerator.js';
20
- import CommonHuskyGenerator from './generators/common/husky/CommonHuskyGenerator.js';
21
- import CommonRemoveOldDependenciesGenerator from './generators/common/old-dependencies/CommonRemoveOldDependenciesGenerator.js';
22
- import CommonReleaseGenerator from './generators/common/release/CommonReleaseGenerator.js';
23
- import CommonTestingGenerator from './generators/common/testing/CommonTestingGenerator.js';
24
- import CommonTranspilerGenerator from './generators/common/transpiler/CommonTranspilerGenerator.js';
25
- import CommonTypescriptGenerator from './generators/common/typescript/CommonTypescriptGenerator.js';
26
- import CoreCIGenerator from './generators/core/ci/CoreCIGenerator.js';
27
- import CoreCleanGenerator from './generators/core/clean/CoreCleanGenerator.js';
28
- import CoreEditorConfigGenerator from './generators/core/editorconfig/CoreEditorConfigGenerator.js';
29
- import CoreGitGenerator from './generators/core/git/CoreGitGenerator.js';
30
- import CoreGitGithubGenerator from './generators/core/git/generators/github/CoreGitGithubGenerator.js';
31
- import CoreGitignoreGenerator from './generators/core/gitignore/CoreGitignoreGenerator.js';
32
- import CoreNpmGenerator from './generators/core/npm/CoreNpmGenerator.js';
33
- import CorePackageGenerator from './generators/core/package/CorePackageGenerator.js';
34
- import CoreRenovateGenerator from './generators/core/renovate/CoreRenovateGenerator.js';
35
- import CoreSortPackageGenerator from './generators/core/sort-package/CoreSortPackageGenerator.js';
36
- import CoreVSCodeGenerator from './generators/core/vscode/CoreVSCodeGenerator.js';
37
- import CoreYarnGenerator from './generators/core/yarn/CoreYarnGenerator.js';
38
- import PobLibGenerator from './generators/lib/PobLibGenerator.js';
39
- import LibDocGenerator from './generators/lib/doc/LibDocGenerator.js';
40
- import LibReadmeGenerator from './generators/lib/readme/LibReadmeGenerator.js';
41
- import MonorepoLernaGenerator from './generators/monorepo/lerna/MonorepoLernaGenerator.js';
42
- import MonorepoTypescriptGenerator from './generators/monorepo/typescript/MonorepoTypescriptGenerator.js';
43
- import MonorepoWorkspacesGenerator from './generators/monorepo/workspaces/MonorepoWorkspacesGenerator.js';
44
- import PobBaseGenerator from './generators/pob/PobBaseGenerator.js';
45
- import { __dirname } from './pob-dirname.cjs';
10
+ } from "node:fs";
11
+ import path from "node:path";
12
+ import minimist from "minimist";
13
+ import * as yeoman from "yeoman-environment";
14
+ import PobAppGenerator from "./generators/app/PobAppGenerator.js";
15
+ import AppE2ETestingGenerator from "./generators/app/e2e-testing/AppE2ETestingGenerator.js";
16
+ import AppNextjsGenerator from "./generators/app/nextjs/AppNextjsGenerator.js";
17
+ import AppRemixGenerator from "./generators/app/remix/AppRemixGenerator.js";
18
+ import CommonBabelGenerator from "./generators/common/babel/CommonBabelGenerator.js";
19
+ import CommonLintGenerator from "./generators/common/format-lint/CommonLintGenerator.js";
20
+ import CommonHuskyGenerator from "./generators/common/husky/CommonHuskyGenerator.js";
21
+ import CommonRemoveOldDependenciesGenerator from "./generators/common/old-dependencies/CommonRemoveOldDependenciesGenerator.js";
22
+ import CommonReleaseGenerator from "./generators/common/release/CommonReleaseGenerator.js";
23
+ import CommonTestingGenerator from "./generators/common/testing/CommonTestingGenerator.js";
24
+ import CommonTranspilerGenerator from "./generators/common/transpiler/CommonTranspilerGenerator.js";
25
+ import CommonTypescriptGenerator from "./generators/common/typescript/CommonTypescriptGenerator.js";
26
+ import CoreCIGenerator from "./generators/core/ci/CoreCIGenerator.js";
27
+ import CoreCleanGenerator from "./generators/core/clean/CoreCleanGenerator.js";
28
+ import CoreEditorConfigGenerator from "./generators/core/editorconfig/CoreEditorConfigGenerator.js";
29
+ import CoreGitGenerator from "./generators/core/git/CoreGitGenerator.js";
30
+ import CoreGitGithubGenerator from "./generators/core/git/generators/github/CoreGitGithubGenerator.js";
31
+ import CoreGitignoreGenerator from "./generators/core/gitignore/CoreGitignoreGenerator.js";
32
+ import CoreNpmGenerator from "./generators/core/npm/CoreNpmGenerator.js";
33
+ import CorePackageGenerator from "./generators/core/package/CorePackageGenerator.js";
34
+ import CoreRenovateGenerator from "./generators/core/renovate/CoreRenovateGenerator.js";
35
+ import CoreSortPackageGenerator from "./generators/core/sort-package/CoreSortPackageGenerator.js";
36
+ import CoreVSCodeGenerator from "./generators/core/vscode/CoreVSCodeGenerator.js";
37
+ import CoreYarnGenerator from "./generators/core/yarn/CoreYarnGenerator.js";
38
+ import PobLibGenerator from "./generators/lib/PobLibGenerator.js";
39
+ import LibDocGenerator from "./generators/lib/doc/LibDocGenerator.js";
40
+ import LibReadmeGenerator from "./generators/lib/readme/LibReadmeGenerator.js";
41
+ import MonorepoLernaGenerator from "./generators/monorepo/lerna/MonorepoLernaGenerator.js";
42
+ import MonorepoTypescriptGenerator from "./generators/monorepo/typescript/MonorepoTypescriptGenerator.js";
43
+ import MonorepoWorkspacesGenerator from "./generators/monorepo/workspaces/MonorepoWorkspacesGenerator.js";
44
+ import PobBaseGenerator from "./generators/pob/PobBaseGenerator.js";
45
+ import { __dirname } from "./pob-dirname.cjs";
46
46
 
47
47
  const printUsage = () => {
48
- console.error('Usage: pob [monorepo] [lib|app|init]');
49
- console.error(' pob [monorepo] update [--force]');
50
- console.error(' pob add <packageName>');
48
+ console.error("Usage: pob [monorepo] [lib|app|init]");
49
+ console.error(" pob [monorepo] update [--force]");
50
+ console.error(" pob add <packageName>");
51
51
  };
52
52
 
53
53
  const readJson = (filepath) => {
54
54
  try {
55
- return JSON.parse(readFileSync(filepath, 'utf8'));
55
+ return JSON.parse(readFileSync(filepath, "utf8"));
56
56
  } catch {
57
57
  return null;
58
58
  }
@@ -71,233 +71,233 @@ if (argv.version) {
71
71
 
72
72
  const env = yeoman.createEnv();
73
73
 
74
- env.on('error', (err) => {
74
+ env.on("error", (err) => {
75
75
  console.error(err.stack || err.message || err);
76
76
  process.exit(1);
77
77
  });
78
78
 
79
- process.on('uncaughtException', (err) => {
80
- console.log('uncaughtException', err.stack || err.message || err);
79
+ process.on("uncaughtException", (err) => {
80
+ console.log("uncaughtException", err.stack || err.message || err);
81
81
  });
82
82
 
83
83
  env.registerStub(
84
84
  PobBaseGenerator,
85
- 'pob',
86
- `${__dirname}/generators/app/PobAppGenerator.js`,
85
+ "pob",
86
+ `${__dirname}/generators/app/PobAppGenerator.js`
87
87
  );
88
88
  env.registerStub(
89
89
  PobAppGenerator,
90
- 'pob:app',
91
- `${__dirname}/generators/app/PobAppGenerator.js`,
90
+ "pob:app",
91
+ `${__dirname}/generators/app/PobAppGenerator.js`
92
92
  );
93
93
  env.registerStub(
94
94
  AppE2ETestingGenerator,
95
- 'pob:app:e2e-testing',
96
- `${__dirname}/generators/app/e2e-testing/AppE2ETestingGenerator.js`,
95
+ "pob:app:e2e-testing",
96
+ `${__dirname}/generators/app/e2e-testing/AppE2ETestingGenerator.js`
97
97
  );
98
98
  env.registerStub(
99
99
  AppNextjsGenerator,
100
- 'pob:app:nextjs',
101
- `${__dirname}/generators/app/nextjs/AppNextjsGenerator.js`,
100
+ "pob:app:nextjs",
101
+ `${__dirname}/generators/app/nextjs/AppNextjsGenerator.js`
102
102
  );
103
103
  env.registerStub(
104
104
  AppRemixGenerator,
105
- 'pob:app:remix',
106
- `${__dirname}/generators/app/nextjs/AppRemixGenerator.js`,
105
+ "pob:app:remix",
106
+ `${__dirname}/generators/app/nextjs/AppRemixGenerator.js`
107
107
  );
108
108
  env.registerStub(
109
109
  CommonBabelGenerator,
110
- 'pob:common:babel',
111
- `${__dirname}/generators/common/babel/CommonBabelGenerator.js`,
110
+ "pob:common:babel",
111
+ `${__dirname}/generators/common/babel/CommonBabelGenerator.js`
112
112
  );
113
113
  env.registerStub(
114
114
  CommonTranspilerGenerator,
115
- 'pob:common:transpiler',
116
- `${__dirname}/generators/common/transpiler/CommonTranspilerGenerator.js`,
115
+ "pob:common:transpiler",
116
+ `${__dirname}/generators/common/transpiler/CommonTranspilerGenerator.js`
117
117
  );
118
118
  env.registerStub(
119
119
  CommonLintGenerator,
120
- 'pob:common:format-lint',
121
- `${__dirname}/generators/common/format-lint/CommonLintGenerator.js`,
120
+ "pob:common:format-lint",
121
+ `${__dirname}/generators/common/format-lint/CommonLintGenerator.js`
122
122
  );
123
123
  env.registerStub(
124
124
  CommonHuskyGenerator,
125
- 'pob:common:husky',
126
- `${__dirname}/generators/common/husky/CommonHuskyGenerator.js`,
125
+ "pob:common:husky",
126
+ `${__dirname}/generators/common/husky/CommonHuskyGenerator.js`
127
127
  );
128
128
  env.registerStub(
129
129
  CommonRemoveOldDependenciesGenerator,
130
- 'pob:common:remove-old-dependencies',
131
- `${__dirname}/generators/common/old-dependencies/CommonRemoveOldDependenciesGenerator.js`,
130
+ "pob:common:remove-old-dependencies",
131
+ `${__dirname}/generators/common/old-dependencies/CommonRemoveOldDependenciesGenerator.js`
132
132
  );
133
133
  env.registerStub(
134
134
  CommonReleaseGenerator,
135
- 'pob:common:release',
136
- `${__dirname}/generators/common/release/CommonReleaseGenerator.js`,
135
+ "pob:common:release",
136
+ `${__dirname}/generators/common/release/CommonReleaseGenerator.js`
137
137
  );
138
138
  env.registerStub(
139
139
  CommonTestingGenerator,
140
- 'pob:common:testing',
141
- `${__dirname}/generators/common/testing/CommonTestingGenerator.js`,
140
+ "pob:common:testing",
141
+ `${__dirname}/generators/common/testing/CommonTestingGenerator.js`
142
142
  );
143
143
  env.registerStub(
144
144
  CommonTypescriptGenerator,
145
- 'pob:common:typescript',
146
- `${__dirname}/generators/common/typescript/CommonTypescriptGenerator.js`,
145
+ "pob:common:typescript",
146
+ `${__dirname}/generators/common/typescript/CommonTypescriptGenerator.js`
147
147
  );
148
148
  env.registerStub(
149
149
  CoreCIGenerator,
150
- 'pob:core:ci',
151
- `${__dirname}/generators/core/ci/CoreCIGenerator.js`,
150
+ "pob:core:ci",
151
+ `${__dirname}/generators/core/ci/CoreCIGenerator.js`
152
152
  );
153
153
  env.registerStub(
154
154
  CoreCleanGenerator,
155
- 'pob:core:clean',
156
- `${__dirname}/generators/core/clean/CoreCleanGenerator.js`,
155
+ "pob:core:clean",
156
+ `${__dirname}/generators/core/clean/CoreCleanGenerator.js`
157
157
  );
158
158
  env.registerStub(
159
159
  CoreEditorConfigGenerator,
160
- 'pob:core:editorconfig',
161
- `${__dirname}/generators/core/editorconfig/CoreEditorConfigGenerator.js`,
160
+ "pob:core:editorconfig",
161
+ `${__dirname}/generators/core/editorconfig/CoreEditorConfigGenerator.js`
162
162
  );
163
163
  env.registerStub(
164
164
  CoreGitGenerator,
165
- 'pob:core:git',
166
- `${__dirname}/generators/core/git/CoreGitGenerator.js`,
165
+ "pob:core:git",
166
+ `${__dirname}/generators/core/git/CoreGitGenerator.js`
167
167
  );
168
168
  env.registerStub(
169
169
  CoreGitGithubGenerator,
170
- 'pob:core:git:github',
171
- `${__dirname}/generators/core/git/generators/github/CoreGitGithubGenerator.js`,
170
+ "pob:core:git:github",
171
+ `${__dirname}/generators/core/git/generators/github/CoreGitGithubGenerator.js`
172
172
  );
173
173
  env.registerStub(
174
174
  CoreGitignoreGenerator,
175
- 'pob:core:gitignore',
176
- `${__dirname}/generators/core/gitignore/CoreGitignoreGenerator.js`,
175
+ "pob:core:gitignore",
176
+ `${__dirname}/generators/core/gitignore/CoreGitignoreGenerator.js`
177
177
  );
178
178
  env.registerStub(
179
179
  CoreNpmGenerator,
180
- 'pob:core:npm',
181
- `${__dirname}/generators/core/npm/CoreNpmGenerator.js`,
180
+ "pob:core:npm",
181
+ `${__dirname}/generators/core/npm/CoreNpmGenerator.js`
182
182
  );
183
183
  env.registerStub(
184
184
  CorePackageGenerator,
185
- 'pob:core:package',
186
- `${__dirname}/generators/core/package/CorePackageGenerator.js`,
185
+ "pob:core:package",
186
+ `${__dirname}/generators/core/package/CorePackageGenerator.js`
187
187
  );
188
188
  env.registerStub(
189
189
  CoreRenovateGenerator,
190
- 'pob:core:renovate',
191
- `${__dirname}/generators/core/renovate/CoreRenovateGenerator.js`,
190
+ "pob:core:renovate",
191
+ `${__dirname}/generators/core/renovate/CoreRenovateGenerator.js`
192
192
  );
193
193
  env.registerStub(
194
194
  CoreSortPackageGenerator,
195
- 'pob:core:sort-package',
196
- `${__dirname}/generators/core/sort-package/CoreSortPackageGenerator.js`,
195
+ "pob:core:sort-package",
196
+ `${__dirname}/generators/core/sort-package/CoreSortPackageGenerator.js`
197
197
  );
198
198
  env.registerStub(
199
199
  CoreVSCodeGenerator,
200
- 'pob:core:vscode',
201
- `${__dirname}/generators/core/vscode/CoreVSCodeGenerator.js`,
200
+ "pob:core:vscode",
201
+ `${__dirname}/generators/core/vscode/CoreVSCodeGenerator.js`
202
202
  );
203
203
  env.registerStub(
204
204
  CoreYarnGenerator,
205
- 'pob:core:yarn',
206
- `${__dirname}/generators/core/yarn/CoreYarnGenerator.js`,
205
+ "pob:core:yarn",
206
+ `${__dirname}/generators/core/yarn/CoreYarnGenerator.js`
207
207
  );
208
208
  env.registerStub(
209
209
  PobLibGenerator,
210
- 'pob:lib',
211
- `${__dirname}/generators/lib/PobLibGenerator.js`,
210
+ "pob:lib",
211
+ `${__dirname}/generators/lib/PobLibGenerator.js`
212
212
  );
213
213
  env.registerStub(
214
214
  LibDocGenerator,
215
- 'pob:lib:doc',
216
- `${__dirname}/generators/lib/doc/LibDocGenerator.js`,
215
+ "pob:lib:doc",
216
+ `${__dirname}/generators/lib/doc/LibDocGenerator.js`
217
217
  );
218
218
  env.registerStub(
219
219
  LibReadmeGenerator,
220
- 'pob:lib:readme',
221
- `${__dirname}/generators/lib/readme/LibReadmeGenerator.js`,
220
+ "pob:lib:readme",
221
+ `${__dirname}/generators/lib/readme/LibReadmeGenerator.js`
222
222
  );
223
223
  env.registerStub(
224
224
  MonorepoWorkspacesGenerator,
225
- 'pob:monorepo:workspaces',
226
- `${__dirname}/generators/monorepo/workspaces/MonorepoWorkspacesGenerator.js`,
225
+ "pob:monorepo:workspaces",
226
+ `${__dirname}/generators/monorepo/workspaces/MonorepoWorkspacesGenerator.js`
227
227
  );
228
228
  env.registerStub(
229
229
  MonorepoLernaGenerator,
230
- 'pob:monorepo:lerna',
231
- `${__dirname}/generators/monorepo/lerna/MonorepoLernaGenerator.js`,
230
+ "pob:monorepo:lerna",
231
+ `${__dirname}/generators/monorepo/lerna/MonorepoLernaGenerator.js`
232
232
  );
233
233
  env.registerStub(
234
234
  MonorepoTypescriptGenerator,
235
- 'pob:monorepo:typescript',
236
- `${__dirname}/generators/monorepo/typescript/MonorepoTypescriptGenerator.js`,
235
+ "pob:monorepo:typescript",
236
+ `${__dirname}/generators/monorepo/typescript/MonorepoTypescriptGenerator.js`
237
237
  );
238
238
 
239
- const projectPkg = readJson(path.resolve('./package.json'));
240
- const monorepoArg = argv._[0] === 'lerna' || argv._[0] === 'monorepo';
239
+ const projectPkg = readJson(path.resolve("./package.json"));
240
+ const monorepoArg = argv._[0] === "lerna" || argv._[0] === "monorepo";
241
241
  let monorepo = monorepoArg || !!(projectPkg && projectPkg.workspaces);
242
242
  const action = monorepoArg ? argv._[1] : argv._[0];
243
243
 
244
- if (action === 'add') {
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
 
251
251
  const packageName = monorepoArg ? argv._[2] : argv._[1];
252
252
 
253
253
  if (!packageName) {
254
- console.error('Missing argument: packageName');
254
+ console.error("Missing argument: packageName");
255
255
  printUsage();
256
256
  process.exit(1);
257
257
  }
258
- const packagesPath = packageName.startsWith('@')
258
+ const packagesPath = packageName.startsWith("@")
259
259
  ? packageName
260
- : projectPkg.workspaces[0].replace(/\/\*$/, '');
260
+ : projectPkg.workspaces[0].replace(/\/\*$/, "");
261
261
 
262
262
  fs.mkdirSync(`${packagesPath}/${packageName}`, { recursive: true });
263
- writeFileSync(`${packagesPath}/${packageName}/.yo-rc.json`, '{}');
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
- console.log('> Creating new Package');
268
+ console.log("> Creating new Package");
269
269
  spawnSync(process.argv[0], [process.argv[1]], {
270
270
  cwd: `${packagesPath}/${packageName}`,
271
- stdio: 'inherit',
271
+ stdio: "inherit",
272
272
  });
273
273
 
274
- console.log('> Updating monorepo');
275
- spawnSync(process.argv[0], [process.argv[1], 'update'], {
276
- stdio: 'inherit',
274
+ console.log("> Updating monorepo");
275
+ spawnSync(process.argv[0], [process.argv[1], "update"], {
276
+ stdio: "inherit",
277
277
  });
278
278
  process.exit(0);
279
279
  }
280
280
 
281
- if (action === 'migrate-to-monorepo') {
281
+ if (action === "migrate-to-monorepo") {
282
282
  if (projectPkg.workspaces) {
283
- throw new Error('workspaces field already exists in package.json');
283
+ throw new Error("workspaces field already exists in package.json");
284
284
  }
285
285
 
286
- mkdirSync('packages');
286
+ mkdirSync("packages");
287
287
  mkdirSync(`packages/${projectPkg.name}`);
288
288
 
289
- readdirSync('.').forEach((filename) => {
289
+ readdirSync(".").forEach((filename) => {
290
290
  if (
291
291
  ![
292
- '.git',
293
- '.vscode',
294
- '.github',
295
- '.husky',
296
- '.yarn',
297
- '.yarnrc.yml',
298
- 'packages',
299
- 'lint-staged.config.js',
300
- 'yarn.lock',
292
+ ".git",
293
+ ".vscode",
294
+ ".github",
295
+ ".husky",
296
+ ".yarn",
297
+ ".yarnrc.yml",
298
+ "packages",
299
+ "lint-staged.config.js",
300
+ "yarn.lock",
301
301
  ].includes(filename)
302
302
  ) {
303
303
  execSync(`mv "${filename}" "packages/${projectPkg.name}/"`);
@@ -314,29 +314,29 @@ if (action === 'migrate-to-monorepo') {
314
314
  repository: projectPkg.repository,
315
315
  engines: projectPkg.engines,
316
316
  packageManager: projectPkg.packageManager,
317
- workspaces: ['packages/*'],
317
+ workspaces: ["packages/*"],
318
318
  };
319
319
 
320
- writeFileSync('package.json', JSON.stringify(monorepoPkg, null, 2));
320
+ writeFileSync("package.json", JSON.stringify(monorepoPkg, null, 2));
321
321
 
322
322
  monorepo = true;
323
323
  }
324
324
 
325
- const updateOnly = action === 'update';
326
- const init = action === 'init';
325
+ const updateOnly = action === "update";
326
+ const init = action === "init";
327
327
  const type = updateOnly || init ? null : action;
328
- const fromPob = updateOnly && argv._[1] === 'from-pob';
328
+ const fromPob = updateOnly && argv._[1] === "from-pob";
329
329
 
330
- if (!existsSync('.yo-rc.json')) {
330
+ if (!existsSync(".yo-rc.json")) {
331
331
  if (updateOnly) {
332
- throw new Error('Cannot update.');
332
+ throw new Error("Cannot update.");
333
333
  }
334
334
 
335
- writeFileSync('.yo-rc.json', '{}');
335
+ writeFileSync(".yo-rc.json", "{}");
336
336
  }
337
337
 
338
338
  if (
339
- existsSync('lerna.json') ||
339
+ existsSync("lerna.json") ||
340
340
  (projectPkg && (projectPkg.lerna || projectPkg.workspaces))
341
341
  ) {
342
342
  monorepo = true;
@@ -352,7 +352,7 @@ const options = {
352
352
  };
353
353
 
354
354
  try {
355
- await env.run('pob', options);
355
+ await env.run("pob", options);
356
356
  } catch (error) {
357
357
  if (error) {
358
358
  console.error(error.stack || error.message || error);
@@ -1,7 +1,7 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- exports.pobEslintConfig = require('@pob/eslint-config/package.json');
3
+ exports.pobEslintConfig = require("@pob/eslint-config/package.json");
4
4
 
5
- exports.pobEslintConfigTypescript = require('@pob/eslint-config-typescript/package.json');
5
+ exports.pobEslintConfigTypescript = require("@pob/eslint-config-typescript/package.json");
6
6
 
7
- exports.pobEslintConfigTypescriptReact = require('@pob/eslint-config-typescript-react/package.json');
7
+ exports.pobEslintConfigTypescriptReact = require("@pob/eslint-config-typescript-react/package.json");
@@ -1,11 +1,11 @@
1
- import fs from 'node:fs';
2
- import sortPkg from '@pob/sort-pkg';
3
- import prettier from 'prettier';
1
+ import fs from "node:fs";
2
+ import sortPkg from "@pob/sort-pkg";
3
+ import prettier from "prettier";
4
4
 
5
5
  export default function ensureJsonFileFormatted(path) {
6
6
  try {
7
- let contentJson = fs.readFileSync(path, 'utf8');
8
- if (path === 'package.json' || path.endsWith('/package.json')) {
7
+ let contentJson = fs.readFileSync(path, "utf8");
8
+ if (path === "package.json" || path.endsWith("/package.json")) {
9
9
  contentJson = JSON.stringify(sortPkg(JSON.parse(contentJson)), null, 2);
10
10
  }
11
11
  const formattedPkg = prettier.format(contentJson, {
@@ -1,9 +1,9 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import findup from 'findup-sync';
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import findup from "findup-sync";
4
4
 
5
- const lintStagedConfigPath = findup('lint-staged.config.js');
6
- const lintStagedConfigCjsPath = findup('lint-staged.config.cjs');
5
+ const lintStagedConfigPath = findup("lint-staged.config.js");
6
+ const lintStagedConfigCjsPath = findup("lint-staged.config.cjs");
7
7
 
8
8
  const rootMonorepo =
9
9
  lintStagedConfigPath || lintStagedConfigCjsPath
@@ -12,11 +12,11 @@ const rootMonorepo =
12
12
 
13
13
  const rootMonorepoPkg =
14
14
  rootMonorepo &&
15
- JSON.parse(fs.readFileSync(path.resolve(rootMonorepo, 'package.json')));
15
+ JSON.parse(fs.readFileSync(path.resolve(rootMonorepo, "package.json")));
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
 
@@ -37,7 +37,7 @@ const getInMonorepoThings = () => {
37
37
  relative: path
38
38
  .relative(rootMonorepo, cwd)
39
39
  // transform windows to linux-like paths
40
- .replace(/\\+/g, '/'),
40
+ .replace(/\\+/g, "/"),
41
41
  rootYoConfig,
42
42
  pobConfig: rootYoConfig && rootYoConfig.pob,
43
43
  pobMonorepoConfig:
@@ -1,4 +1,4 @@
1
- import JSON5 from 'json5';
1
+ import JSON5 from "json5";
2
2
 
3
3
  export function readJSON5(fs, destinationPath, defaults) {
4
4
  const content = fs.read(destinationPath, { defaults: null });