pob 15.0.3 → 15.1.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/CHANGELOG.md CHANGED
@@ -3,6 +3,19 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [15.1.0](https://github.com/christophehurpeau/pob/compare/pob@15.0.3...pob@15.1.0) (2023-11-11)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **deps:** update dependency @types/inquirer to v9.0.7 ([#1839](https://github.com/christophehurpeau/pob/issues/1839)) ([0f2bfb3](https://github.com/christophehurpeau/pob/commit/0f2bfb3b020287c49aa6a0ee37254a11ed3089cd))
12
+ * **deps:** update yeoman group ([#1810](https://github.com/christophehurpeau/pob/issues/1810)) ([cd69295](https://github.com/christophehurpeau/pob/commit/cd692950f15e4f64c8e392f282f6981c797773eb))
13
+ * **pob:** add missing async/await with composeWith ([4b679d5](https://github.com/christophehurpeau/pob/commit/4b679d521430af32fcd6bf8f0fe5dce53c1e68e6))
14
+
15
+ Version bump for dependency: yarn-workspace-utils
16
+ Version bump for dependency: root
17
+
18
+
6
19
  ## [15.0.3](https://github.com/christophehurpeau/pob/compare/pob@15.0.2...pob@15.0.3) (2023-11-05)
7
20
 
8
21
 
@@ -127,7 +127,7 @@ export default class PobAppGenerator extends Generator {
127
127
  this.config.save();
128
128
  }
129
129
 
130
- default() {
130
+ async default() {
131
131
  const srcDirectory =
132
132
  this.appConfig.type === 'yarn-plugin' ? 'sources' : 'src';
133
133
  const isAppLibrary = this.appConfig.type === 'node-library';
@@ -137,7 +137,7 @@ export default class PobAppGenerator extends Generator {
137
137
  this.appConfig.type === 'node-library' ||
138
138
  this.appConfig.type === 'alp-node'
139
139
  ) {
140
- this.composeWith('pob:common:babel', {
140
+ await this.composeWith('pob:common:babel', {
141
141
  updateOnly: this.options.updateOnly,
142
142
  onlyLatestLTS: true,
143
143
  isApp: true,
@@ -153,7 +153,7 @@ export default class PobAppGenerator extends Generator {
153
153
  const pkg = this.fs.readJSON(this.destinationPath('package.json'));
154
154
 
155
155
  if (!inMonorepo || inMonorepo.root) {
156
- this.composeWith('pob:common:husky', {});
156
+ await this.composeWith('pob:common:husky', {});
157
157
  }
158
158
 
159
159
  const babelEnvs = (pkg.pob && pkg.pob.babelEnvs) || [];
@@ -175,7 +175,7 @@ export default class PobAppGenerator extends Generator {
175
175
  pkg,
176
176
  ).filter(Boolean);
177
177
 
178
- this.composeWith('pob:common:typescript', {
178
+ await this.composeWith('pob:common:typescript', {
179
179
  enable: babel,
180
180
  isApp: true,
181
181
  isAppLibrary,
@@ -206,13 +206,13 @@ export default class PobAppGenerator extends Generator {
206
206
  })(),
207
207
  });
208
208
 
209
- this.composeWith('pob:common:remove-old-dependencies');
209
+ await this.composeWith('pob:common:remove-old-dependencies');
210
210
 
211
211
  const enableReleasePlease =
212
212
  !inMonorepo && this.appConfig.testing && this.appConfig.ci;
213
213
 
214
214
  if (this.appConfig.type !== 'remix') {
215
- this.composeWith('pob:common:testing', {
215
+ await this.composeWith('pob:common:testing', {
216
216
  enable: this.appConfig.testing,
217
217
  disableYarnGitCache: this.options.disableYarnGitCache,
218
218
  enableReleasePlease,
@@ -229,7 +229,7 @@ export default class PobAppGenerator extends Generator {
229
229
  srcDirectory,
230
230
  });
231
231
 
232
- this.composeWith('pob:common:format-lint', {
232
+ await this.composeWith('pob:common:format-lint', {
233
233
  isApp: true,
234
234
  documentation: false,
235
235
  testing: this.appConfig.testing,
@@ -245,7 +245,7 @@ export default class PobAppGenerator extends Generator {
245
245
  buildDirectory: this.appConfig.type === 'expo' ? '.expo' : 'build',
246
246
  });
247
247
 
248
- this.composeWith('pob:common:release', {
248
+ await this.composeWith('pob:common:release', {
249
249
  enable:
250
250
  !inMonorepo &&
251
251
  this.appConfig.testing &&
@@ -260,7 +260,7 @@ export default class PobAppGenerator extends Generator {
260
260
  });
261
261
  }
262
262
 
263
- this.composeWith('pob:core:vscode', {
263
+ await this.composeWith('pob:core:vscode', {
264
264
  root: !inMonorepo,
265
265
  monorepo: false,
266
266
  packageManager: this.options.packageManager,
@@ -274,7 +274,7 @@ export default class PobAppGenerator extends Generator {
274
274
  ignorePaths.push('/.env*', '!/.env.example');
275
275
  }
276
276
 
277
- this.composeWith('pob:core:gitignore', {
277
+ await this.composeWith('pob:core:gitignore', {
278
278
  root: !inMonorepo || inMonorepo.root,
279
279
  documentation: false,
280
280
  testing: this.appConfig.testing,
@@ -283,16 +283,16 @@ export default class PobAppGenerator extends Generator {
283
283
  buildInGit: false,
284
284
  });
285
285
 
286
- this.composeWith('pob:core:npm', { enable: false });
286
+ await this.composeWith('pob:core:npm', { enable: false });
287
287
 
288
288
  switch (this.appConfig.type) {
289
289
  case 'next.js':
290
- this.composeWith('pob:app:nextjs', {
290
+ await this.composeWith('pob:app:nextjs', {
291
291
  export: this.appConfig.export,
292
292
  });
293
293
  break;
294
294
  case 'remix':
295
- this.composeWith('pob:app:remix', {});
295
+ await this.composeWith('pob:app:remix', {});
296
296
  break;
297
297
  }
298
298
 
@@ -305,7 +305,7 @@ export default class PobAppGenerator extends Generator {
305
305
  }
306
306
  }
307
307
 
308
- writing() {
308
+ async writing() {
309
309
  // Re-read the content at this point because a composed generator might modify it.
310
310
  const pkg = this.fs.readJSON(this.destinationPath('package.json'));
311
311
 
@@ -319,6 +319,6 @@ export default class PobAppGenerator extends Generator {
319
319
 
320
320
  this.fs.writeJSON(this.destinationPath('package.json'), pkg);
321
321
 
322
- this.composeWith('pob:core:sort-package');
322
+ await this.composeWith('pob:core:sort-package');
323
323
  }
324
324
  }
@@ -109,9 +109,9 @@ export default class CommonTestingGenerator extends Generator {
109
109
  });
110
110
  }
111
111
 
112
- default() {
112
+ async default() {
113
113
  if (!inMonorepo || inMonorepo.root) {
114
- this.composeWith('pob:core:ci', {
114
+ await this.composeWith('pob:core:ci', {
115
115
  enable: this.options.ci,
116
116
  enableReleasePlease: this.options.enableReleasePlease,
117
117
  enableYarnVersion: this.options.enableYarnVersion,
@@ -127,7 +127,7 @@ export default class CommonTestingGenerator extends Generator {
127
127
  onlyLatestLTS: this.options.onlyLatestLTS,
128
128
  });
129
129
  } else {
130
- this.composeWith('pob:core:ci', {
130
+ await this.composeWith('pob:core:ci', {
131
131
  enable: false,
132
132
  });
133
133
  }
@@ -99,9 +99,9 @@ export default class CoreGitGenerator extends Generator {
99
99
  }
100
100
  }
101
101
 
102
- default() {
102
+ async default() {
103
103
  if (this.gitHost === 'github') {
104
- this.composeWith('pob:core:git:github', {
104
+ await this.composeWith('pob:core:git:github', {
105
105
  shouldCreate: !this.originUrl,
106
106
  gitHostAccount: this.gitHostAccount,
107
107
  repoName: this.repoName,
@@ -156,7 +156,7 @@ export default class CoreYarnGenerator extends Generator {
156
156
  };
157
157
  }
158
158
  config.defaultSemverRangePrefix = this.options.type === 'app' ? '' : '^';
159
- config.enableMessageNames = false;
159
+ delete config.enableMessageNames; // was a config for yarn < 4
160
160
  config.nodeLinker = this.options.yarnNodeLinker;
161
161
 
162
162
  if (config.yarnPath) {
@@ -230,7 +230,7 @@ export default class PobLibGenerator extends Generator {
230
230
 
231
231
  this.fs.writeJSON(this.destinationPath('package.json'), pkg);
232
232
 
233
- this.composeWith('pob:common:babel', {
233
+ await this.composeWith('pob:common:babel', {
234
234
  updateOnly: this.options.updateOnly,
235
235
  testing: !!this.pobjson.testing,
236
236
  documentation: !!this.pobjson.documentation,
@@ -239,7 +239,7 @@ export default class PobLibGenerator extends Generator {
239
239
  });
240
240
  }
241
241
 
242
- default() {
242
+ async default() {
243
243
  const pkg = this.fs.readJSON(this.destinationPath('package.json'));
244
244
  const babelEnvs = pkg.pob.babelEnvs || [];
245
245
 
@@ -248,7 +248,7 @@ export default class PobLibGenerator extends Generator {
248
248
  const browser =
249
249
  withBabel && babelEnvs.some((env) => env.target === 'browser');
250
250
 
251
- this.composeWith('pob:common:typescript', {
251
+ await this.composeWith('pob:common:typescript', {
252
252
  enable: withBabel,
253
253
  isApp: false,
254
254
  dom: browser,
@@ -263,14 +263,14 @@ export default class PobLibGenerator extends Generator {
263
263
  fs.mkdirSync(this.destinationPath('lib'), { recursive: true });
264
264
  }
265
265
 
266
- this.composeWith('pob:common:husky', {});
266
+ await this.composeWith('pob:common:husky', {});
267
267
 
268
- this.composeWith('pob:common:remove-old-dependencies');
268
+ await this.composeWith('pob:common:remove-old-dependencies');
269
269
 
270
270
  const enableReleasePlease =
271
271
  !inMonorepo && this.pobjson.testing && this.pobjson.testing.ci;
272
272
 
273
- this.composeWith('pob:common:testing', {
273
+ await this.composeWith('pob:common:testing', {
274
274
  enable: this.pobjson.testing,
275
275
  disableYarnGitCache: this.options.disableYarnGitCache,
276
276
  enableReleasePlease,
@@ -289,7 +289,7 @@ export default class PobLibGenerator extends Generator {
289
289
  });
290
290
 
291
291
  // must be after testing
292
- this.composeWith('pob:common:format-lint', {
292
+ await this.composeWith('pob:common:format-lint', {
293
293
  documentation:
294
294
  !!this.pobjson.documentation ||
295
295
  !!(this.pobjson.testing && this.pobjson.testing.codecov),
@@ -299,20 +299,20 @@ export default class PobLibGenerator extends Generator {
299
299
  ignorePaths: withBabel ? '/dist' : '',
300
300
  });
301
301
 
302
- this.composeWith('pob:lib:doc', {
302
+ await this.composeWith('pob:lib:doc', {
303
303
  enabled: this.pobjson.documentation,
304
304
  testing: this.pobjson.testing,
305
305
  });
306
306
 
307
307
  // must be after doc, testing
308
- this.composeWith('pob:lib:readme', {
308
+ await this.composeWith('pob:lib:readme', {
309
309
  documentation: !!this.pobjson.documentation,
310
310
  testing: !!this.pobjson.testing,
311
311
  ci: this.pobjson.testing && this.pobjson.testing.ci,
312
312
  codecov: this.pobjson.testing && this.pobjson.testing.codecov,
313
313
  });
314
314
 
315
- this.composeWith('pob:common:release', {
315
+ await this.composeWith('pob:common:release', {
316
316
  enable: !inMonorepo && this.pobjson.testing,
317
317
  enablePublish: true,
318
318
  withBabel: babelEnvs.length > 0,
@@ -323,7 +323,7 @@ export default class PobLibGenerator extends Generator {
323
323
  updateOnly: this.options.updateOnly,
324
324
  });
325
325
 
326
- this.composeWith('pob:core:vscode', {
326
+ await this.composeWith('pob:core:vscode', {
327
327
  root: !inMonorepo,
328
328
  monorepo: false,
329
329
  packageManager: this.options.packageManager,
@@ -333,7 +333,7 @@ export default class PobLibGenerator extends Generator {
333
333
  });
334
334
 
335
335
  // must be after doc, testing
336
- this.composeWith('pob:core:gitignore', {
336
+ await this.composeWith('pob:core:gitignore', {
337
337
  root: !inMonorepo,
338
338
  withBabel: babelEnvs.length > 0,
339
339
  typescript: babelEnvs.length > 0,
@@ -341,14 +341,14 @@ export default class PobLibGenerator extends Generator {
341
341
  testing: !!this.pobjson.testing,
342
342
  });
343
343
 
344
- this.composeWith('pob:core:npm', {
344
+ await this.composeWith('pob:core:npm', {
345
345
  enable: !pkg.private,
346
346
  srcDirectory: withBabel ? 'src' : 'lib',
347
347
  distDirectory: withBabel ? 'dist' : '',
348
348
  });
349
349
  }
350
350
 
351
- writing() {
351
+ async writing() {
352
352
  // Re-read the content at this point because a composed generator might modify it.
353
353
  const pkg = this.fs.readJSON(this.destinationPath('package.json'));
354
354
 
@@ -412,6 +412,6 @@ export default class PobLibGenerator extends Generator {
412
412
  this.config.set('lib', pobjson);
413
413
  this.config.save();
414
414
 
415
- this.composeWith('pob:core:sort-package');
415
+ await this.composeWith('pob:core:sort-package');
416
416
  }
417
417
  }
@@ -201,7 +201,7 @@ export default class PobMonorepoGenerator extends Generator {
201
201
  this.config.delete('pob-config');
202
202
  }
203
203
 
204
- default() {
204
+ async default() {
205
205
  const pkg = this.fs.readJSON(this.destinationPath('package.json'), {});
206
206
 
207
207
  const packageNames = this.packageNames;
@@ -216,13 +216,13 @@ export default class PobMonorepoGenerator extends Generator {
216
216
  throw new Error('packages should not be empty');
217
217
  }
218
218
 
219
- this.composeWith('pob:common:husky', {});
219
+ await this.composeWith('pob:common:husky', {});
220
220
 
221
221
  const isYarnVersionEnabled = this.pobLernaConfig.ci;
222
222
 
223
223
  const splitCIJobs = this.packageNames.length > 8;
224
224
 
225
- this.composeWith('pob:common:testing', {
225
+ await this.composeWith('pob:common:testing', {
226
226
  monorepo: true,
227
227
  enable: this.pobLernaConfig.testing,
228
228
  disableYarnGitCache: this.options.disableYarnGitCache,
@@ -240,7 +240,7 @@ export default class PobMonorepoGenerator extends Generator {
240
240
  splitCIJobs,
241
241
  });
242
242
 
243
- this.composeWith('pob:common:format-lint', {
243
+ await this.composeWith('pob:common:format-lint', {
244
244
  monorepo: true,
245
245
  documentation: this.pobLernaConfig.documentation,
246
246
  typescript: this.pobLernaConfig.typescript,
@@ -257,7 +257,7 @@ export default class PobMonorepoGenerator extends Generator {
257
257
  rootIgnorePaths: [],
258
258
  });
259
259
 
260
- this.composeWith('pob:lib:doc', {
260
+ await this.composeWith('pob:lib:doc', {
261
261
  enabled: this.pobLernaConfig.documentation,
262
262
  testing: this.pobLernaConfig.testing,
263
263
  packageNames: JSON.stringify(packageNames),
@@ -265,7 +265,7 @@ export default class PobMonorepoGenerator extends Generator {
265
265
  packageManager: this.options.packageManager,
266
266
  });
267
267
 
268
- this.composeWith('pob:core:vscode', {
268
+ await this.composeWith('pob:core:vscode', {
269
269
  root: true,
270
270
  monorepo: true,
271
271
  packageManager: this.options.packageManager,
@@ -277,16 +277,16 @@ export default class PobMonorepoGenerator extends Generator {
277
277
  });
278
278
 
279
279
  // Always add a gitignore, because npm publish uses it.
280
- this.composeWith('pob:core:gitignore', {
280
+ await this.composeWith('pob:core:gitignore', {
281
281
  root: true,
282
282
  typescript: this.pobLernaConfig.typescript,
283
283
  documentation: this.pobLernaConfig.documentation,
284
284
  testing: this.pobLernaConfig.testing,
285
285
  });
286
286
 
287
- this.composeWith('pob:common:remove-old-dependencies');
287
+ await this.composeWith('pob:common:remove-old-dependencies');
288
288
 
289
- this.composeWith('pob:common:release', {
289
+ await this.composeWith('pob:common:release', {
290
290
  enable: true,
291
291
  enablePublish: !this.options.isAppProject,
292
292
  withBabel: this.pobLernaConfig.typescript,
@@ -297,7 +297,7 @@ export default class PobMonorepoGenerator extends Generator {
297
297
  updateOnly: this.options.updateOnly,
298
298
  });
299
299
 
300
- this.composeWith('pob:monorepo:typescript', {
300
+ await this.composeWith('pob:monorepo:typescript', {
301
301
  enable: this.pobLernaConfig.typescript,
302
302
  isAppProject: this.options.isAppProject,
303
303
  packageNames: JSON.stringify(packageNames),
@@ -313,7 +313,7 @@ export default class PobMonorepoGenerator extends Generator {
313
313
  }
314
314
  }
315
315
 
316
- writing() {
316
+ async writing() {
317
317
  if (!this.options.isAppProject) {
318
318
  const pkg = this.fs.readJSON(this.destinationPath('package.json'), {});
319
319
 
@@ -352,7 +352,7 @@ export default class PobMonorepoGenerator extends Generator {
352
352
  this.fs.writeJSON(this.destinationPath('package.json'), pkg);
353
353
  }
354
354
 
355
- this.composeWith('pob:core:sort-package');
355
+ await this.composeWith('pob:core:sort-package');
356
356
  }
357
357
 
358
358
  end() {
@@ -113,15 +113,15 @@ export default class PobBaseGenerator extends Generator {
113
113
  this.config.set('project', this.projectConfig);
114
114
  }
115
115
 
116
- default() {
117
- this.composeWith('pob:core:yarn', {
116
+ async default() {
117
+ await this.composeWith('pob:core:yarn', {
118
118
  type: this.projectConfig.type,
119
119
  enable: this.isRoot && this.projectConfig.packageManager === 'yarn',
120
120
  yarnNodeLinker: this.projectConfig.yarnNodeLinker,
121
121
  disableYarnGitCache: this.projectConfig.disableYarnGitCache,
122
122
  });
123
123
 
124
- this.composeWith('pob:core:package', {
124
+ await this.composeWith('pob:core:package', {
125
125
  updateOnly: this.options.updateOnly,
126
126
  private: this.isMonorepo,
127
127
  isMonorepo: this.isMonorepo,
@@ -130,13 +130,13 @@ export default class PobBaseGenerator extends Generator {
130
130
  });
131
131
 
132
132
  if (this.isMonorepo) {
133
- this.composeWith('pob:monorepo:workspaces', {
133
+ await this.composeWith('pob:monorepo:workspaces', {
134
134
  force: this.options.force,
135
135
  isAppProject: this.projectConfig.type === 'app',
136
136
  packageManager: this.projectConfig.packageManager,
137
137
  disableYarnGitCache: this.projectConfig.disableYarnGitCache,
138
138
  });
139
- this.composeWith('pob:monorepo:lerna', {
139
+ await this.composeWith('pob:monorepo:lerna', {
140
140
  force: this.options.force,
141
141
  isAppProject: this.projectConfig.type === 'app',
142
142
  packageManager: this.projectConfig.packageManager,
@@ -147,13 +147,13 @@ export default class PobBaseGenerator extends Generator {
147
147
  this.fs.delete('Makefile');
148
148
  this.fs.delete(this.destinationPath('.commitrc.js'));
149
149
 
150
- this.composeWith('pob:core:editorconfig');
150
+ await this.composeWith('pob:core:editorconfig');
151
151
 
152
- this.composeWith('pob:core:clean', {
152
+ await this.composeWith('pob:core:clean', {
153
153
  root: this.isRoot,
154
154
  });
155
155
 
156
- this.composeWith('pob:core:renovate', {
156
+ await this.composeWith('pob:core:renovate', {
157
157
  updateOnly: this.options.updateOnly,
158
158
  app: this.projectConfig.type === 'app',
159
159
  });
@@ -167,7 +167,7 @@ export default class PobBaseGenerator extends Generator {
167
167
  if (!this.hasAncestor) {
168
168
  const splitCIJobs =
169
169
  inMonorepo && inMonorepo.pobMonorepoConfig?.packageNames.length > 8;
170
- this.composeWith('pob:core:git', {
170
+ await this.composeWith('pob:core:git', {
171
171
  onlyLatestLTS,
172
172
  splitCIJobs,
173
173
  });
@@ -192,7 +192,7 @@ export default class PobBaseGenerator extends Generator {
192
192
  }
193
193
 
194
194
  if (this.isMonorepo) {
195
- this.composeWith(
195
+ await this.composeWith(
196
196
  // pob:monorepo <= for searching PobMonorepoGenerator.js
197
197
  fileURLToPath(
198
198
  new URL('../monorepo/PobMonorepoGenerator.js', import.meta.url),
@@ -209,7 +209,7 @@ export default class PobBaseGenerator extends Generator {
209
209
  } else {
210
210
  switch (this.projectConfig.type) {
211
211
  case 'lib':
212
- this.composeWith('pob:lib', {
212
+ await this.composeWith('pob:lib', {
213
213
  monorepo: this.isMonorepo,
214
214
  isRoot: this.isRoot,
215
215
  disableYarnGitCache: this.projectConfig.disableYarnGitCache,
@@ -220,7 +220,7 @@ export default class PobBaseGenerator extends Generator {
220
220
  });
221
221
  break;
222
222
  case 'app':
223
- this.composeWith('pob:app', {
223
+ await this.composeWith('pob:app', {
224
224
  monorepo: this.isMonorepo,
225
225
  isRoot: this.isRoot,
226
226
  disableYarnGitCache: this.projectConfig.disableYarnGitCache,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pob",
3
- "version": "15.0.3",
3
+ "version": "15.1.0",
4
4
  "description": "Pile of bones, library generator with git/babel/typescript/typedoc/readme/jest",
5
5
  "keywords": [
6
6
  "skeleton"
@@ -46,7 +46,7 @@
46
46
  "@pob/sort-eslint-config": "5.1.0",
47
47
  "@pob/sort-object": "6.1.0",
48
48
  "@pob/sort-pkg": "6.1.0",
49
- "@types/inquirer": "9.0.6",
49
+ "@types/inquirer": "9.0.7",
50
50
  "@yarnpkg/cli": "4.0.1",
51
51
  "@yarnpkg/core": "4.0.1",
52
52
  "@yarnpkg/fslib": "3.0.1",
@@ -60,18 +60,18 @@
60
60
  "json5": "^2.2.2",
61
61
  "lodash.camelcase": "^4.3.0",
62
62
  "lodash.kebabcase": "^4.1.1",
63
- "mem-fs": "3.0.0",
64
- "mem-fs-editor": "10.0.3",
63
+ "mem-fs": "4.0.0",
64
+ "mem-fs-editor": "11.0.0",
65
65
  "minimist": "1.2.8",
66
66
  "parse-author": "2.0.0",
67
- "pob-dependencies": "8.9.2",
67
+ "pob-dependencies": "8.9.3",
68
68
  "prettier": "2.8.8",
69
69
  "semver": "7.5.4",
70
- "yarn-workspace-utils": "1.2.2",
71
- "yeoman-environment": "4.0.0-beta.5",
72
- "yeoman-generator": "6.0.0-rc.6"
70
+ "yarn-workspace-utils": "1.2.3",
71
+ "yeoman-environment": "4.0.0",
72
+ "yeoman-generator": "7.1.0"
73
73
  },
74
74
  "devDependencies": {
75
- "@pob/root": "8.6.0"
75
+ "@pob/root": "8.7.0"
76
76
  }
77
77
  }